• 机器学习笔记(二)


    一、  Logistic回归与Logistic函数

      分类问题的标签可以是$yepsilon left { 0,1 ight },yepsilon left { 0,1,2 ight },yepsilon left { 0,1,2,3,... ight }$,对应分别为二元、三元、…分类问题。借鉴线性回归算法,我们希望预测样本属于每个标签的概率$pleft { y=i ight }$ ,而且$pepsilon left [ 0,1 ight ]$。将概率最大的标签作为分类结果。这里的概率就对应为假设函数$h_ heta (x)$,与线性回归不同,logistic回归要求$h_ heta (x)epsilon left lfloor 0,1 ight floor$。于是新的$h_ heta (x)$函数的构造如下:

      

    二、  Logistic决策边界(decision boundary)

      以二元分类为例,从假设函数中可以发现,当$ heta^Tx>0$时,概率大于0.5,因此预测y=1;反之预测y=0。$ heta^Tx=0$就是决策边界,其展开形式为:$ heta_0x+ heta_1x+ heta_2x+...=0$。对应的边界线如下图所示:

      

      这里的边界就是一条直线,将空间划分为两个区域。如果是多项式回归,那么边界可能是下面形式: 

      

    三、  Logistic代价函数

      以二元分类为例,Logistic回归同线性回归一样,都要确定合适的模型参数,来更好地预测概率。同样,使用代价函数来评价$ heta$好坏,logistic回归里采用对数代价形式:

      

            

        当所给标签为1时,如果预测的概率接近1,则代价接近0;如果预测的概率接近0,则代价接近无穷。当所给标签为0时,如果预测的概率接近1,则代价接近无穷;如果预测的概率接近0,则代价接近1

      

      

    四、  Logistic梯度下降

      用代价函数去惩罚模型参数:

      

       对式3-1求偏导可得:

      

    五、 多分类问题

      解决多分类的一种思想是分解为多个二分类,为每一个二分类都维护一个假设函数,记成下面的形式:  

      

      例如三分类中,我们维护三个假设函数:$h_ heta^{(0)}(x)、h_ heta^{(1)}(x)、h_ heta^{(2)}(x)$,表示属于三个类的概率,当更新$h_ heta^{(0)}(x)$时,将标签为0的视作0,将标签为12都视作1。$h_ heta^{(1)}(x)、h_ heta^{(2)}(x)$也类似。最终预测分类的时候,比较三个假设函数值的大小,取概率最大的作为分类标准。

      

      

    六、 Logistic优化算法

      除了梯度下降算法,还有以下优化算法,采用优化算法,可以自动选择合适学习率,收敛更快;一般采用这些优化算法而非梯度下降,这里暂不深究算法原理与实现。

    1.共轭梯度算法(conjugate gradient

    它的每一个下降方向是与上一次共轭的,其优点是所需存储量小,收敛快,稳定性高,而且不需要任何外来参数。

    下图绿线为共轭梯度法。

    2.拟牛顿法(BFGS)

    牛顿法的突出优点是收敛很快,但是运用牛顿法需要计算二阶偏导数,而且目标函数的Hesse矩阵可能非正定。为了克服牛顿法的缺点,人们提出了拟牛顿法,它的基本思想是用不包含二阶导数的矩阵近似牛顿法中的Hesse矩阵的逆矩阵。

    3.限制内存BFGS(L-BFGS)

       在BFGS算法中,当优化问题规模很大时,矩阵的存储和计算将变得不可行。为了解决这个问题,就有了L-BFGS算法。L-BFGS的基本思想是只保存最近的m次迭代信息,从而大大减少数据的存储空间。

    七、 过拟合(overfitting)与正则化(regularization)

    1.过拟合

        过拟合是指当特征量较多,或特征中有高阶项,而数据较少时,存在过分拟合的情况,与之相反的情况为欠拟合。这两种情况都对预测不利。

        

        解决过拟合的办法一种是减少特征量,但会造成特征信息减少;另一种是正则化。

    2.回归的正则化

        对于一般地代价函数,单独地加上对参数的惩罚,如下:

        

        这个代价函数由两部分组成:前部分是偏差,可以让函数更加贴合点,后部分可以限制参数的大小。当λ取值较大,为了最小化代价,每个参数都会趋近0,最终拟合结果就是$h_ heta(x^{(i)})=0$。如果λ适当,则既可以很好地贴合数据点,又能避免过拟合现象。

        回归算法的正则化更新方程如下,对线性回归和逻辑回归都适用:

        

        一般$1-alphafrac{lambda }{m}$的值非常接近1,例如0.98。对于正规方程的正则化公式如下,采用正则化的另一个好处是它能保证正规方程是一定可逆的。

         

  • 相关阅读:
    OpenGL编程 基础篇(二)Sierpinski垫片
    PAT1045. Favorite Color Stripe
    OpenGL编程 基础篇(一)
    百练1145:Tree Summing
    百练1745:Divisibility
    百练1321:棋盘问题
    Scrapy架构及其组件之间的交互
    MongoDB快速入门
    Redis快速入门
    Memcache所有方法及参数详解
  • 原文地址:https://www.cnblogs.com/kensporger/p/11782821.html
Copyright © 2020-2023  润新知