参考《统计学习方法》一书,学习一下统计学习的相关知识。
1.统计学习
学习:一个系统能够执行某个过程改进他的性能
统计学习:运用数据以及统计方法提高系统性能的机器学习
统计学习的对象是数据,并且假设同类数据具有一定的统计规律性,可以用随机变量描述特征,用概率分布描述数据分布规律
统计学习方法 基于数据构建统计模型从而对数据进行预测以及分析 监督学习 半监督学习 非监督学习 强化学习
过程如下:
1. 给定的有限的用于学习的训练数据,数据独立同分布产生
2. 假设要学习的模型属于某个函数集合,假设空间
3.应用评价准则,从假设空间选择一个最优的模型,使它对于训练数据以及测试数据在给定评价准则下有最优预测
4.模型的选取由算法实现
2.监督学习
输入空间:输入取值集合
特征空间:每个具体输入为一个实例,由特征向量表示,特征向量存在的空间为特征空间
输出空间:输出取值集合
联合概率分布:监督学习假设输入和输出随机变量X,Y遵循联合概率分布P(X,Y) ,训练数据以及测试数据由联合分布独立同分布产生的
假设空间:输入到输出空间映射的集合,假设空间 表示方法 条件分布概率P(Y|X) 或者 决策函数Y=f(X)
3.统计学习三要素
1.模型:条件分布概率以及决策函数
假设空间:所有可能的条件分布概率以及决策函数集合,一般由一个参数向量决定:
非概率模型:
概率模型:
2.策略:评价准则
损失函数:度量预测错误的程度
0-1损失函数:
平方损失函数:
绝对损失函数:
对数损失函数:
指数损失函数:
期望风险: 风险函数 期望损失 模型关于联合分布P(X,Y)的平均意义损失
学习目的使得期望风险最小,由于P(x,y)未知,上式无法求解。
经验风险: 模型关于训练集的平均损失
训练集:
经验风险:
期望风险是模型关于联合分布的期望损失,经验风险是模型关于训练集的平均损失,由大数定律:
当样本容量N趋于无穷时,经验风险趋于期望风险
由于实际中样本数理有限,因此并不能直接用经验风险来代替期望风险。
经验风险最小化ERM:
当样本容量足够大时,学习效果很好。当模型为条件分布,损失函数为对数函数,经验风险最小化就是极大似然估计:
证明如下:
当样本容量过小时,会出现过拟合现象,从而引入结构风险。
结构风险最小化SRM:
加入正则化(表示模型复杂度)
J(f)表示模型的复杂度,模型越复杂,J(f)越大。
采用结构风险最小化求解的最优化目标为:
3.算法 如何求解最优模型
一般求解最优化问题,解析法 ,牛顿迭代法,梯度下降等数值方法
4.模型评估与模型选择
假定学习到的模型:
基于训练集得到训练误差:
基于测试集得到测试平均损失:
当损失函数为0-1函数,则测试误差变为错误率:
泛化能力; 学习方法对于未知数据的预测能力 测试误差表征了模型的泛化能力,选择测试误差小的模型
过拟合:模型对于训练集的预测能力过高,导致模型过于复杂,对于测试集的预测能力不够,导致泛化能力降低,产生过拟合
5.正则化 交叉验证
经验风险最小化,后面添加正则化项,实现经验风险以及模型复杂度同时减小。常见的正则化项有L1,L2范数。
L1产生稀疏解 L2给影响大的特征赋予高的权重
6.泛化能力
泛化能力:模型对于未知数据的预测能力,一般采用测试误差来度量,但是测试集数据有限并不能很好的度量泛化能力。
泛化误差的定义:
二类分类问题泛化误差上界:
训练集T: 由联合分布P(X,Y)独立同分布产生 Y={-1,+1} 假设空间{f1, f2...fd} 损失函数0-1损失
期望风险:
经验风险:
泛化误差:
泛化误差上界
对于二分类问题,假设空间有限个函数集合{f1,f2...fd} 随机选择一个函数f,至少以概率1-一下成立:
其中:
训练误差越小,则泛化误差越小
7.生成与判别
生成方法:由数据联合学习联合分布概率,然后求出条件分布概率
朴素贝叶斯以及隐马尔科夫模型
可以直接生成联合分布P(X,Y),学习收敛速度快,存在隐变量时也可以继续使用
判别方法:直接学习决策函数f(X)或者条件分布函数P(Y|X)
决策树 LR SVM
直接学习,准确率高;可以对数据抽象定义特征使用特征
8.补充
P(A|B)条件概率:在事件B发生的条件下,事件A发生的概率
1.贝叶斯定理:
要求P(Y|X),可以通过贝叶斯定理由P(X|Y)求得,其中P(X|Y)可以通过训练数据直接求得。
2.极大似然估计:
极大似然估计提供了一种给定观察数据来评估模型参数的方法,即:“模型已定,参数未知”。通过若干次试验,观察其结果,利用试验结果得到某个参数值能够使样本出现的概率为最大,则称为极大似然估计。
样本集:
似然函数:
对数似然函数:
极大似然估计:
3.伯努利模型:
伯努利模型适用于离散特征,伯努利模型中每个特征的取值只能是1和0
(以文本分类为例,某个单词在文档中出现过,则其特征值为1,否则为0).
伯努利模型中,条件概率P(xi|yk)P(xi|yk)的计算方式是:
当特征值xi为1时,P(xi|yk)=P(xi=1|yk)
当特征值xi为0时,P(xi|yk)=1−P(xi=1|yk)