(5)读书笔记 —— 心中有数
- 最小二乘法
使用最小二乘法,将下列数据拟合为线性方程 y = b0 + b1 * x
1 | |

167.8
1 | |
167.8
18.410000000000004
1 | |
0.16123403754487142
这里求b1也可以采用化简后的公式
1 | |
0.16123403754487145
1 | |
-8.645071500029427
得知线性方程为y = -8.645 + 0.1612 * x
将直线和点画在同一张图上
1 | |
[<matplotlib.lines.Line2D at 0x3b011a0>]

如何求二进制内1的个数
已知一个数n,求n的二进制表示中1的个数,不断求 n & n -1, 直到n为0即可。1
2
3
4
5
6
7
8
9int count_bit1(int num) {
int res = 0;
while (num != 0) {
num = num & (num -1);
res++;
}
return res;
}如何求一个二进制的位数
已知一个数n,求它的二进制位数,就是不断右移直到n为0为止。1
2
3
4
5
6
7
8
9int count_bit(int num) {
int res = 0;
while (num != 0) {
num = num >> 1;
res++;
}
return res;
}多样性红利与病态方程组
任何人都可能会有认知盲点,而站在不同角度的人在一起讨论后达成的共识,往往最接近真相。
一个方程,就是从一个角度观察得到的结果。如果我们从多个角度进行观察,就会得到方程组。解方程组,就是结合多个角度观察的结果,找到内在本质的过程。
每条直线都代表一个观察的角度,而直线的交点就是站在多个角度达成的共识。
病态方程组,是对噪声极为敏感的方程组。
这个方程的解为
但是如果,在实际生活中测量出现了一点误差,方程组如下时
这个方程的解就变为了
1 | |

如图所示,两条直线的斜率非常接近,只要稍微变化一点,交点位置就会有很大变化。如果说两个直线的交点就是两个人的共识,那么如果想要让这个共识更能接近事实的真相,就需要这两个人的观察角度要有很大的差别,站在有较大差异的角度进行观察后得出的共识,才有意义。
频繁的小确幸要比偶尔的大幸福更好。
根据卷积共识,频繁的小确幸可以将幸福水平一直维持在比较高的水平,然而偶尔的大幸福虽然水平很高,但下降的也快,整体看上去不如小确幸的水平高。每当伦敦的出租车驾驶员穿夹克,发生车祸的概率就会大大增加。
然而是因为下雨时,驾驶员经常穿夹克;下雨时道路湿滑,自然发生车祸概率大。
不要把相关性,判断成因果性。卡尔曼滤波器,状态和观测方程。
判断一个事情要同时根据事情当前状态和本身的变化规律。正反馈和负反馈
好的和坏的,只有一线之隔。找准好的底层设计,不要总是动上层优化。
大数定律
努力提高基础概率,并且不断重复才能成功。最小二乘法
当你无法找到一条完全符合的直线时(或许也不需要),选一条最符合趋势的即可。成长
复杂的机器必然是逐步,而且是间接的完善的。你无法做出一款完美的产品,但是可以做出一款能用的,并且逐渐迭代到完美。问题不好解决,那就变换形态去解决
解决完了,变回去就得了。生活中的调制解调,高压输电。模拟退火
很多时候,需要多找完全不同的点试一试,如果死磕一个高峰,很容易陷入局部最优。机器学习
主动学习,从差距中学习,多任务学习,迁移学习,元学习更注重的其实是学习方法。
这里的多任务学习相对的是单任务学习,即一段时间只做一件事情。奇异值分解
如何清晰的表达一件事?
请使用,由主到次的增量式表达。
tips:python 安装pip
python -m ensurepip –default-pip找到python安装路径
进入python shell
输入
import sys
sys.path
就会打印出当前使用的python路径使用jupyter lab 先使用python写出代码和绘图,而后转成markdown放于笔记中。
如何打开jupyter lab
进入cmd, 输入jupyter lab