1.1统计学习:
1.学习的概念
一个系统通过执行某些过程从而提高性能。类似于人类大的学习过程,通过不断的采用某种方式(算法)练习(执行算法程序),从中获取经验,根据经验总结找到自身问题并进行改正(调整参数),从而提高自身学习能力(泛化能力)。
2.学习的对象
学习的对象包括一切数据,例如:图片、文字、数字、视频、音频等等,通过提取数据的特征,抽象数据的模型,发现数据中的知识,对这些知识进行分类找到其中的关系从而进行进一步的分析和预测。
3.统计学习的目的
通过对已有数据的分析得到的经验,作用于未知数据进行预测从而获得新的发现。就像我们在通过不断模仿大牛们的高效率code,整理出经验,把这些经验用于我们自己的项目中,解决了实际问题的同时也有了新的发现。
4.统计学习的方法
监督学习、半监督学习、非监督学习、强化学习
1.2监督学习
1.输入空间、输出空间、特征空间
输入空间:数据的一些特征的参数
特征空间:由多特征组成的特征向量,简单来讲输入空间和特征空间可以合并成一个空间。后面所说的模型就是在特征空间中定义的
输出空间:最后所要求的的结果,输出预测时,写作P(y|x)或y = f(x)
假设空间:在输入和输出空间之间,其中包括后面所要说的学习三要素:模型、策略、算法
关系:将输入空间映射道假设空间从而得到最后的结果即输出空间
训练数据:有输入空间和输出空间的向量
测试数据:只有输入空间,输出空间需要经过学习得到
关系:通过把测试数据的输入(特征)空间映射到训练数据得到的假设空间,从而预测出测试数据的输出空间
2.联合概率分布
P(X,Y)表示分布函数,假设X和Y之间存在统计规律,则P(X,Y)就表示这个假设,存在于假设空间。对于学习系统来说联合概率分布的具体定义是未知的。训练数据与测试数据被看作是依联合概率分布P(X,Y)独立同分布产生的
1.3统计学习三要素
模型:所要学习的条件概率或决策函数,简单来讲就是把某个算法具体要进行学习的方式通过概率或函数用数学的方式表现出来
策略:有了模型,知道了解决什么问题,接下来要考虑的是如何解决问题,用什么方式或者准则来学习或者选择最优的模型,这就是学习策略。
学习策略=代价函数+风险最小化
代价函数一般有四种:
(1)0-1损失函数
(2)平方损失函数
(3)绝对损失函数
(4)对数损失函数
损失函数越小模型就越好,也就是选择模型期望风险最小的:
其中p(x,y)是联合概率,表示的是模型中输入x和输出y两者同时为某一值的概率,但是p(x,y)一般是不可知的,正因为不知道联合概率分布才需要进行学习,通过最小化期望风险来找到未知的联合概率分布。
期望风险只是理想理论值,一般在学习过程中得到的都是经验风险:
根据大数定律,当样本容量N趋于无穷的时候,经验风险=期望风险,但是我们在学习过程中,一般的数据集中的样本量不能满足这个要求,也就是数据量不大,经验风险不能很好的估计结构风险,这个时候可以采取两种策略:经验风险最小化和结构风险最小化。
经验风险最小化:
当样本容量足够大时经验风险最小化可以得到最优解,比如极大似然估计(“模型已定,参数未知”--用已知的样本结果反推最有可能导致这样结果出现的模型的参数值)
一般模型较简单、特征值少、样本足够充足的条件下,经验风险最小化可以得到最优解,但是当模型过于复杂,特征值多且样本量少甚至少于特征值的情况(比如语义分类),这种情况下极易过拟合。(过拟合和欠拟合后面讲)
结构风险最小化(正则化,防止过拟合):
算法:有了学习准则或者学习方法(策略),那么用什么方法求得最优解,这种方法就是算法。
1.4模型评估与模型优化
1.训练误差和测试误差
训练误差(不重要 ):对判断给定问题是不是一个容易学习的问题是有意义的。
测试误差(重要):反映了学习方法对未知测试数据集的预测能力。
2.欠拟合与过拟合
首先引入一下偏差和方差的概念
偏差:算法的预测的平均值和真实值的关系(可以想象成算法的拟合能力如何)
方差:同一个算法在不同数据集上的预测值和所有数据集上的平均预测值之间的关系(也就是泛化能力)
由上图可以看出,高偏差(bias)会导致预测出现偏差,偏离真实值很多。
高仿差虽然能大体的预测准结果,但是很多值预测的不够准确,如果该模型用于新测试集则容易出现误差,泛化能力不强。
下面通过一张图来理解偏差、方差和拟合之间的关系
欠拟合:高偏差,模型过于简单,特征值考虑不全面,训练误差过大,测试误差也大 。(下面引用吴老师的课件来理解欠拟合)
过拟合:高方差,模型过于复杂,特征考虑过多,训练误差小,但是测试误差大(下面引用吴老师的课件来理解过拟合)
3.如何优化算法
解决方法 面对问题
(1)获取更多训练集 高方差
(2)减少特征 高方差
(3)增加特征 高偏差
(4)添加多项式特征 高偏差
(5)减少 (正则化) 高偏差
(6)增加 (正则化) 高方差
1.5正则化与交叉检验
1.正则化
通过在策略中加入一个带参数“ ”的多项式,来控制多特征值在模型中的比重
最小化代价函数J()的时候,提高“”则“”(特征)的比重就会变小,从而使模型变得简单一些可以降低方差。
2.交叉检验
把数据集分成三部分:训练集、验证集、测试集
简单交叉检验:p%数据为训练集,(1-p)%数据为测试,具体的p通过测试由实际情况决定,原则:P>(1-P)
S折交叉检验:随机将数据切为S个互不相交的大小相同的子集,然后利用S-1个子集的数据训练模型,利用余下的自己测试模型
留一交叉检验:S折交叉检验特殊情况,S=N(样本容量)
1.6生成模型与判别模型
生成模型 判别模型
由P(X,Y) 推出 P(Y|X) 直接得到P(Y|X)
可以还原P(X,Y),描述(X与Y关系) 不能还原
注重X、Y关系 注重结果
收敛速度快 准确率高
存在隐变量时,仍可以学习 存在隐变量时,无法学习
朴素贝叶斯、隐马尔可夫 K临近、感知机、决策树、逻辑思谛回归
最大熵、支持向量机、提升方法、条件随机场
1.7分类问题
True Positive(真正,TP):将正类预测为正类数
True Negative(真负,TN):将负类预测为负类数
False Positive(假正,FP):将负类预测为正类数误报 (Type I error)
False Negative(假负,FN):将正类预测为负类数→漏报 (Type II error)
查准率=精确率=P=TP/TP+FP 越大越准确
查全率=召回率=R=TP/TP+FN 越大则漏掉的可能性越少,查的越全
1.8标注问题
标注问题是复杂的分类问题(信息抽取、自然语言处理等领域)
特点:标记的个数是有限的,但其组合所成的标记序列的个数是依序列长度呈指数级增长的。
参考文献
https://www.cnblogs.com/hejunlin1992/p/8158933.html(损失函数)
https://blog.csdn.net/lisi1129/article/details/60961256(损失函数和风险函数)
https://blog.csdn.net/zhang_shuai12/article/details/53064697(经验风险最小化和结构风险最小化)
https://baike.baidu.com/item/%E8%81%94%E5%90%88%E6%A6%82%E7%8E%87/5901767?fr=aladdin(联合概率)
https://baike.baidu.com/item/%E6%9E%81%E5%A4%A7%E4%BC%BC%E7%84%B6%E4%BC%B0%E8%AE%A1/3350286(极大似然估计)
https://blog.csdn.net/wuzqChom/article/details/75091612(偏差与方差)
https://blog.csdn.net/quiet_girl/article/details/70830796(准确率与召回率)