工作生活

Chapter01 机器学习基础

2019-06-29  本文已影响0人  司马山哥

Q1:机器学习是什么?

【官方说法】它是一门致力于如何通过计算的方式,利用经验来改善系统自身性能的学科(参见《周志华-机器学习》)。
【白话解释】

Q2:机器学习和统计学的区别?

【官方说法】机器学习模型旨在使最准确的预测成为可能;统计学(方法)设计用于推断变量之间的关系。
【白话解释】
先谈区别

再谈相似

Q3:机器学习的分支有哪些?

(1)监督学习

(2)非(无)监督学习

(3)半监督学习

(4)强化学习

Q4:输入空间和特征空间的区别?

【输入空间】输入的所有可能取值的集合称为输入空间。
【特征空间】所有特征向量存在的空间称为特征空间。

解释
每一个具体的输入就是一个实例(也成样本),由于现实世界是复杂多样的,问题也就是多样,记录问题的数据也呈现出多样的形式,通常分结构化数据、半结构化数据和非结构化数据;

  • 结构化数据:业界指关系模型数据,即以关系数据库表形式管理的数据;
  • 半结构化数据:非关系模型的、有基本固定结构模式的数据,例如日志文件、XML文档、JSON文档、Email等;
  • 非结构化数据:没有固定模式的数据,如WORD、PDF、PPT、EXL,各种格式的图片、视频等;

当问题的输入是以图像的形式(非结构化数据),如人脸识别,这时就需要对这种非结构化数据进行数学转换,使得计算机能够识别的数据结构,通常也就是向量化映射,即将输入的图片对应成一个向量(矩阵),计算通过对向量进行建模运算来输出相应的结果。这个例子中,输入空间是所有该问题中的图片的集合,特征空间是图片映射成向量后的向量空间。有时候输入空间和特征空间空间里的,比如基于身高预测体重,这时身高本身就是一个向量,不需要做映射,但注意身高因为有现实约束(比如不能为负),而此问题的特征空间是全体实数,所以输入空间和特征空间不完全一样,是集合与子集的关系。

Q5:机器学习的任务类型如何区分?

简单地,根据输入、输出变量的不同类型进行区分:

Q6:什么是假设空间?

【官方解释】监督学习的目的在于学习一个由输入到输出的映射,这一映射由模型来表示。换句话说,学习的目的就在于找到最好的这样的模型。模型属于由输入空间到输出空间的映射集合,这个集合就是假设空间。假设空间的确定意味着学习范围的确定。

【白话解释】我们可以把机器学习的过程看成一个在所有假设(针对输入和输出之间的映射关系的假设)组成的空间中进行搜索的过程,搜索目标是找到与训练集“匹配”的假设。比如通过父母身高X预测孩子身高Y的问题中,我们可以假设X和Y之间是线性关系也可以假设是非线性关系,该任务的目标是找到能够使得X和Y之间最佳“匹配”(映射)的假设,一旦确定了假设类型,假设的可选择范围就确定了;其中确定假设类型后的全体可能的假设集合就是假设空间

例如:在上述身高 的回归任务中,根据经验推定X和Y之间是线性关系,则假设类型确定为线性关系,假设空间就是所有X和Y的线性方程
Y=A*x+B(或者线性组合)。

Q7:常用的损失函数有哪些?

机器学习中所有的算法都需要最大化或最小化一个函数,这个函数被称为“目标函数”。其中,我们一般把最小化的一类函数,称为“损失函数”。它能根据预测结果,衡量出模型预测能力的好坏。
(1)0-1损失函数:
L(Y,f(X)) =\begin{cases} 1 & 当Y\neq f(X)\\ 0 & 当Y = f(X) \\ \end{cases}
(2)平方损失函数
L(Y,f(X))=(Y-f(X))^2
(3)绝对损失函数
L(Y,f(X))=|Y-f(X)|
(4)对数损失函数
L(Y,P(Y|X))=-log(P|Y)

Q8:机器学习三要素是什么?

【备注】概念来自《李航-统计学习方法》,个人认为一般的机器学习方法也是由这三要素组成的,理解这三要素对于理解机器学习理论很有帮助,尤其是未经过科班学习的同学,常常会对算法和模型之类的字眼有所混淆。

一个完整的机器学习方法(或统计学习方法)是由模型、策略和算法构成的:
方法 = 模型 + 策略 + 算法

基于监督学习的三要素解释如下:

Q9:损失函数的不同选取对结果的影响?

一般把最小化的一类目标函数,称为“损失函数”。在实际应用中,选取损失函数会受到诸多因素的制约,比如是否有异常值、机器学习算法的选择、梯度下降的时间复杂度、求导的难易程度以及预测值的置信度等等。因此,不存在一种损失函数适用于处理所有类型的数据。这篇文章就讲介绍不同种类的损失函数以及它们的作用。

平方损失函数绝对损失函数举例

其中平方损失函数(MSE)属于L2(L^2范数||*||_2)损失,绝对损失函数(MAE)属于L1(||*||_1)。

比较角度 MSE MAE
鲁棒性 对异常值敏感 对异常值更稳定
求导 导数自动适应 导数为常数

鲁棒性:直观上可以这样理解:如果我们最小化MSE来对所有的样本点只给出一个预测值,那么这个值一定是所有目标值的平均值。但如果是最小化MAE,那么这个值,则会是所有样本点目标值的中位数。众所周知,对异常值而言,中位数比均值更加鲁棒,因此MAE对于异常值也比MSE更稳定。
求导:更新的梯度始终相同,也就是说,即使对于很小的损失值,梯度也很大。这样不利于模型的学习。为了解决这个缺陷,我们可以使用变化的学习率,在损失接近最小值时降低学习率。

Huber损失函数,平滑的平均绝对误差

在某些情况下,上述两种损失函数都不能满足需求。例如,若数据中90%的样本对应的目标值为150,剩下10%在0到30之间。那么使用MAE作为损失函数的模型可能会忽视10%的异常点,而对所有样本的预测值都为150。
L_{\delta}(y,f(x)) =\begin{cases} \frac{1}{2}(y-f(x))^2 & 当|y-f(x)|<=\delta\\ \delta|y-f(x)|-\frac{1}{2}\delta^2 & otherwise\\ \end{cases}
Huber损失对数据中的异常点没有平方误差损失那么敏感。它在0也可微分。本质上,Huber损失是绝对误差,只是在误差很小时,就变为平方误差。误差降到多小时变为二次误差由超参数δ(delta)来控制。当Huber损失在[0-δ,0+δ]之间时,等价为MSE,而在[-∞,δ]和[δ,+∞]时为MAE。

image.png

log-Cosh损失函数

Log-cosh是另一种应用于回归问题中的,且比L2更平滑的的损失函数。它的计算方式是预测误差的双曲余弦的对数。
L(y,y^p)=\sum_{i=1}^n log(cosh(y_i - y_i^p))

image.png
优点:对于较小的x,log(cosh(x))近似等于(x^2)/2,对于较大的x,近似等于abs(x)-log(2)。这意味着‘logcosh’基本类似于均方误差,但不易受到异常点的影响。它具有Huber损失所有的优点,但不同于Huber损失的是,Log-cosh二阶处处可微。
上一篇 下一篇

猜你喜欢

热点阅读