第一章 绪论
1.4 归纳偏好
“没有免费的午餐”定理
No Free Lunch Theorem (NFL)定理,每个算法的期望性能都相同,证明方法见P8。但这只是考虑所有的情况出现的概率都是一样的才能推导出来的,但是实际上所有的情况不可能均等机会出现。当然我们在设计机器学习算法时也不能脱离实际问题,永远也不可能有适合任何情况的算法。
第二章 模型评估与选择
2.2 评估方法
样本量够的时候用交叉验证,样本量小的时候用自助法。
留出法
留出法(hold-out)包括交叉验证法(cross validation),适合大数据样本。
优点: 受样本随机划分方式影响小。
缺点: 实际模型和用于验证的模型的样本集规模有差异,会引入估计误差,且该方法计算复杂度高。
自助法
自助法(bootstraping)是有放回的采样一个与原样本集D数量相同的样本集D’,这样会有大概36.8%的样本不会出现在样本集D’中,用没出现的这部分作为验证集,这样可以使得用于验证的模型也可以用样本规模一样的D’来作为训练集。
优点: 数据量小时也可以采样出多个不同的样本量一致的样本集。
缺点: 改变了数据集的分布。
2.3 性能度量
回归问题
均方误差(mean squared error),给定样例集$D={(x_1,y_1), (x_2,y_2),…,(x_m,ym)}$,
$$E(f;D)=\frac{1}{m}\sum{i=1}^m(f(x_i)-y_i)^2$$
分类问题
错误率
$$E(f;D)=\frac{1}{m}\sum_{i=1}^m\mathbb I(f(x_i)\ne yi)$$
精度
$$\begin{equation}\begin{split}acc(f;D)&=\frac{1}{m}\sum{i=1}^m\mathbb I(f(x_i)=y_i)\\
&=1-E(f;D)\end{split}\end{equation}$$
其中$\mathbb I$指的是指示函数,返回0或者1。
分类结果混淆矩阵(confusion matrix)
查准率P(precision),亦称准确率;查全率R(recall),亦称召回率。
$$P=\frac{TP}{TP+FP}$$
$$R=\frac{TP}{TP+FN}$$
F1度量为查准率和查全率的调和平均
$$F1=\frac{2\times P\times R}{P+R}$$
第三章 线性模型
3.2 线性回归
我们先来看特征为一维的情况,试图学得$f(x_i)=\omega x_i+b$使得$f(x_i)\simeq yi$。
$$\begin{equation}\begin{split}(\omega^,b^)&=\mathop\arg\min{(w,b)}\sum_{i=1}^m(f(x_i)-yi)^2\\
&=\mathop\arg\min{(w,b)}\sum_{i=1}^m(y_i-\omega xi-b)^2\end{split}\end{equation}$$
用最小二乘法,令$E{(w,b)}=\sum_{i=1}^m(y_i-\omega xi-b)^2$,则
$$\frac{\partial E{(w,b)}}{\partial\omega}=2\big(\omega\sum_{i=1}^mxi^2-\sum{i=1}^{m}(y_i-b)xi\big)$$
$$\frac{\partial E{(w,b)}}{\partial b}=2\big(mb-\sum_{i=1}^m(y_i-\omega xi)\big)$$
让上面两个式子为0,可以求得,
$$\omega=\frac{\sum{i=1}^m(y_i-\bar y)xi}{\sum{i=1}^mx_i^2-m\bar x^2}$$
$$b=\bar y-\omega\bar x$$
这两个式子和书上的形式有所不同,但是实际上是一样的。
再来看看多维的情况,我们为了简化公式,把$\omega$和b这两个参数放在一个向量里,$\hat\omega=(\omega;b)$,特征向量则在末尾添加一个1,如同书的P55那样。