主要是回顾《统计学习方法》第一章的内容,从比较宏观的角度讲了学习一个机器学习方法所要把握的各个方面,有了这些基础知识后,才渐渐理解当初看Andrew Ng的视频里那一个个公式出现的意义,以及解决一个实际的机器学习问题需要做哪些事情。
- 流程
- 统计学习三要素
- 交叉验证与模型选择
- 正则化的参数选择
1. 监督学习的一般流程
- 输入一个带标签的训练集;
- 确定要学习的模型,即常说的假设空间(假设函数);
- 确定模型选择的准则,给出要求解的目标函数;
- 实现求解最优模型的算法;
- 模型选择,选出最优模型;
- 将选出的最优模型应用于新数据进行预测或分析。
2. 统计学习三要素
《统计学习方法》中认为统计学习方法都是由模型、策略、算法构成的,构建一种统计学习方法就是确定具体的统计学习三要素,即:
方法 = 模型 + 策略 + 算法
2.1 模型
在监督学习过程中,模型就是所要学习的条件概率分布或决策函数,模型的假设空间(用
表示)就包含了所有可能的条件概率分布和决策函数:
={P|Pθ(Y|X),θ∈Rn}
或
={Y=fθ(X),θ∈Rn}
参数
θ
即是我们所要学习的东西。
2.2 策略
确定了模型的假设空间后,就需要考虑以什么样的准则来选择出最优的模型,进行模型选择的标准即策略(也就是Andrew Ng的视频里所说的要求解的目标函数),有 经验风险最小化 和 结构风险最小化。
首先引入损失函数与风险函数的概念,损失函数用于度量模型一次预测的误差,风险函数度量平均意义下模型预测的误差。
2.2.1 损失函数与风险函数
损失函数或叫代价函数(cost function)用来表示 对特定的输入X,决策函数 Y=f(X) 所预测的Y值与实际的Y值之间的误差。损失函数是 f(X) 和Y的非负实值函数,用 L(Y,f(X)) 表示,常用的损失函数有:
- 0-1损失函数,
- 平方损失函数,
- 绝对损失函数
- 对数损失函数(或对数似然损失函数)。
风险函数即模型在平均意义下的期望损失,由于模型的输入输出(X, Y)是随机变量,遵循联合分布,所以损失函数的期望是:
Rexp(f)=Ep[L(Y,f(X))]=∫x×yL(Y,f(X))P(X,Y)dxdy
由于损失函数值越小,模型的预测结果就越好,所以学习的目标就是选择期望损失最小的模型。
对一个监督学习的问题:
- 训练集 T={(x1,y1),(x2,y2),……,(xn,yn)}
- 模型
f(X)
关于训练集的平均损失称为经验损失(或经验风险), 记作
Remp
:
Remp=1n∑i=1nL(yi,f(xi))
期望风险 Rexp(f) 是模型关于联合分布的期望损失,经验风险 Remp(f) 是模型关于训练样本集的平均损失。根据大数定律,当样本 n→∞ 时,经验风险 Remp(f) 趋于期望风险 Rexp(f) 。所以很自然地能想到用经验风险来估计期望风险,但由于实际中可得训练样本集数量有限,往往估计结果不理想,需要对经验风险进行一定的矫正。这就涉及到了监督学习的两个基本策略:经验风险最小化 和 结构风险最小化。
2.2.2 经验风险最小化 和 结构风险最小化
当假设空间
、损失函数
L(Y,f(X))
和训练集都给定时,经验风险函数式
Remp(f)
即可确定,经验风险最小化策略认为:经验风险最小的模型就是最优的模型。按此策略求解最优模型即求解最优化问题:
在训练集样本够多时,经验风险最小化能保证比较好的学习效果,但是当样本容量不够大时,很容易出现“过拟合(over fitting)”现象,结构风险最小化就是为了改善过拟合而提出的策略。
结构风险就是在经验风险的基础上加上一个表示模型复杂度的罚项(等价于Andrew Ng课程中所讲的正则化项),以取得经验和模型复杂度的一个折衷。对给定的问题,结构风险的定义是:
J(f) 表示模型的复杂度,模型 f 越复杂,
结构风险最小化策略即:结构风险最小的模型即要选出的最优模型。按此策略求解最优模型即求解最优化问题:
如此一来,对给定的问题,经验风险函数或结构风险函数就是所要求解最优化问题的目标函数。
2.3 算法
算法即是用来从假设空间 中求解出最优模型的方法,如常用的梯度下降算法或其他更高级的优化算法(conjugate gradient,BFGS,L-BFGS等),也可自行开发最优化算法。
到此,一个机器学习算法的大致轮廓就出来辣,关于模型评估和模型选择以及确定正则化参数的内容会在下篇文章中整理出来。