1.4机器学习相关概念

基本概念

输入空间:将输入的所有可能取值的集合称作输入空间
输出空间:将输出的所有可能取值的集合称作输出空间
输入空间 VS 输出空间

  • 输入空间和输出空间可以是有限元素的集合,也可以是整个欧氏空间
  • 输入空间和输出空间可以是连续值集合,也可以是离散值集合
  • 输入空间和输出空间可以是同一个空间,也可以是不同空间
  • 通常输出空间会比输入空间小

特征:即属性。每个输入实例的各个组成部分(属性)称作原始特征,基于原始特征还可以扩展出更多的衍生特征。比如月薪2k、8k、3W可扩展为低收入、中等收入、高收入

特征向量:由多个特征组成的集合,称作特征向量

特征空间:特征向量所有可能取值的集合称作特征空间。

  • 特征空间中每一维都对应了一个特征(属性)
  • 特征空间可以和输入空间相同,也可以不同
  • 需将实例从输入空间映射到特征空间
  • 模型实际上是定义于特征空间之上的

假设空间:由输入空间到输出空间的映射的集合,称作假设空间
假设空间指的是问题所有假设组成的空间,我们可以把学习过程看作是在假设空间中搜索的过程,搜索目标是寻找与训练集“匹配”的假设。——周志华《机器学习》
例:一个商品购买记录

性别收入是否购买

性别共有 2 种取值,收入共有 3 种取值,输入空间共有 2×3=6 种不同情况,输出空间只有 2 种不同情况,那所有可能存在的情况共有 6×2=12 种

性别收入是否购买

针对每一种可能的输入,都能找到一个映射,对应了输出空间中某个输出
抽取假设
总共可能出现 2^6 个假设,所有假设组成的集合就叫假设空间
通常还会加上一个特殊的假设:全空假设 ∅,即 2^6+1
更一般的,假设空间H中的假设个数为: M ∏ i = 1 n N i + 1 M^{\prod^n_{i=1}N_i}+1 Mi=1nNi+1
M是每一个可能取值的个数,如上面的例子,每一条可能取值的结果只有是和否,个数为2

机器学习方法三要素

机器学习方法通常都是由模型、策略和算法三部分构成:方法=模型+策略+算法
模型:输入空间到输出空间的映射关系。学习过程即为从假设空间中搜索合适当前数据的假设。(确定学习范围)
策略:从假设空间众多的假设中选择到最优的模型的学习标准或规则。(确定学习规则)
算法:学习模型的具体的计算方法,通常是求解最优化问题。(按规则在范围内学习)

模型

分析当前需要解决的问题,确定模型
确定模型

策略

要从假设空间中选择一个最合适的模型出来,需要解决以下问题:

  • 评估某个模型对单个训练样本的效果
  • 评估某个模型对训练集的整体效果
  • 评估某个模型对包括训练集、预测集在内的所有数据的整体效果

需要定义几个指标来衡量上述问题:

  • 损失函数:0-1损失函数、平方损失函数、绝对损失函数、对数损失函数等
  • 风险函数:经验风险、期望风险、结构风险

基本策略:

  • 经验风险最小(EMR:Empirical Risk Minimization)
  • 结构风险最小(SRM:Structural Risk Minimization)

损失函数

损失函数:用来衡量预测结果和真实结果之间的差距,其值越小,代表预测结果和真实结果越一致,通常是一个非负实值函数。通过各种方式缩小损失函数的过程被称作优化。损失函数记作 L(Y,f(x))

