机器学习概述

机器学习概述

:本文中机器学习大部分指统计学习,本人水平有限,如有纰漏,敬请不吝赐教。

1.前言

机器学习专门研究计算机怎样实现人类的学习行为。人类学习行为可以看做一种算法,当我们牙牙学语时,大人们会指着布谷鸟说这是鸟,这就可以看做是输入数据,这时候我们对鸟有了一定的认识,看到布谷鸟我们知道是鸟。当然当我们看到白鹭时,还是没办法认识到这是鸟,不断地重复,我们能够自动抽象出一种模型:”有翅膀、有羽毛、会飞的两足动物是鸟“。这时,我们看到任何一种动物,都会去判断是否满足模型中条件,从而辨别出是否是鸟类。以上是从机器学习角度来解释人类学习鸟类识别行为,机器学习这门学科经过样本输入->训练模型->预测识别过程来实现学习功能。

2.简单学习过程

形式化前言中的例子,训练样本为

  • <有翅膀,有羽毛,会飞,两足,鸟>
  • <有翅膀,有羽毛,不会飞,两足,非鸟>
  • <无翅膀,有羽毛,会飞,两足,非鸟>

可生成判定流程

在这里插入图片描述

​ 由上述流程图可知,若输入中无翅膀或者不会飞,会判定为非鸟。但当输入为<有翅膀,无羽毛, 会飞,多足>时,会判定为鸟,此时显然昆虫能够满足输入描述,判定错误。出现错误的原因是输入样本数量不足,每个样本包含四个属性,每个属性有两种状态,共计16种不同属性组合,样本并未覆盖整个属性空间。这种情况被称为过拟合过拟合指在训练样本中表现较好,但对于未知数据样本表现较差,一般解决方案可以是增加样本数量或者添加正则项。

