第1章 统计学习方法概论
----------------------------------------------------------------------------------------------------------------------------
注: 这是机器学习的入门知识,也是很规范化的东西,我力求用最简单,最通俗的语言描述出来,然后附上Python版本代码和例子。
本人南京理工大学计算机硕士,主攻方向 : 自然语言处理,数据挖掘和机器学习,导师:RuiXia
----------------------------------------------------------------------------------------------------------------------------
本章讲解内容:
1.1 统计学习
1.2 监督学习
1.3 统计学习三要素
1.4 模型评估与模型选择
1.5 正则化与交叉验证
1.6 泛化能力
1.7 生成模型与判别模型
1.8 分类问题,标注问题与回归问题
--------------------------------------------------------------------------------------------------------------------------------------------------------------------
1.1 统计学习
<统计学习方法3要素 = 模型 + 策略 + 算法>
统计学习以计算机及网络为平台,以数据为研究对象(数据分为两类:连续变量和离散变量),构建模型并应用模型进行分析和预测。其主要流程就是:从数据出发,提取数据的特征,抽象出数据的模型,发现数据中的知识,又回到对数据的分析与预测中去。特别是对未知新数据进行预测与分析。
(1)统计学习方法的总步骤:
后面关于模型,策略,算法 我们会一一解释。
(2)统计学习方法的分类
- 监督学习(supervised learning)
- 非监督学习(unsupervised learning)
- 半监督学习(semi-supervised learning)
- 强化学习(reinforcement learning)
强烈推荐 谷歌scikit-learn 总结了 6大类 (分类 回归 聚合 降维 模型选择 预处理 )及Python源代码:http://scikit-learn.org/stable/
----------------------------------------------------------------------------------------------------------------------------------------------------------------
1.2 监督学习
概念:利用一组已知类别的样本调整分类器的参数,使其达到所要求性能的 过程,也称为监督训练。也就是说样本必须带 类别或者称为标签
(1)输入空间:在监督学习中,将输入所有可能取值的集合称为 输入空间
(2)特征空间:每个具体的输入是一个实例,通常由特征向量表示,特征向量的空间叫做特征空间
(3)输出空间:在监督学习中,将输出所有可能取值的集合称为 输出空间
监督学习 从 训练数据集(训练集 training data) 中学习模型调整参数,对 测试数据集(测试集 test data )进行预测
- 回归问题:输入变量与输出变量均为连续变量的预测问题
- 分类问题:输出变量为有限个离散变量输入的预测问题
- 标注问题:输入变量与输出变量均为变量序列的预测问题
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
1.3 统计学习三要素
(1)模型
分两类:判别式模型 和 生成式模型(后面会细细讲解)
判别式模型:也成决策函数:主要通过最后函数和某个值得比较,例如 F>0 为第一类,F<0为第二类来判别,多类的话就有多个F ,通过多个F值交叉判断类别
生成式模型:又称为 概率模型,主要最后根据那个概率大,就是那个类别,当然所有概率之和必为 1
(2) 策略
有了假设模型之后呢,我们接下来考虑的就是 按照什么规则或准则,方法保证我们的模型会向着我们期望的方向发展呢
在这我们必须了解两个概念: 损失函数 和 风险函数
损失函数 度量模型一次预测的好坏。风险函数 度量平均意义下的模型预测的好坏。
(2.1)损失函数(loss function),又叫做 代价函数(cost function)
通俗的说呢:就是预测值和我们理想值之间的差距大小。
损失函数值越小,模型就越好,因为我们预测值更接近真实值啊,这就是策略,至于如何让损失函数减小,我们就要看后面的算法了。
(2.2)风险函数(risk function),又叫做 期望损失(excepted loss)
概念:就是 理论上的假设模型 f(X) 关于 联合分布 P(X,Y)的平均意义下的损失,说白了就是平均损失啊
------------------------结论:-------------------------
当样本容量很大时,采用经验风险最小化,效果理想
当样本容量较小时,如果还采用这种方式,很容易 形成 ‘过拟合现象 (over-fitting)’
因此我们需要引入 结构风险最小化(structual risk minimization),是为了防止过拟合现象而提出的策略,结构风险最小化等价于正则化(regularization),结构风险就是在经验风险上加上表示模型复杂度的正则化项(regularizer)或者罚项(penalty term)
(3) 算法
问题:策略选取正确了,就是说能保证我们的 loss fucntion 损失函数或代价函数的值变小,但是具体的改如何变小呢?改用那些方法呢??
其实这个主要 就是 最优化工程里的知识了,我还没学哦
主要有:
- 梯度下降法
- 牛顿法和拟牛顿法
- 坐标轮转法
----------------------------------------------------------------------------------------------------------------------------------------------------------------------
1.4 模型评估和模型选择
统计学习的目的不仅仅是对已知数据 更加重要的是对未知的数据都能有很好的预测能力
不同的学习方法我们会有不同的模型。基于我们提出了
- 训练误差(training error):
- 测试误差(test error)
误差率用 e 表示 就是估计错误的个数除以总个数,正确率用 r 表示,就是 估计正确的个数除以总个数
(1)过拟合与模型选择
过拟合:是指学习的时候选择的模型所包含的参数过多,以致于这一模型对已知数据预测的很好,但是对于未知的数据预测效果却很差的现象
模型选择:旨在避免过拟合现象并提高模型的预测能力
从图中我们可以看到,M =0 ,M= 1是均是直线,效果很差,M=9是百分百拟合,这样对未来未知数据效果也会很差,而M=3才是我们所要选择的模型啊