西瓜书学习笔记

第一章 绪论

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)


真实情况
预测结果


正例
反例


正例
TP(真正例)
FN(假反例)


反例
FP(假正例)
TN(真反例)


查准率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那样。