1.4机器学习相关概念
基本概念
输入空间:将输入的所有可能取值的集合称作输入空间
输出空间:将输出的所有可能取值的集合称作输出空间
输入空间 VS 输出空间
- 输入空间和输出空间可以是有限元素的集合,也可以是整个欧氏空间
- 输入空间和输出空间可以是连续值集合,也可以是离散值集合
- 输入空间和输出空间可以是同一个空间,也可以是不同空间
- 通常输出空间会比输入空间小
特征:即属性。每个输入实例的各个组成部分(属性)称作原始特征,基于原始特征还可以扩展出更多的衍生特征。比如月薪2k、8k、3W可扩展为低收入、中等收入、高收入
特征向量:由多个特征组成的集合,称作特征向量
特征空间:特征向量所有可能取值的集合称作特征空间。
- 特征空间中每一维都对应了一个特征(属性)
- 特征空间可以和输入空间相同,也可以不同
- 需将实例从输入空间映射到特征空间
- 模型实际上是定义于特征空间之上的
假设空间:由输入空间到输出空间的映射的集合,称作假设空间
假设空间指的是问题所有假设组成的空间,我们可以把学习过程看作是在假设空间中搜索的过程,搜索目标是寻找与训练集“匹配”的假设。——周志华《机器学习》
例:一个商品购买记录
性别 | 收入 | 是否购买 |
---|---|---|
女 | 高 | 是 |
女 | 低 | 是 |
男 | 低 | 否 |
男 | 中 | 否 |
性别共有 2 种取值,收入共有 3 种取值,输入空间共有 2×3=6 种不同情况,输出空间只有 2 种不同情况,那所有可能存在的情况共有 6×2=12 种
性别 | 收入 | 是否购买 |
---|---|---|
女 | 高 | 是 |
女 | 高 | 否 |
女 | 中 | 是 |
女 | 中 | 否 |
女 | 低 | 是 |
女 | 低 | 否 |
男 | 高 | 是 |
男 | 高 | 否 |
男 | 中 | 是 |
男 | 中 | 否 |
男 | 低 | 是 |
男 | 低 | 否 |
针对每一种可能的输入,都能找到一个映射,对应了输出空间中某个输出
总共可能出现 2^6 个假设,所有假设组成的集合就叫假设空间
通常还会加上一个特殊的假设:全空假设 ∅,即 2^6+1
更一般的,假设空间H中的假设个数为:
M是每一个可能取值的个数,如上面的例子,每一条可能取值的结果只有是和否,个数为2
机器学习方法三要素
机器学习方法通常都是由模型、策略和算法三部分构成:方法=模型+策略+算法
模型:输入空间到输出空间的映射关系。学习过程即为从假设空间中搜索合适当前数据的假设。(确定学习范围)
策略:从假设空间众多的假设中选择到最优的模型的学习标准或规则。(确定学习规则)
算法:学习模型的具体的计算方法,通常是求解最优化问题。(按规则在范围内学习)
模型
分析当前需要解决的问题,确定模型
策略
要从假设空间中选择一个最合适的模型出来,需要解决以下问题:
- 评估某个模型对单个训练样本的效果
- 评估某个模型对训练集的整体效果
- 评估某个模型对包括训练集、预测集在内的所有数据的整体效果
需要定义几个指标来衡量上述问题:
- 损失函数:0-1损失函数、平方损失函数、绝对损失函数、对数损失函数等
- 风险函数:经验风险、期望风险、结构风险
基本策略:
- 经验风险最小(EMR:Empirical Risk Minimization)
- 结构风险最小(SRM:Structural Risk Minimization)
损失函数
损失函数:用来衡量预测结果和真实结果之间的差距,其值越小,代表预测结果和真实结果越一致,通常是一个非负实值函数。通过各种方式缩小损失函数的过程被称作优化。损失函数记作 L(Y,f(x))
损失函数的常见类型:
-
0-1损失函数(0-1 LF):预测值和实际值精确相等则“没有损失”为0,否则意味着“完全损失”为1。预测值和实际值精确相等得有些过于严格,可以采用两者的差小于某个阈值的方式。
-
绝对值损失函数(Absolute LF):预测结果与真实结果的差的绝对值。简单易懂,但是计算不方便。
-
平方损失函数(Quadratic LF):预测结果与真实结果的差的平方。
平方损失函数的优势:
- 每个样本的误差都是正的,累加不会被抵消
- 平方对于大误差的惩罚大于小误差
- 数学计算简单、友好,导数为一次函数
-
对数损失函数(Logarithmic LF) 或 对数似然损失函数(log-likehood loss function):对数函数具有单调性,在求最优化问题时,结果与原始目标一致。可将乘法转化为加法,简化计算。
-
指数损失函数(Exponential LF):单调性、非负性的优良性质,使得越接近正确结果误差越小
-
折叶损失函数(Hinge LF):也称铰链损失,对于判定边界附近的点的惩罚力度较高,常见于SVM
不同的损失函数有不同的特点,适用于不同的场景:
- 0-1损失函数:理想状况模型
- 对数损失函数:逻辑回归、交叉熵
- 平方损失函数:线性回归
- 指数损失函数:AdaBoosting
- 折叶损失函数:SVM、soft margin
风险函数
损失函数度量了单个样本的预测结果,要想衡量整个训练集的预测值与真实值的差异,将整个训练集所有记录均进行一次预测, 求取损失函数,将所有值累加,即为经验风险。经验风险越小说明模型 f(x) 对训练集的拟合程度越好。公式为:
期望风险:所有数据集(包括训练集和预测集,遵循联合分布 P(X,Y))的损失函数的期望值。公式为:
经验风险 VS 期望风险:
- 期望风险是模型对全局(所有数据集)的效果;经验风险是模型对局部(训练集)的效果
- 期望风险往往无法计算,即联合分布 P(X,Y) 通常是未知的;经验风险可以计算
- 当训练集足够大时,经验风险可以替代期望风险,即局部最优代替全局最优
在样本较小时,仅关注经验风险,很容易导致过拟合。过拟合是指,模型对当前的样本数据效果很好,期望风险很低,但是对新的数据效果很差。
例:
六次模型完美的拟合了所有点,但是对新数据效果最差
在训练集上,六次模型的经验风险最小,但是在数据全集上,一次模型的期望风险最小
如果避免模型结构过于复杂,导致过拟合?
在经验风险的基础上,增加一个正则化项(Regularizer)或者叫做惩罚项(Penalty Term),公式为,其中 λ 为一个大于 0 的系数,J(f) 表示模型 f(x) 的复杂度。称为结构风险。
结构风险 VS 经验风险
- 经验风险越小,模型决策函数越复杂,其包含的参数越多
- 当经验风险函数小到一定程度就出现了过拟合现象
- 防止过拟合现象的方式,就是要降低决策函数的复杂度,让惩罚项 J(f) 最小化
- 需要同时保证经验风险函数和模型决策函数的复杂度都达到最小化
- 把两个式子融合成一个式子得到结构风险函数,然后对这个结构风险函数进行最小化
例:已知某数据集有6个特征值,在特征值和结果之间建立联系,去预测未知数据集上的结果。
选取绝对值损失函数
惩罚函数项选择
计算结构风险和经验风险
正则化项:即惩罚函数,该项对模型向量进行惩罚,从而避免过拟合问题,正则化项方法会自动削弱不重要的特征变量,自动从许多的特征变量中“提取”重要的特征变量,减小特征变量的数量级。
上面的例子上,选取损失函数为绝对值,λ取值为1,J为各参数的绝对值的和计算一下结构风险
一次模型:
六次模型:
规则化函数 λJ(f) 有多种选择,一般地,它是模型复杂度的单调递增函数,模型越复杂,该函数的值就越大,惩罚力度相应的越大。
范数
范数是数学中的一种基本概念,它定义在赋泛线性空间中,满足 1.非负性;2.齐次性;3.三角不等式等条件的量。常常用来度量向量的长度或大小。
常用的范数有:零范数、一范数、二范数、迹范数、Frobenius范数、核范数等等
L0范数:通常表示非0的元素的个数,期望参数大部分为0,即让参数是稀疏的
L1范数:各个元素的绝对值之和,会使参数稀疏,也被称为稀疏规则算子
L2范数:各个元素的平方和求平方根,使得每个元素都很小,但不会等于0,而是接近0