1.统计学习
概念:
假设空间
评价准则
统计学习步骤
2. 统计学习分类
2.1 基本分类
1)监督学习
概念:
输入空间、特征空间、输出空间、特征向量、假设空间
回归问题:输入/输出变量均为连续变量
分类问题:输出变量为有限个离散变量
标注问题:输入/输出变量均为变量序列
联合概率分布、条件概率分布
2)无监督学习
3)强化学习
4)【半监督学习】 & 主动学习
2.2 按模型分类
1)概率模型、非概率模型
概率模型:条件概率分布形式:P(y | x)
非概率模型:函数形式:y = f(x)
2)线性模型、非线性模型
3)参数化模型、非参数化模型
2.3 按算法分类
在线学习、批量学习
2.4 贝叶斯学习、核方法
1)贝叶斯学习
2)核方法:使用核函数表示和学习非线性模型的方法
把线性模型扩展到非线性模型,方法:显式定义从输入空间(低维)到特征空间(高维)的映射,在特征空间中进行内积计算
核方法: 不显式定义从输入空间到特征空间的映射,而是直接定义【核函数】,表示映射之后在特征空间的内积,从而简化计算
3. 统计学习方法三要素
【模型、策略、算法】
策略:【重点概念】
损失函数(0-1loss、平方loss、绝对loss、对数loss)
风险函数(即期望风险、期望损失):基于联合分布的平均损失
经验风险(即经验损失):基于训练集的平均损失
经验风险——>期望风险:
1)经验风险最小化
2)结构风险最小化:
在经验风险的基础上,添加正则化项or罚项,表示模型复杂度
结构风险小要求:经验风险、模型复杂度,同时小
4. 过拟合
【出现过拟合的原因】
-
训练集的数量级和模型的复杂度不匹配。训练集的数量级要小于模型的复杂度;
-
训练集和测试集特征分布不一致;
-
样本里的噪音数据干扰过大,大到模型过分记住了噪音特征,反而忽略了真实的输入输出间的关系;
-
权值学习迭代次数足够多(Overtraining),拟合了训练数据中的噪声和训练样例中没有代表性的特征。
【解决方案】
(simpler model structure、 data augmentation、 regularization、 dropout、early stopping、ensemble、重新清洗数据)
-
simpler model structure
调小模型复杂度,使其适合自己训练集的数量级(缩小宽度和减小深度) -
data augmentation
训练集越多,过拟合的概率越小。在计算机视觉领域中,增广的方式是对图像旋转,缩放,剪切,添加噪声等。 -
regularization 正则化
参数太多,会导致我们的模型复杂度上升,容易过拟合,也就是我们的训练误差会很小。 正则化是指通过引入额外新信息来解决机器学习中过拟合问题的一种方法。这种额外信息通常的形式是【模型复杂性带来的惩罚度】。 正则化可以保持模型简单,另外,规则项的使用还可以约束我们的模型的特性。 -
dropout
这个方法在神经网络里面很常用。dropout方法是ImageNet中提出的一种方法,通俗一点讲就是dropout方法在训练的时候让神经元以一定的概率不工作。具体看下图:
如上图所示,左边a图是没用用dropout方法的标准神经网络,右边b图是在训练过程中使用了dropout方法的神经网络,即在训练时候以一定的概率p来跳过一定的神经元。
5、 early stopping
对模型进行训练的过程即是对模型的参数进行学习更新的过程,这个参数学习的过程往往会用到一些迭代方法,如梯度下降(Gradient descent)学习算法。Early stopping便是一种迭代次数截断的方法来防止过拟合的方法,即在模型对训练数据集迭代收敛之前停止迭代来防止过拟合。
Early stopping方法的具体做法是,在每一个Epoch结束时(一个Epoch集为对所有的训练数据的一轮遍历)计算validation data的accuracy,当accuracy不再提高时,就停止训练。这种做法很符合直观感受,因为accurary都不再提高了,在继续训练也是无益的,只会提高训练的时间。那么该做法的一个重点便是怎样才认为validation accurary不再提高了呢?并不是说validation accuracy一降下来便认为不再提高了,因为可能经过这个Epoch后,accuracy降低了,但是随后的Epoch又让accuracy又上去了,所以不能根据一两次的连续降低就判断不再提高。一般的做法是,在训练的过程中,记录到目前为止最好的validation accuracy,当连续10次Epoch(或者更多次)没达到最佳accuracy时,则可以认为accuracy不再提高了。此时便可以停止迭代了(Early Stopping)。这种策略也称为“No-improvement-in-n”,n即Epoch的次数,可以根据实际情况取,如10、20、30……
-
ensemble
集成学习算法也可以有效的减轻过拟合。Bagging通过平均多个模型的结果,来降低模型的方差。Boosting不仅能够减小偏差,还能减小方差。 -
重新清洗数据
数据清洗从名字上也看的出就是把“脏”的“洗掉”,指发现并纠正数据文件中可识别的错误的最后一道程序,包括检查数据一致性,处理无效值和缺失值等。导致过拟合的一个原因也有可能是数据不纯导致的,如果出现了过拟合就需要我们重新清洗数据。
5. 模型选择:交叉验证
1)简单交叉验证
2)S折交叉验证
数据等分为S份,每轮用S-1份作训练集,1份做测试集,共进行S轮训练,最终选择S轮种平均测试误差最小的模型
3)留一交叉验证
6. 泛化误差、生成模型、判别模型【盲点】
7. 监督学习应用
1)分类问题
二分类测评指标:准确度Acc、精确度Pre、召回率Recall、F1
单标签多分类测评指标:对Acc、Pre、Recall、F1进行:微平均 or 宏平均
2)标注问题
3)回归问题
进行函数拟合,找到输入变量到输出变量之间的映射函数
【最常用损失函数:平方loss】
按输入变量个数分类:一元回归、多元回归
按输入输出变量关系分类:线性回归、非线性回归