美文网首页
机器学习基石(二)

机器学习基石(二)

作者: 宣的写字台 | 来源:发表于2017-12-08 23:26 被阅读0次

    《机器学习基石》是国立台湾大学林轩田讲授的一门课程,课程的续集是《机器学习技法》。《机器学习基石》是网上热荐的一门机器学习课程,相关资源可以在youtube找到,也可在评论区索要云盘链接。本文主要是我学完一遍基石&技法后的笔记梳理,如果存疑请以原课程讲授内容为准,欢迎讨论~[注]本文仅适用于帮助复习,不适用于代替视频课程。

    基石分为4个部分,分别为什么时候机器能够学为什么机器能够学习,机器是如何学习的,怎样让机器学得更好,什么时候机器能够学习?本文主要梳理后两部分。

    三 机器是如何学习的

    1线性回归

    1.1 y

    1.2 err:最小平方误差

    1.3求最小平方错误的解析解

    1.3.1先矩阵化

    1.3.2再求梯度

    如图,

    Ein是连续、可微的凸函数

    1.3.3令梯度为0,得到解析解

    1.3.4由此得到线性回归算法

    1.4线性回归真的在学习吗?(Ein会很小,Ein=Eout?)

    1.4.1列式

    1.4.2作图:

    y:n维,WLin:d+1维,y^=XWLin,则y^是X的线性组合,y^落在X展开的空间内

    帽子矩阵H希望y-y^最小那就要求y-y^垂直于span,此时y^就是y在span上的投影

    claim给的公式对数学感兴趣的话可以证明。

    1.4.3用noise衡量余数,

    1.4.4作曲线图,

    其中Eout的式子推导过程类似Ein,感兴趣可以推导。

    故,当N够大时Ein真的会很小,且=Eout

    1.5 PK线性分类

    1.5.1线性回归更好做

    1.5.2好的线性回归可以保证好的线性分类

    1.5.3可以用线性回归做分类问题的基础

    2逻辑回归

    2.1 y

    2.2 err(交叉熵错误)

    由最大化似然,到最小化交叉熵:

    2.3最小交叉熵错误的梯度下降解

    2.3.1梯度

    2.3.2下降

    逻辑回归的梯度比线性回归(如下图)复杂得多,

    难求解析解。故,采用迭代优化的方法,

    泰勒展开

    方向v的选择:

    步长η的选择:

    图中紫η=红η*梯度大小,是梯度大小的一个单调函数

    2.3.3逻辑回归算法

    2.4随机梯度下降

    其中,n是一个随机点。θ(…)(…)是一个该点梯度的相反数。

    形象上,批量梯度是针对所有点都下降的方向(径直向谷底滚下去),而随机梯度是针对某一个点下降的方向(盘旋着向谷底滚下去),最终它们都能到达局部最优解,但随机梯度下降更简单、好算。

    2.5 PK线性分类、线性回归

    2.5.1三者总览

    其中,

    2.5.2好的逻辑回归可以保证好的线性分类

    其中,VC指的是

    2.5.3可以用逻辑回归做分类问题的基础(比线性回归更好)

    3多类别分类

    3.1把二元分类器组合起来

    3.2将上例分类器该为软性二元分类器(用逻辑回归来做)

    软性分类器中,颜色越深代表概率越大。组合器选择概率最大的表达。

    3.3 OVA分解算法

    [注]第一步的k个任务可以分给k个机器做。

    3.4 OVO算法(解决数据不平衡问题)

    4.非线性转换

    4.1圆形可分和线性可分

    所以说z线性可分不代表x圆形可分,可能是椭圆可分等。

    4.2一般二次假说集

    4.3非线性转换的步骤

    其中包含两个变量:Φ和A

    4.4Φ

    4.4.1基于领域知识

    4.4.2计算/存储代价

    4.4.3模型复杂度代价

    采用太高维的转换,可能造成过拟合。 

    4.5线性优先

    四 怎样让机器学得更好

    1不够好与过拟合

    过拟合的原因:过度的dvc(开太快),杂讯(路不平),资料有限(路况了解有限)

    1.1 “速度”的影响:两个案例

    1.1.1 10维有杂讯

    D=F+noise:

    H:

    结果:

    1.1.2 50维无杂讯

    D:

    H:

    结果:

    关于deterministic noise

    1.1.3结论:开慢点

    有随机/确定杂讯时,受限的learner都要做的比过拟合的learner好

    1.2“路不平”“路况了解程度”的影响:随机/确定杂讯&数据量对过拟合程度的影响

    假设f是10次方,则Qf=10

    2所以怎样让机器学得更好呢?

    2.1开慢点:从简单模型开始(线性优先)1.1已证

    2.2数据清洗/剪枝

    2.3数据提示

    2.4正则化

    2.4.1如何回溯?

    2.4.1.1硬限制

    硬限制的限制太强了,H10做出来的和H2做出来的效果一样

    2.4.1.2故放松限制

    这样做出来的H10比H2强,但又比H10弱,但是很难解出来。

    2.4.1.3软限制

    这样的限制存在一些不精确的问题,但是可以解了

    2.4.2软限制求解

    2.4.2.1矩阵化

    2.4.2.2几何意义

    条件的几何意义:

    对梯度下降的限制:

    在球内可以自由地沿梯度下降方向滚,到达球面时只能沿着球的切线方向滚(不能滚出球面) 当切线方向与负梯度方向垂直时,得到的Wreg就是最优解。

    2.4.3用拉格朗日乘数法求解

    其中,其中λ的系数2/N是为了化简,解析解中ZTZ半正定,λ>0,则ZTZ+λI为正定矩阵,必可逆

    2.4.4等效的无条件问题

    有条件问题限制C的大小,等效的无条件问题用λ控制惩罚

    2.4.4.1λ的效果

    2.4.4.2勒让德多项式

    假设一个点时Q维的,每一维都∈[-1,1], 如果按传统多项式来做,则这个点的高维部分需要更大的系数来描述才能发挥作用 如果按勒让德多项式来做,则这个点的高维部分能跟低维部分产生一致的影响力

    2.4.5正则化后的VC bound

    通过λ控制Eaug,间接地通过C限制了Ein,做好了VC bound 

    2.4.5.1一种解释

    2.4.5.2另一种解释

    2.4.6实际应用

    2.4.6.1 Regulizer的选择

    L2regulizer做出来的optimize和原来并没什么不同,只是为了回溯。 L1regulizer可以让结果更平滑(去噪))

    2.4.6.2λ的选择

    λ通过validation(验证)的方式来选择。

    2.5验证

    2.5.1原因

    2.5.2基于验证集的验证过程

    训练集喂给A得到g-

    2.5.3验证集的大小

    2.5.3.1对Eout的影响

    2.5.3.2对Eval≈Eout的影响

    我们希望small K,这样训练集做出来的g-和整个数据集做出来的g不会差太远

    同时又希望large K,这样验证集(可以看成是测试集的一部分)验出来的E才和测试集测出来的E不会差太远

    只有Eout和Eval够像且最后回传的g和g-够像,小的Eval(g-)才能保证小的Eout(g)

    2.5.4留一法交叉验证

    留一法:每次只去掉一个训练点保证了训练集足够大,每次的g-和实际的g不会差太多

    交叉验证:每个点都留一遍取平均保证了验证集足够大,平均验证结果和实际测试结果接近

    最终Eloocv(g-)≈Eout(g)

    数学证明如下:

    Eloocv(g-)的期望值= Eout(g-)的期望值≈Eout(g)的期望值

    2.5.4.1优点

    图中,Ecv≈Eout(差距<0.01)

    基于Ein选择会使用较高的feature转换(高维曲线)从而使Ein=0,过拟合

    而基于Ecv选择会使用适中的feature转换,图中#=5或7的位置,做出来比Ein好

    2.5.4.2缺点

    2.5.4.3改进

    2.5.5做validation不一定会花更多时间

    五 总结

    1三个概念

    2 3个bound

    3 3个线性模型

    4 3个基本工具

    5 3个原则

    5.1奥卡姆剃刀

    5.2抽样偏差

    5.3数据窥探

    相关文章

      网友评论

          本文标题:机器学习基石(二)

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