美文网首页工作生活
Chapter01 机器学习基础

Chapter01 机器学习基础

作者: 司马山哥 | 来源:发表于2019-06-29 17:02 被阅读0次

    Q1:机器学习是什么?

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

    • 角度一:机器学习首先是一门学问,从而回答“是什么”的问题时,需要涉及该学问的研究对象(数据)和研究方法(数学和计算机理论)等内容;机器学习可以说是计算机和数学等学科结合比较紧密的学问,通过数学模型来描述要解决的现实问题,利用计算机卓越的计算性能,去迭代优化该数学模型,以求得对现实问题最佳的描述(或者刻画)。
    • 角度二:类比如日常生活中,人们通过对现实世界的观察和总结,以及不断地调整认识,最后得到一个对某些问题的理解;其中对现实世界的观察就是收集数据和分析特征,总结就是计算得到具体化的模型,调整认识就是迭代优化模型,最后得到一个比较优的模型(“最优”参数下的模型)。

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

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

    • 统计学通常出现在科学研究中,常用于验证变量间的关系,也称统计推断,例如新型药物的效果分析,通常就是基于统计学角度,说明实验组和对照组间存在显著性差异,这其中就涉及对因果关系的判定;传统的统计学不区分训练集和测试集,而是基于假设检验的方式来验证模型的效果,这通常使得模型具有一定的鲁棒性。
    • 机器学习理论除了涉及统计学还涉及线性代数、数论、微积分、计算机科学与工程等理论,它的目的就是精准的预测,所以通过分训练集和测试集,以获得模型最终的预测精度。

    再谈相似

    • 机器学习是以统计学为基础的(基础之一)——机器学习的研究对象是数据,数据本身是现实世界的一个样本,因此机器学习是研究样本数据的,而这就是统计学的根本任务;两者都是基于数据是随机的假设,对最终的结果做一些调整和检验,如统计学检验结果是否显著,机器学习通过测试集检验效果。

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

    (1)监督学习

    • 监督学习的任务是学习一个模型,使模型能够对任意给定的输入,对其相应的输出做出一个好的预测;通常样本集是带有标签的数据。
    • 常见的监督学习光学字符识别、语音识别、图像分类和语言翻译。

    (2)非(无)监督学习

    • 非监督学习是指对无标签数据的一类学习算法。因为没有标签信息,意味着需要从数据集中发现和总结模式或者结构。
    • 常见的非监督学习有降维、聚类等。

    (3)半监督学习

    • 是监督学习与无监督学习相结合的一种学习方法。半监督学习使用大量的未标记数据,以及同时使用标记数据,来进行模式识别工作。
    • 常见的半监督学习有半监督分类、半监督聚类、半监督回归等

    (4)强化学习

    • 强化学习,又称再励学习、评价学习或增强学习,是机器学习的范式和方法论之一,用于描述和解决智能体(agent)在与环境的交互过程中通过学习策略以达成回报最大化或实现特定目标的问题 。
    • 强化学习通常出现在一些游戏智能体上,通过强化学习可使程序达到一定人类的智能甚至超过(AlphaGo)

    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:机器学习三要素是什么?

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

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

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

    • 模型
      • 指针对所要解决的问题通过学习之后应该呈现的数学模型。在监督学习中,模型就是所要学习的条件概率分布或决策函数。比如在朴素贝叶斯方法中,模型就是条件概率分布(后验分布函数),在线性回归中,模型就属于决策函数(线性回归函数)。模型类型确定后所在的空间称为假设空间
    • 策略
      • 模型类型确定后,选取最优模型(参数)的准则称为策略,通常对应一个明确的目标函数;
      • 最优结果是基于风险函数最小寻找的,所以风险函数的确定就是策略的选取过程,风险最小化是常见的策略。
    • 算法
      • 算法是指学习(迭代优化)模型的具体计算方法,如牛顿迭代、梯度下降和EM算法等。机器学习基于训练数据,根据学习策略,从假设空间中选取最优模型,最后需要考虑用什么样的计算方法求解最优模型。
      • 算法的效率是机器学习中一个重要课题,也是工业界应用时看中的关键点之一。

    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二阶处处可微。

    相关文章

      网友评论

        本文标题:Chapter01 机器学习基础

        本文链接:https://www.haomeiwen.com/subject/hripcctx.html