美文网首页
1.2线性模型

1.2线性模型

作者: 南宫萧言 | 来源:发表于2019-04-11 16:11 被阅读0次

    1.线性回归

        给定数据集D=\left\{ (x_{1}, y_{1}), (x_{2}, y_{2}),..., (x_{m}, y_{m})\right\} ,其中x_{i}=(x_{i1} ;x_{i2};...;x_{id}),y_{i}\in  R."线性模型"试图学习一个线性模型以尽可能准确的预测实值标记。

    线性回归

    数据集上的函数,若二阶导数大于0,则为凸函数,若二阶导数小于0,则为凹函数。

    上述的闭式解,是指可以通过公式直接推导得出的解,区别于数值解,数值解为逼近值。

    下面从统计学意义看线性回归模型:

    模型表达式:
    f(x)=\sum_{i=1}^n \theta _{i}x_{i}  =\theta ^TX

    X为向量,代表多元的线性回归模型。

    误差:\epsilon ^i=y^i -f(x)

    误差是独立并且具有相同的分布,并且服从均值为0,方差为\sigma ^2 的高斯分布;

    预测值与误差:y^i =\sum_{i=1}^n \theta _{i}x_{i}  =\theta ^TX +\varepsilon ^i         (1)

    误差服从高斯分布:P(\varepsilon ^i )=\frac{1}{\sqrt{2\pi } \sigma } exp(-\frac{\varepsilon i ^2 }{2\sigma ^2 } )   (2)

    将(1)式代入(2)式,得

    P(y^i|x^i,\theta   )=\frac{1}{\sqrt{2\pi } \sigma } exp(-\frac{(y^i -\theta ^Tx^i  )^2 }{2\sigma ^2 } )

    使用似然函数估计预测与真实值的可能性

    L(\theta )=\prod_{i=1}^mP(y^i|x^i,\theta   )=\prod_{i=1}^m\frac{1}{\sqrt{2\pi } \sigma } exp(-\frac{(y^i -\theta ^Tx^i  )^2 }{2\sigma ^2 } )

    什么样的参数跟我们的额数据结合后恰好接近真实值。

    对数似然函数:

    \lg L(\theta )=\lg \frac{1}{\sqrt{2\pi } \sigma } exp(-\frac{(y^i -\theta ^Tx^i  )^2 }{2\sigma ^2 } )=m\lg \frac{1}{\sqrt{2\pi } \sigma }-\frac{1}{\sigma^2 }*\frac{1}{2}*\sum_{i=1}^m(y^i -\theta ^Tx^i  )  ^2

    目标让似然函数越大越好,则损失函数为:

    J(\theta )=\frac{1}{2}\sum_{i=1}^m(y^i -\theta ^Tx^i  )  ^2 =\frac{1}{2}(X\theta -y) ^T (X\theta -y)        最小二乘法

    方程式:\theta =(X^TX )^-1 (X^Ty ) 可通过直接求解获得参数,闭式解

    也可采用梯度下降获得他的数值解。

    \frac{\Theta J(\theta )}{\Theta \theta_{j}  }=-\frac{1}{m}\sum_{i=1}^m(y^i -h_{\theta x_{a}^b } )   x_{j}^i

    \theta_{j}=\theta _{j}+\frac{1}{m}\sum_{i=1}^m(y^i -h_{\theta x_{a}^b } )   x_{j}^i

    m为样本个数,上述为批量梯度下降,这种方法容易得到最优解,但是每次需要考虑所有样本,所以速度很慢。

    可以尝试随机梯度下降(SGD),\theta_{j}=\theta _{j}+(y^i -y_{\theta } (x^i) )   x_{j}^i  ,每次找一个样本,迭代速度块,但不一定每次都朝着差值收敛的方向

    此外,还有mini-batch方式的梯度下降,将分成小样本来更新权值。

    广义线性模型:

    广义线性模型的参数估计通常使用加权最小二乘法或极大似然法进行。

    2.对数几率回归(logistic regression)

    对数几率函数:y=\frac{1}{1+e^(-z) } ,图像为:

    对数几率函数

    对数几率函数是一种“Sigmoid”函数,它将z值转化成一个接近0~1的值,

    \frac{y}{1-y} 称为“几率(odds)”反应了x作为正例的相对可能性,对几率取对数则得到“对数几率”

    \ln \frac{y}{1-y} 。(3.18)实际上是再用线性回归模型的预测值取逼近真实标记的对数几率,称为“对数几率函数”

    优点:无需事先假设数据的分布;对数函数是任意阶可导的凸函数,可以通过许多数值优化算法直接求解最优值。

    模型的参数估计:

        对于给定的数据集T={(x_{1},y_{1} ),(x_{2},y_{2} ),...,(x_{n},y_{n} )},x_{i}\in R^n,y_{i}\in {0,1}   ,令P(Y=1|X)=\pi (x),P(Y=0|X)=1-\pi (x).

    我们通过“极大似然函数”来估计\omega b,使每个样本属于其真实标记的概率越大越好。

    似然函数为:\prod_{i=1}^N[\pi (x_{i} )^(y_{i})  +1-\pi (x_{i} )^(1-y_{i}) ]   最大化似然函数来求解\omega 和b

    L(\omega ,b)=\sum_{i=1}^N[y_{i}log\pi (x_{i} )+(1-y_{i} )log(1-\pi (x_{i} )) ]

                  =\sum_{i=1}^N[y_{i}log\frac{\pi (x_{i} )}{1-\pi (x_{i}} +log(1-\pi (x_{i} )) ]

                  =\sum_{i=1}^N[y_{i}(\omega *x_{a}+b ) -log(1+exp(\omega *x_{a}+b ))]

    代价函数:J(\theta )=-L(\theta ),求似然函数的极大,技术最小化代价函数。

    另一种说法:交叉熵,用于评估学习模型与训练分布之间的差异。

    对上式求导:\frac{\Theta L(\theta )}{\Theta \theta } =\sum_{n=1}^ny_{i}x_{i}-\sum_{i=1}^n\frac{exp(\theta^T *x+b)}{1+exp(\theta^T *x+b)}   =\sum_{i=1}^n(y_{i}-sigmoid(\theta^T*  x_{i} +b) )x_{i}

    使用迭代改变\theta ,达到最大值。

    相关文章

      网友评论

          本文标题:1.2线性模型

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