3.机器学习三要素

  • 模型:形式上可由决策函数集合或者条件概率集合表示,比如线性回归中用
    y = ω x + b y=\omega x + b y=ωx+b
    来拟合数据,这是决策函数来表示模型。再比如逻辑回归中,通过对特定输入条件下真假两类各自概率比较得出预测。

  • 策略:在所给问题的假设空间内,包含无数多个模型,如何从中找最佳模型是策略和算法存在的意义。策略指采用何种损失函数来评估模型,总体损失最小的就是最佳模型。损失函数包含很多种:

    • 0-1损失函数:
      L ( Y , f ( x ) ) = { 0 , f ( x ) ̸ = Y 1 , f ( x ) = Y L(Y,f(x))=\left\{ \begin{aligned} 0 &amp; , &amp;f(x) \not= Y \\ 1 &amp; , &amp;f(x) = Y \end{aligned} \right. L(Y,f(x))={01,,f(x)̸=Yf(x)=Y

    • 平方损失函数:
      L ( Y , f ( x ) ) = ( Y − f ( x ) ) 2 L(Y,f(x))=(Y-f(x))^2 L(Y,f(x))=(Yf(x))2

    • 绝对损失函数:
      L ( Y , f ( x ) ) = ∣ Y − f ( x ) ∣ L(Y,f(x))=|Y-f(x)| L(Y,f(x))=Yf(x)

    • 对数损失函数:
      L ( Y , f ( x ) ) = − l o g P ( Y ∣ X ) L(Y,f(x))=-log P(Y|X) L(Y,f(x))=logP(YX)

    对于整个参数空间而言,我们定义期望风险来表示其总体损失,表示一种泛化能力,其表达式为
    R e x p ( f ) = E { L ( Y , f ( X ) ) } R_{exp}(f)=E\{L(Y,f(X))\} Rexp(f)=E{L(Y,f(X))}
    但由于训练样本有限,我们定义经验风险用来表示样本总体损失,表达式为
    R e m p ( f ) = 1 N ∑ i = 1 N L ( y i , f ( x i ) ) R_{emp}(f)=\frac{1}{N}\sum_{i=1}^NL(y_i,f(x_i)) Remp(f)=N1i=1NL(yi,f(xi))
    这时,我们可以通过最小化经验风险来近似地最小化期望风险。证明如下:

  • 霍夫丁不等式

    对于独立随机变量 且 x 1 , x 2 , . . . x n 且 x i ∈ { a i , b i } 且x_1,x_2,...x_n且x_i\in\{a_i,b_i\} x1,x2,...xnxi{ai,bi},记 S n = ∑ i = 1 n x i S_n=\sum_{i=1}^nx_i Sn=i=1nxi
    P { E S n − S n ≥ t } ≤ e x p { − 2 t 2 ∑ i = 1 n ( b i − a i ) 2 } P\{ES_n - S_n \ge t\} \le exp\{\frac{-2t^2}{\sum_{i=1}^n(b_i-a_i)^2}\} P{ESnSnt}exp{i=1n(biai)22t2}

  • 取L(Y,f(x))为0-1损失函数,由霍夫丁不等式可得
    P { R e x p ( f ) − R e m p ( f ) ≥ t } = P { n E { L ( Y , f ( X ) ) } − ∑ i = 1 n L ( y i , f ( x i ) ) ≥ n t } = P { E { ∑ i = 1 n L ( y i , f ( x i ) ) } − ∑ i = 1 n L ( y i , f ( x i ) ) ≥ n t } ≤ e x p { − 2 n t 2 } P\{R_{exp}(f)-R_{emp}(f) \ge t\} \\ = P\{nE\{L(Y,f(X))\}-\sum_{i=1}^nL(y_i,f(x_i)) \ge nt\}\\ = P\{E\{\sum_{i=1}^nL(y_i,f(x_i))\}-\sum_{i=1}^nL(y_i,f(x_i)) \ge nt\}\\ \le exp\{-2nt^2\} P{Rexp(f)Remp(f)t}=P{nE{L(Y,f(X))}i=1nL(yi,f(xi))nt}=P{E{i=1nL(yi,f(xi))}i=1nL(yi,f(xi))nt}exp{2nt2}

  • 进一步得到对于整个假设空间F中
    P { ∪ f ∈ F : R e x p ( f ) − R e m p ( f ) ≥ t } ≤ ∑ f ∈ F P { R e x p ( f ) − R e m p ( f ) ≥ t } ≤ ∣ F ∣ e x p { − 2 n t 2 } P\{\cup_{f\in F}: R_{exp}(f)-R_{emp}(f) \ge t\} \\ \le \sum_{f \in F}^{} P\{R_{exp}(f)-R_{emp}(f) \ge t\}\\ \le |F|exp\{-2nt^2\} P{fF:Rexp(f)Remp(f)t}fFP{Rexp(f)Remp(f)t}Fexp{2nt2}

  • δ = ∣ F ∣ e x p { − 2 n t 2 } \delta =|F|exp\{-2nt^2\} δ=Fexp{2nt2},等价得
    P { R e x p ( f ) − R e m p ( f ) &lt; t } ≥ 1 − δ P\{ R_{exp}(f)-R_{emp}(f) \lt t\} \ge 1-\delta P{Rexp(f)Remp(f)<t}1δ
    则显著性水平为 δ \delta δ的情况下, R e x p ( f ) &lt; R e m p ( f ) + t R_{exp}(f) \lt R_{emp}(f) + t Rexp(f)<Remp(f)+t ,其中t与 ∣ F ∣ , n , δ |F|,n,\delta F,n,δ相关,于是在给定情况下,经验风险可表示期望风险的上界,故最小化经验风险时,期望风险也在最小化。

  • 算法:指求解损失函数最优解的算法,影响到求解的效率和效果,常用的有梯度下降算法、拟牛顿法、EM算法、通用迭代法。

4.机器学习过程

(1)数据预处理

​ 训练样本有可能是含有缺失值、离散值等多种情况,需要将缺失值补齐、离散值预处理。此外有时候还需要进行特征选择,从业务角度出发,排除其中某些无关特征,比如预测广告点击,其中可能包含用户ID、广告ID等无关数据,应该排除。有时候特征选择能够很大程度上改进模型性能,有专门讲特征工程的资料可以自行查阅。

(2)选择模型

​ 数据预处理后,可以选择合适的模型。模型实际上也就是通常说机器学习算法,包含线性回归、逻辑回归、决策树、支持向量机、随机森林等。每一种模型都有其适用范围,都包含一定假设,并且超参数不一样。比如说线性回归用一条直线去拟合样本数据,如果样本近似直线分布,那么可行,否则效果比较差。再比如说,朴素贝叶斯假设条件独立性,这一点如果不合适,那么效果也会很差,就需要考虑半朴素贝叶斯和贝叶斯网络。此外,选择模型这一步多数时候与后续模型评估放在一起,如果无法前期预估何种方法效果好,只能一个个尝试,然后通过评估比较好坏。

(3)训练模型

​ 训练模型就是编码阶段,通过设定超参数和模型,根据训练数据生成模型。此外,对于不同模型可以使用不同的目标损失函数,具体的问题具体分析。比如线性回归使用欧式距离,支持向量机使用几何距离。对于不同的问题需要使用不同的优化算法,比如梯度下降算法、牛顿法、EM算法、通用迭代算法等。

(4)测试模型并评估模型

​ 根据生成模型为测试数据进行预测,并计算错误率等评估指标。然后回过头去修改超参数和模型,最后比较评估指标,选取其中最佳的超参数和模型。

5.机器学习分类

(1)按训练样本有无标签分类

  • 有监督学习:如前例,样本数据包含标签,从而训练出产生标签的模型。比如线性回归、神经网络。
  • 半监督学习:由于带标签数据需要人工标注,成本较高。半监督学习则是采用部分为带标签数据,其余部分为无标签数据的方式来进行训练。比如半监督SVM、半监督聚类。
  • 无监督学习:纯粹使用无标签数据进行训练。比如无监督聚类

(2)按问题分类

  • 回归问题:用直线或曲线拟合数据,预测未来趋势,简单说来,用于预测得出连续值,如预测基金净值。
  • 分类问题:根据属性,对样本进行分类,如预测用户是否会点击广告。
  • 标注问题:对序列进行标注,如词性标注。

参考文献

-《统计学习方法》- 李航

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值