1. 程式人生 > >機器學習第三章

機器學習第三章

1.線性模型的基本形式(P53)

       給定d個屬性描述x=(x_{1};x_{2};...;x_{d}),預測函式如下形式

        f(x)=w_{1}x_{1}+w_{2}x_{2}+...+w_{d}x_{d}+b

一般向量形式

       f(x)=w^{T}x+b                                                                            (3.2)

其中w=(w_{1};w_{2};...;w_{d}),為列向量。w和b學得之後,就可以確定模型。

2.線性迴歸

        給定資料集D=\left \{ \left ( x_{1}, y_{1}\right ),\left ( x_{2}, y_{2}\right ),...,\left ( x_{m}, y_{m}\right ) \right \},其中x_{i}=\left ( x_{i1}; x_{i2};...; x_{id} \right )y_{i}\in \mathbb{R}.已知屬性和結果,學習w和b。

       f(x_{i})=wx_{i}+b,即使得f(x_{i})\simeq y_{i}

       這裡我們使用均方誤差的方式去度量回歸任務的效能,因此我們讓均方誤差最小化

        (w^{*},b^{*})=\arg min_{(w,b)}\sum_{i=1}^{m}(f(x_{i})-y_{i})^{2} = \arg min_{(w,b)}\sum_{i=1}^{m}(y_{i}-wx_{i}-b)^{2}                    (3.4)

        求解w和b使(3.4)式最小化的過程,稱為線性迴歸模型的最小二乘“引數估計”。分別對w和b求導,

                                   E_{(w,b)}=\sum_{i=1}^{m}(y_{i}-wx_{i}-b)^2

         由上式可得到

                     E_{(w,b)} = \sum_{i=1}^{m}(y_{i}-b-wx_{i})^2=\sum_{i=1}^{m}((y_{i}-b)^2+wx_{i}^2-2wx_{i}(y_{i}-b))(3.5.1)

                    E_{(w,b)} = \sum_{i=1}^{m}(y_{i}-wx_{i}-b)^2=\sum_{i=1}^{m}((y_{i}-wx_{i})^2+b^2-2b(y_{i}-wx_{i}))(3.6.1)

           使用(3.5.1)式對w求導得

                     \frac{\partial }{\partial w}\sum_{i=1}^{m}(y_{i}-b)^2=0

                     \frac{\partial }{\partial w}\sum_{i=1}^{m}(wx_{i})^2=\sum_{i=1}^{m}2wx_{i}^2

                     \frac{\partial }{\partial w}\sum_{i=1}^{m}2wx_{i}(y_{i}-b)=\sum_{i=1}^{m}2x_{i}(y_{i}-b)

                    \frac{\partial E(w,b)}{\partial w}=2\sum_{i=1}^{m}(wx_{i}^2-\sum_{i=1}^{m}x_{i}(y_{i}-b))                                                              (3.5)

        使用(3.6.1)式對d求導得

                  \frac{\partial }{\partial b}\sum_{i=1}^{m}(y_{i}-wx_{i})^2=0

                \frac{\partial }{\partial b}\sum_{i=1}^{m}b^2=2mb

               \frac{\partial }{\partial b}\sum_{i=1}^{m}2b(y_{i}-wx_{i})=\sum_{i=1}^{m}2(y_{i}-wx_{i})

              \frac{\partial E(w,b)}{\partial b}=2\sum_{i=1}^{m}(mb-\sum_{i=1}^{m}(y_{i}-wx_{i}))                                                                  (3.6)

          令(3.5),(3.6)為0,可得到w和b的最優解。

  多元線性迴歸

           令w'=(w;b),X=\begin{pmatrix} x_{11} & x_{12}& ...& x_{1d}& 1\\ x_{21} & x_{22}& ...& x_{2d}& 1\\ .& .& .& .&.\\ x_{m1} & x_{m2}& ...& x_{md}& 1\\ \end{pmatrix}=\begin{pmatrix} x_{1}^T & 1\\ x_{2}^T & 1\\ .& .\\ x_{m}^T & 1\\ \end{pmatrix},則f(X)=w'X

            PS:X矩陣在這裡多加了一個‘1’元素,是為了與b相乘,f(X)=\begin{pmatrix} w \\ b \end{pmatrix}\begin{pmatrix} x^T &1 \end{pmatrix}=wx^T+b

           類似於(3.4)式,有

                                        w^{'*}=\arg min_{(w^{'})} (y-Xw^{'})^{T}(y-Xw^{'})                

          矩陣的轉置乘以矩陣本身等於矩陣的平方,A^{2}=A^{T}A

          對w^'求導得,將上式轉化為下式

                             E_{w^{'}}=(y-Xw^{'})^{T}(y-Xw^{'})\\ =y^{T}(y-Xw^{'})-(Xw^{'})^T(y-Xw^{'})\\ =y^{T}y-y^{T}Xw^{'}-y(Xw^{'})^T+(Xw^{'})^TXw^{'}

                           \frac{\partial E_{w^{'}}}{\partial w^{'}}=2X^{T}(Xw^{'}-y)                                                              (3.10)

3.對數機率迴歸

       對數線性模型,對(3.2)式兩邊取對數得

                                           lnf(x)=lne^{(w^{T}x+b)}

           簡化為以下形式

                                          y=g^{-1}(w^{T}x+b)                                                  (3.15)

         引入對數機率函式      y=\frac{1}{1+e^{-z}}

         將對數機率函式帶入(3.15)式,得

                                y=\frac{1}{1+e^{-(w^{T}x+b)}}                                            (3.18)

                                \frac{y}{1-y}=e^{(w^Tx+b)}                                               (3.18.1)

兩邊取對數,轉化為對數線性迴歸模型,得

                             ln\frac{y}{1-y}=w^{T}x+b

          概率模型           ln\frac{p(y=1|x)}{p(y=0|x)}=w^{T}x+b

          有(3.18)式轉換可得,

                           p(y=1|x)=\frac{e^{w^{T}x+b}}{1+e^{w^{T}x+b}},                                             (3.23)

                           p(y=0|x)=1-p(y=1|x)=\frac{1}{1+e^{w^{T}x+b}}                   (3.24)

         對數迴歸模型最大化“對數似然”

                          \l (w,b)= \sum_{i=1}^{m}lnp(y_{i}|x_{i};w,b)                                                      (3.25)

         令\beta =(w;b)x^{'}=(x;1),則w^{T}x+b可簡寫成\beta ^{T}x^{'}.再令p_{1}(x^{'};\beta )=p(y=1|x^{'};\beta )

 p_{0}(x^{'};\beta )=p(y=0|x^{'};\beta )=1-p_{1}(x^{'};\beta ),則式(3.25)中的似然項可重寫為

                              p(y_{i}|x_{i};w,b)=y_{i}p_{1}(x^{'}_{i};\beta )+(1-y_{i})p_{0}(x^{'}_{i};\beta )                      (3.26)

      y_{i}=1y_{i}=0,即可獲得式(3.23)和(3.24)

          (3.23)式用\beta簡寫,    p_{1}(x^{'}_{i};\beta )=\frac{e^{\beta ^{T}x^{'}_{i}}}{1+e^{\beta ^{T}x^{'}_{i}}}

           等式兩邊取對數 lnp_{1}(x^{'}_{i};\beta )=ln\frac{e^{\beta ^{T}x^{'}_{i}}}{1+e^{\beta ^{T}x^{'}_{i}}}=lne^{\beta ^{T}x^{'}_{i}}-ln(1+e^{\beta ^{T}x^{'}_{i}})=\beta ^{T}x^{'}_{i}-ln(1+e^{\beta ^{T}x^{'}_{i}})

           (3.24)式用\beta簡寫, p_{0}(x^{'}_{i};\beta )=\frac{1}{1+e^{\beta ^{T}x^{'}_{i}}}

            等式兩邊取對數lnp_{1}(x^{'}_{i};\beta )=ln\frac{1}{1+e^{\beta ^{T}x^{'}_{i}}}=-ln(1+e^{\beta ^{T}x^{'}_{i}})=-ln(1+e^{\beta ^{T}x^{'}_{i}})

      由以上可得,我們將(3.26)帶入(3.25),可得到最小化公式

\l (\beta )= \sum_{i=1}^{m}lnp(y_{i}|x_{i};\beta)= \sum_{i=1}^{m}(-y_{i}\beta ^{T}x^{'}_{i}+ln(1+e^{\beta ^{T}x^{'}_{i}}))                             (3.27)

       y_{i}=1y_{i}=0,即可得到以上推導過程,式(3.27)為最小化,(3.25)為最大化,

所以上式加了個負號。

       牛頓法求最優解

       (3.27)式對\beta求一階導,令f_{1}=ln(1+e^{\beta ^{T}x^{'}_{i}})f_{2}=-y_{i}\beta ^{T}x^{'}_{i}

        (PS:這裡普及一個對數求導公式,\frac{\partial ln(x)}{\partial x}=\frac{1}{x}\frac{\partial ln(x)}{\partial \beta }=\frac{1}{x}\frac{\partial x}{\partial \beta }

         由普及公式可知

                                 \frac{\partial f_{1}}{\partial \beta } =\frac{x^{'}_{i}e^{\beta ^{T}x^{'}_{i}}}{1+e^{\beta ^{T}x^{'}_{i}}}\frac{\partial f_{2}}{\partial \beta }=-y_{i}x^{'}_{i}                                                               (3.30.1)

                          \frac{\partial \l (\beta )}{\partial \beta }=\sum_{i=1}^{m}(-y_{i}x^{'}_{i}+\frac{x^{'}_{i}e^{\beta ^{T}x^{'}_{i}}}{1+e^{\beta ^{T}x^{'}_{i}}})\\=-\sum_{i=1}^{m}x^{'}_{i}(y_{i}-\frac{e^{\beta ^{T}x^{'}_{i}}}{1+e^{\beta ^{T}x^{'}_{i}}})=-\sum_{i=1}^{m}x^{'}_{i}(y_{i}-p_{1}(x^{'}_{i};\beta ))                                     (3.30)

       利用式(3.30)進行求導,可得式(3.27)的二階導,先對式(3.30.1)分別進行求導,先令F_{1} 為\frac{\partial f_{1}}{\partial \beta }F_{2}\frac{\partial f_{2}}{\partial \beta }

       (PS:分式求導公式,已知F(x)=\frac{x}{1+x},令g(x)=xf(x)=1+x,則\frac{\partial F(x)}{\partial x} =\frac{g(x)\frac{\partial f(x)}{\partial x}-f(x)\frac{\partial g(x)}{\partial x}}{f(x)^{2}})                       

       由已知公式,得

                       \frac{\partial F_{1}}{\partial \beta }=\frac{x^{'}_{i}e^{\beta ^{T}x^{'}_{i}}x^{'T}_{i}e^{\beta ^{T}x^{'}_{i}}-(1+e^{\beta ^{T}x^{'}_{i}})x^{'}_{i}x^{'T}_{i}e^{\beta ^{T}x^{'}_{i}}}{(1+e^{\beta ^{T}x^{'}_{i}})^{2}}\\=-\frac{x^{'}_{i}x^{'T}_{i}e^{\beta ^{T}x^{'}_{i}}}{(1+e^{\beta ^{T}x^{'}_{i}})^{2}}=-x^{'}_{i}x^{'T}_{i}p_{1}p_{0}=-x^{'}_{i}x^{'T}_{i}p_{1}(x^{'}_{i};\beta )(1-p_{1}(x^{'}_{i};\beta ))

                            \frac{\partial F_{2}}{\partial \beta }=0

      由以上推導可得二階導為

                          \frac{\partial^2 \l (\beta )}{\partial \beta\partial\beta^{T}}=\sum_{i=1}^{m}x^{'}_{i}x^{'T}_{i}p_{1}(x^{'}_{i};\beta )(1-p_{1}(x^{'}_{i};\beta ))

          用牛頓法進行多次迭代後,得到以下公式

                         \beta ^{t+1}=\beta ^{t}-(\frac{\partial^2 l (\beta )}{\partial \beta \partial \beta^{T}})^{-1}\frac{\partial l (\beta )}{\partial \beta }

         可以利用此公式進行多次迴圈,得出w和b

      (公式寫得有點多,有出錯的地方,請指正。)