zoukankan      html  css  js  c++  java
  • 机器学习方法:回归(一):线性回归Linear regression

    欢迎转载。转载请注明:本文出自Bin的专栏blog.csdn.net/xbinworld

    开一个机器学习方法科普系列:做基础回想之用。学而时习之;也拿出来与大家分享。数学水平有限,仅仅求易懂,学习与工作够用。周期会比較长。由于我还想写一些其它的,呵呵。

    content:
    linear regression, Ridge, Lasso
    Logistic Regression, Softmax
    Kmeans, GMM, EM, Spectral Clustering
    Dimensionality Reduction: PCA、LDA、Laplacian Eigenmap、 LLE、 Isomap(改动前面的blog)
    SVM
    ID3、C4.5
    Apriori,FP
    PageRank
    minHash, LSH
    Manifold Ranking,EMR
    待补充

    開始几篇将具体介绍一下线性回归linear regression,以及加上L1和L2的正则的变化。

    后面的文章将介绍逻辑回归logistic regression。以及Softmax regression。为什么要先讲这几个方法呢?由于它们是机器学习/深度学习的基石(building block)之中的一个。而且在大量教学视频和教材中重复被提到。所以我也记录一下自己的理解,方便以后翻阅。这三个方法都是有监督的学习方法,线性回归是回归算法,而逻辑回归和softmax本质上是分类算法(从离散的分类目标导出),只是有一些场合下也有混着用的——如果目标输出值的取值范围和logistic的输出取值范围一致。

    ok,废话不多说。

    1、Linear Regression

    能够说基本上是机器学习中最简单的模型了,可是实际上其地位非常重要(计算简单、效果不错。在非常多其它算法中也能够看到用LR作为一部分)。

    先来看一个小样例,给一个“线性回归是什么”的概念。图来自[2]。

    这里写图片描写叙述这里写图片描写叙述
    如果有一个房屋销售的数据例如以下:
    面积(m^2) 销售价钱(万元)
    123 250
    150 320
    87 160
    102 220
    … …

    当我们有非常多组这种数据。这些就是训练数据,我们希望学习一个模型,当新来一个面积数据时。能够自己主动预測出销售价格(也就是上右图中的绿线);这种模型必定有非常多。当中最简单最朴素的方法就是线性回归,也就是我们希望学习到一个线性模型(上右图中的红线)。只是说是线性回归,学出来的不一定是一条直线,仅仅有在变量x是一维的时候才是直线,高维的时候是超平面。

    定义一下一些符号表达,我们通常习惯用X=(x1,x2,...,xn)TRn×p表示数据矩阵,当中xiRp表示一个p维度长的数据样本;y=(y1,y2,...,yn)TRn表示数据的label,这里仅仅考虑每个样本一类的情况。

    线性回归的模型是这种。对于一个样本xi,它的输出值是其特征的线性组合:

    f(xi)=m=1pwmxim+w0=wTxi

    当中。w0称为截距。或者bias。上式中通过添加xi0=1w0也吸收到向量表达中了,简化了形式,因此实际上xip+1维度。

    线性回归的目标是用预測结果尽可能地拟合目标label,用最常见的Least square作为loss function:

    J(w)=1ni=1n(yif(xi))2=1nyXw2

    从下图来直观理解一下线性回归优化的目标——图中线段距离(平方)的平均值,也就是最小化到切割面的距离和。
    这里写图片描写叙述

    也就是非常多中文教材中提到的最小二乘;线性回归是convex的目标函数,而且有解析解:

    w^=(XTX)1XTy

    线性回归到这里就训练完毕了,对每个样本点的预測值是f(xi)=yi^=w^Txi

    所以:

    y^=Xw^=X(XTX)1XTy

    接下来看一下我们寻找到的预測值的一个几何解释:从上面的解析解w^=(XTX)1XTy能够得到XT(y^y)=0(垂直的向量相乘=0)。因此实际上y^y在平面X(由列向量x1x2张成。如果仅仅有两维)上的投影。


    预測值的直观解释

    ok,一般介绍线性回归的文章到这里也就结束了,由于实际使用中基本就是用到上面的结果,解析解计算简单而且是最优解;当然如果求逆不好求的话就能够不用解析解,而是通过梯度下降等优化方法来求最优解,梯度下降的内容不在本篇中,后面讲逻辑回归会说到。也能够看我前面写的今天開始学PRML第5章中有写到。或者直接翻阅wikipedia:gradient descent

    只是在这里我再略微提几个相关的分析,能够參考ESL[3]的第3章中的内容。前面我们对数据本身的分布是没有不论什么如果的。本节以下一小段我们如果观察值yi都是不相关的,而且方差都是σ2。而且样本点是已知(且是中心化过了的。均值为0)的。

    于是我们能够推出协方差矩阵

    Var(β^)=(XTX)1σ2

    证明:

    Var(β^)=(XTX)1XTyytX(XTX)1=(XTX)1σ2

    要预计方差σ2。能够用

    σ^2=1np1i=1n(yiy^i)2

    这里和一般的方差的形式看起来不同,分母是np1而不是n,是由于这种预计才是σ2的无偏预计。
    证明:

    E(σ^2)=E(1np1i=1n(yiy^i)2)=E(1np1[yX(XTX)1XTy]T[yX(XTX)1XTy]=E(1np1yT[InX(XTX)1XT]y=nσ2np11np1tr(X(XTX)1XTyyT)=nσ2np1σ2np1tr(X(XTX)1XT)=nσ2np1(p+1)σ2np1=σ2

    好,第一篇就写到这里。这个系列是从0開始的基础复习记录。力求清晰易懂。下一篇lasso和ridge regression。

    參考资料
    [1]http://freemind.pluskid.org/machine-learning/sparsity-and-some-basics-of-l1-regularization/
    [2]http://www.cnblogs.com/LeftNotEasy/archive/2010/12/05/mathmatic_in_machine_learning_1_regression_and_gradient_descent.html
    [3]The Elements of Statistical Learning,ch3

  • 相关阅读:
    HDU 1114 Piggy-Bank
    HDU 2955 Robberies
    NTOJ 290 动物统计(加强版)
    POJ 3624 Charm Bracelet
    HDU 2602 Bone Collector
    POJ 1523 SPF(无向图割顶)
    HDU 5311 Hidden String
    HDU 1421 搬寝室
    HDU 1058 Humble Numbers
    POJ 3259 Wormholes(spfa判负环)
  • 原文地址:https://www.cnblogs.com/yutingliuyl/p/7074057.html
Copyright © 2011-2022 走看看