zoukankan      html  css  js  c++  java
  • 最小二乘法least square

    上研究生的时候接触的第一个Loss function就是least square。最近又研究了一下,做个总结吧。

    定义看wiki就够了。公式如下

    E(w)=12n=1N{yxWT}2E(w)=12∑n=1N{y−xWT}2

    其中yy代表类标列向量,xx代表特征行向量,WW代表回归或者分类参数矩阵。通过令欧式距离最小化优化得到最优的WW。

    我遇到的第一个问题是,这个公式是怎么得到的,motivation是什么。我个人倾向于最大似然这个角度来解释。具体如下:

    假设回归或分类模型公式如下:

    y=WTx+ϵy=WTx+ϵ

    ϵN(0,σ2)ϵ∼N(0,σ2)代表加性高斯噪声,所以yN(WTx,σ2)y∼N(WTx,σ2)。这时通过独立观测xx得到一系列的观测值X=(x1,y1).,(xN,yN)X=(x1,y1)….,(xN,yN),则可写出对应的似然函数

    p(yX,w,σ)=ΠNn=1N(WTx,σ2)p(y∣X,w,σ)=Πn=1NN(WTx,σ2)

    两边同取自然对数,则

    ln(p(yX,w,σ))=i=1Nln(N(WTx,σ2))ln(p(y∣X,w,σ))=∑i=1Nln(N(WTx,σ2))

    N(WTx,σ2)=12πσ2√exp((yWTx2)2σ2)N(WTx,σ2)=12πσ2exp⁡(−(y−WTx)22σ2)

    ln(p(yX,w,σ))=12σ2n=1N{ynWTxn}212ln(2πσ2)ln(p(y∣X,w,σ))=−12σ2∑n=1N{yn−WTxn}2−12ln(2πσ2)

    最大似然函数,求解W,

    W=argminW12σ2n=1N{ynWTxn}212ln(2πσ2)W∗=argminW−12σ2∑n=1N{yn−WTxn}2−12ln(2πσ2)

    上式中第二项与WW无关,可以省略,故

    W=argminW12σ2n=1N{ynWTxn}2W∗=argminW−12σ2∑n=1N{yn−WTxn}2

    把上式中的σ2σ2取掉,就是我们熟悉的最小二乘法啦。

    求解时,对对数似然函数求偏导(注意矩阵求导的规则)

    ln(p(yX,w,σ))=Nn=1{ynWTxn}xTn∇ln(p(y∣X,w,σ))=−∑n=1N{yn−WTxn}xnT 令上式为0,则有

    n=1NynxTn=WTn=1NxnxTn∑n=1NynxnT=WT∑n=1NxnxnT

    两边同取矩阵的逆,则有: Nn=1xnyTn=Nn=1xnxTnW∑n=1NxnynT=∑n=1NxnxnTW

    如果用YY表示类标矩阵,XX表示特征矩阵,则有 XYT=XXTWXYT=XXTW W=(XXT)1XYTW=(XXT)−1XYT

    上面的公式称为normal equation。可以求得WW的封闭解,但是只要做过实验的都知道,如果XX的维数稍微一大,求逆的过程非常非常非常慢,且要消耗非常非常多的资源。所以WW一般用梯度下降法求解。

    最大似然法在一定程度上证明了最小二乘法的合理性,但是事实上在历史上最小二乘的出现早于前者,所以可以从其它的角度思考一下最小二乘的合理性。比如最小二乘的几何意义,这篇文章讲的挺好的,看了之后受益匪浅。

    from: http://bucktoothsir.github.io/blog/2015/12/04/leastsquare/

  • 相关阅读:
    多线程和多进程通信原理
    在树莓派4b上安装 ROS MELODIC 源码安装
    使用Android手机作为树莓派的屏幕
    树莓派桌面设置快捷键
    linux 下使用dd制作启动U盘 安装linux
    manjaro 18.10 install soft
    install slax record
    slax中改变终端字体
    为win10下的linux子系统终端添加powerline
    为ubuntu安装powerline记录
  • 原文地址:https://www.cnblogs.com/GarfieldEr007/p/5230368.html
Copyright © 2011-2022 走看看