线性回归

线性回归公式:hθ(x) = θ01x1+...+θnxn  ; 设x0=1

           =θTx

所有的求解方法都是在求θ,目标是让J(θ)最小化;J(θ)=1/2∑(hθ(x(i))-y(i))2  i=1...m(训练集的数量)

 

如何求θ

  方法1:梯度下降法:θj:=θj-α∂J(θ)/∂θj,其中α是学习速率,代表着你一步走多长,一般由人工指定,判断收敛的条件为多次叠代后θ的值稳定了

          因为∂J(θ)/∂θj=∂(1/2(hθ(x)-y)2)/∂θj

                  =2*1/2(hθ(x)-y)∂(hθ(x)-y)/∂θj

                  =(hθ(x)-y)∂(∑θixi-y)/∂θj    i=1...n(特征的个数)

                  =(hθ(x)-y)xj

             所以θj:=θj-α(hθ(x)-y)xj=θj+α(y-hθ(x))xj

        对于数量为M的训练来说其梯度下降的公式为:θj:=θj+α∑(y(i)-hθ(x(i)))x(i)j  i=1...m

   方法2:最小二乘法:设X=训练集里x组成的矩阵,Y=训练集里y组成的矩阵,那么则有:

             Xθ-Y=hθ(x(i))-y(i)组成的矩阵,则1/2(Xθ-Y)T(Xθ-Y)=J(θ)

             则对J(θ)进行对θ的求导并设最后结果为零能得出XTXθ-XTY=0,即θ=(XTX)-1XTY

 

J(θ)的由来:

  假设回归的误差是满足平均值为零的高斯分布

  那么L(θ)=∏p(y(i)|x(i);θ)=∏exp(-(y(i)-θTx(i))2/2σ2)/2πσ,在2π上有个根号

  设l(θ) = logL(θ),把公式展开后最后你就看见-J(θ)和一堆常数,因为l(θ)越大说明误差越小,所以优化的目标就成了让J(θ)越小

 

加权的线性回归:

  假设离我距离近的x点对回归的影响大,与我距离远的x对我回归的影响小,那么可以把优化的公式假设成:∑ω(i)(hθ(x(i))-y(i))2,ω(i)=exp(-(x(i)-x)2/2τ2)

  

这是本人的个人笔记,如有错误,欢迎拍砖。

PS:谁推荐个好用的公式编辑器啊,发现编辑公式好麻烦啊

  

posted @ 2013-01-04 00:23  frog_ww  阅读(392)  评论(0编辑  收藏  举报