损失函数的常见类型:

  • 0-1损失函数(0-1 LF):预测值和实际值精确相等则“没有损失”为0,否则意味着“完全损失”为1。预测值和实际值精确相等得有些过于严格,可以采用两者的差小于某个阈值的方式。
    L ( Y , f ( x ) ) = { 1 , Y ≠ f ( x ) 0 , Y = f ( x ) L(Y,f(x))=\begin{cases}1,Y≠f(x)\\0,Y=f(x)\end{cases} L(Y,f(x))={1,Y=f(x)0,Y=f(x)
    L ( Y , f ( x ) ) = { 1 , ∣ Y − f ( x ) ∣ ≥ T 0 , ∣ Y − f ( x ) ∣ < T L(Y,f(x))=\begin{cases}1,|Y-f(x)|≥T\\0,|Y-f(x)|<T\end{cases} L(Y,f(x))={1,Yf(x)T0,Yf(x)<T

  • 绝对值损失函数(Absolute LF):预测结果与真实结果的差的绝对值。简单易懂,但是计算不方便。
    L ( Y , f ( x ) ) = ∣ Y − f ( x ) ∣ L(Y,f(x))=|Y-f(x)| L(Y,f(x))=Yf(x)

  • 平方损失函数(Quadratic LF):预测结果与真实结果的差的平方。
    L ( Y , f ( x ) ) = ( Y − f ( x ) ) 2 L(Y,f(x))=(Y-f(x))^2 L(Y,f(x))=(Yf(x))2

    平方损失函数的优势:

    • 每个样本的误差都是正的,累加不会被抵消
    • 平方对于大误差的惩罚大于小误差
    • 数学计算简单、友好,导数为一次函数
  • 对数损失函数(Logarithmic LF) 或 对数似然损失函数(log-likehood loss function):对数函数具有单调性,在求最优化问题时,结果与原始目标一致。可将乘法转化为加法,简化计算。
    L ( Y , f ( x ) ) = − l o g P ( Y ∣ X ) L(Y,f(x))=-logP(Y|X) L(Y,f(x))=logP(YX)

  • 指数损失函数(Exponential LF):单调性、非负性的优良性质,使得越接近正确结果误差越小
    L ( Y , f ( x ) ) = e − Y ∗ f ( x ) L(Y,f(x))=e^{-Y*f(x)} L(Y,f(x))=eYf(x)

  • 折叶损失函数(Hinge LF):也称铰链损失,对于判定边界附近的点的惩罚力度较高,常见于SVM
    L ( Y , f ( x ) ) = m a x ( 0 , 1 − f ( x ) ) L(Y,f(x))=max(0,1-f(x)) L(Y,f(x))=max(0,1f(x))

不同的损失函数有不同的特点,适用于不同的场景:

  • 0-1损失函数:理想状况模型
  • 对数损失函数:逻辑回归、交叉熵
  • 平方损失函数:线性回归
  • 指数损失函数:AdaBoosting
  • 折叶损失函数:SVM、soft margin

风险函数

损失函数度量了单个样本的预测结果,要想衡量整个训练集的预测值与真实值的差异,将整个训练集所有记录均进行一次预测, 求取损失函数,将所有值累加,即为经验风险经验风险越小说明模型 f(x) 对训练集的拟合程度越好。公式为:
R e m p ( f ) = 1 N ∑ i = 1 N L ( Y , f ( x ) ) R_{emp}(f)= \dfrac{1}{N} \sum^N_{i=1} L(Y,f(x)) Remp(f)=N1i=1NL(Y,f(x))

期望风险:所有数据集(包括训练集和预测集,遵循联合分布 P(X,Y))的损失函数的期望值。公式为:
R e x p ( f ) = ∬ L ( Y , f ( x ) ) P ( x , y ) d x d y R_{exp}(f)=\iint L(Y,f(x))P(x,y)dxdy Rexp(f)=L(Y,f(x))P(x,y)dxdy

经验风险 VS 期望风险:

  • 期望风险是模型对全局(所有数据集)的效果;经验风险是模型对局部(训练集)的效果
  • 期望风险往往无法计算,即联合分布 P(X,Y) 通常是未知的;经验风险可以计算
  • 当训练集足够大时,经验风险可以替代期望风险,即局部最优代替全局最优

在样本较小时,仅关注经验风险,很容易导致过拟合。过拟合是指,模型对当前的样本数据效果很好,期望风险很低,但是对新的数据效果很差
例:过拟合
六次模型完美的拟合了所有点,但是对新数据效果最差
过拟合2
在训练集上,六次模型的经验风险最小,但是在数据全集上,一次模型的期望风险最小

如果避免模型结构过于复杂,导致过拟合?
在经验风险的基础上,增加一个正则化项(Regularizer)或者叫做惩罚项(Penalty Term),公式为 R s r m ( f ) = 1 N ∑ i = 1 N L ( Y , f ( x ) ) + λ J ( f ) R_{srm}(f)= \dfrac{1}{N} \sum^N_{i=1} L(Y,f(x))+λJ(f) Rsrm(f)=N1i=1NL(Y,f(x))+λJ(f),其中 λ 为一个大于 0 的系数,J(f) 表示模型 f(x) 的复杂度。称为结构风险

结构风险 VS 经验风险

  • 经验风险越小,模型决策函数越复杂,其包含的参数越多
  • 当经验风险函数小到一定程度就出现了过拟合现象
  • 防止过拟合现象的方式,就是要降低决策函数的复杂度,让惩罚项 J(f) 最小化
  • 需要同时保证经验风险函数和模型决策函数的复杂度都达到最小化
  • 把两个式子融合成一个式子得到结构风险函数,然后对这个结构风险函数进行最小化

例:已知某数据集有6个特征值,在特征值和结果之间建立联系,去预测未知数据集上的结果。
选取绝对值损失函数 L ( Y , f ( x ) ) = ∣ Y − f ( x ) ∣ L(Y,f(x))=|Y-f(x)| L(Y,f(x))=Yf(x)
惩罚函数项选择 λ ∑ i = 1 n ∣ θ i ∣ λ\sum^n_{i=1}|\theta_i| λi=1nθi
计算结构风险和经验风险
结构风险
正则化项:即惩罚函数,该项对模型向量进行惩罚,从而避免过拟合问题,正则化项方法会自动削弱不重要的特征变量,自动从许多的特征变量中“提取”重要的特征变量,减小特征变量的数量级。
R s r m ( f ) = 1 N ∑ i = 1 N L ( Y , f ( x ) ) + λ J ( f ) R_{srm}(f)= \dfrac{1}{N} \sum^N_{i=1} L(Y,f(x))+λJ(f) Rsrm(f)=N1i=1NL(Y,f(x))+λJ(f)
上面的例子上,选取损失函数为绝对值,λ取值为1,J为各参数的绝对值的和计算一下结构风险
一次模型: y = 1.0429 x + 0.2571 y=1.0429x+0.2571 y=1.0429x+0.2571
六次模型: y = − 0.0289 x 6 + 0.73 x 5 − 7.1972 x 4 + 34.933 x 3 − 86.574 x 2 + 103.14 x − 43.8 y=-0.0289x^6+0.73x^5-7.1972x^4+34.933x^3-86.574x^2+103.14x-43.8 y=0.0289x6+0.73x57.1972x4+34.933x386.574x2+103.14x43.8

λ J ( f ) = λ ∑ i = 1 n ∣ θ i ∣ λJ(f)=λ\sum^n_{i=1}|\theta_i| λJ(f)=λi=1nθi

规则化函数 λJ(f) 有多种选择,一般地,它是模型复杂度的单调递增函数,模型越复杂,该函数的值就越大,惩罚力度相应的越大。

范数

范数是数学中的一种基本概念,它定义在赋泛线性空间中,满足 1.非负性;2.齐次性;3.三角不等式等条件的量。常常用来度量向量的长度或大小。
常用的范数有:零范数、一范数、二范数、迹范数、Frobenius范数、核范数等等

L0范数:通常表示非0的元素的个数,期望参数大部分为0,即让参数是稀疏的
L1范数:各个元素的绝对值之和,会使参数稀疏,也被称为稀疏规则算子
L2范数:各个元素的平方和求平方根,使得每个元素都很小,但不会等于0,而是接近0

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

分数不是数

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值