大白話5分鐘帶你走進人工智慧-第四節最大似然推導mse損失函式(深度解析最小二乘來源)(2)

LHBlog發表於2019-03-25

 第四節  最大似然推導mse損失函式(深度解析最小二乘來源)(2)

       上一節我們說了極大似然的思想以及似然函式的意義,瞭解了要使模型最好的引數值就要使似然函式最大,同時損失函式(最小二乘)最小,留下了一個問題,就是這兩個因素或者目的矛盾嗎?今天我們就接著上面的問題繼續解剖下去。

我們再來回顧下似然函式:

                                                    \prod_{i=1}^{m}p(y^{(i)}|x^{(i)};\theta )=\frac{1}{\sqrt{2\pi }\sigma }exp(-\frac{(y^{(i)-}{\theta^{T}x^{(i)^{2}} })}{2\sigma ^{2}})所謂似然函式就是一個大的乘項,它有多少項,取決於有多少個訓練集的樣本,因為它是判斷訓練集上發生的總概率最大的這麼一個總似然函式。我們分析一下似然函式的取值由哪些因素確定?\pi是常數,\sigma雖然是未知數,但是是個定值不能來回變,誤差應該服從方差的高斯分佈,不能來回變方差,唯一又能變又能影響最終結果的變數就是這一組w也就是\theta。 那麼我們的目標就是找到一個θ(一組w) 使通過其計算出來似然函式結果最大,我們給似然函式起個名字叫L(\theta ),為什麼括號裡是\theta,因為L的大小隻看\theta的臉色,其它值都是定值,改變不了最終結果,只有\theta能改變結果,所以是關於\theta的函式。由於似然函式內部帶著exp函式, 並且函式本身的形式是連乘,不太好求,所以我們在似然函式之前加了個log函式,因為log函式它是一個單調函式,而且是單調遞增函式,不會影響函式的相對大小,並且log(a.b)=loga+logbloga^{n}=nloga,天生的良好屬性。它能函式中的累乘變成累加,更方便求解。所以為了似然函式的更好求解,我們在L(\theta )兩邊加上log函式,如下:

                                                                                                                                                     l(\theta )=logL(\theta) =log\prod_{i=1}^{m}\frac{1}{\sqrt{2\pi }\sigma }exp(-\frac{(y^{(i)-}{\theta^{T}x^{(i)^{2}} })}{2\sigma ^{2}})

                                                                                                                                                                                  =\sum_{i=1}^{m}log\frac{1}{\sqrt{2\pi }\sigma }exp(-\frac{(y^{(i)-}{\theta^{T}x^{(i)^{2}} })}{2\sigma ^{2}}

        =mlog\frac{1}{\sqrt{2\pi }\sigma }-\frac{1}{\sigma ^{2}}.\frac{1}{2}\sum_{i=1}^{m}(y^{(i)}-\theta ^{T}x^{(i)})^{2}

我們來解析上面的每一步的來源,第一步不用怎麼說,就是加了一個log, 需要注意的是沒加log之前是大寫的L(\theta ),加完log之後就是小寫的l(\theta )。第一步到第二步實際上就是對於每一個樣本之前的累乘,由於log(a.b)=loga+logb,加完log之後,所有的累乘變成累加,然後又用\sum表示出來。第二步到第三步,因為第二步中mlog\frac{1}{\sqrt{2\pi }\sigma }exp(-\frac{(y^{(i)-}{\theta^{T}x^{(i)^{2}} })}{2\sigma ^{2}}  累加,每一個利用log(a.b)=loga+logb屬性表示成log\frac{1}{\sqrt{2\pi }\sigma }+logexp(-\frac{(y^{(i)-}{\theta^{T}x^{(i)^{2}} })}{2\sigma ^{2}},而log\frac{1}{\sqrt{2\pi }\sigma }是常數,所以m個累加就是mlog\frac{1}{\sqrt{2\pi }\sigma },而後半部分logexp(-\frac{(y^{(i)-}{\theta^{T}x^{(i)^{2}} })}{2\sigma ^{2}}累加,因為loge=1,log和e在一起可以互相消掉,所以logexp(-\frac{(y^{(i)-}{\theta^{T}x^{(i)^{2}} })}{2\sigma ^{2}})=-\frac{(y^{(i)-}{\theta^{T}x^{(i)^{2}} })}{2\sigma ^{2}}因為每一項x^{i}不一樣,所以寫成\frac{1}{\sigma ^{2}}.\frac{1}{2}\sum_{i=1}^{m}(y^{(i)}-\theta ^{T}x^{(i)})^{2},同時後半部分結果又把負號也給提出來了,那麼加起來結果就是我們的第三步mlog\frac{1}{\sqrt{2\pi }\sigma }-\frac{1}{\sigma ^{2}}.\frac{1}{2}\sum_{i=1}^{m}(y^{(i)}-\theta ^{T}x^{(i)})^{2}。給自己鼓個掌吧 ,這麼難得公式都會了,而且跟著我一步步的給它解釋出來,真是不容易。到此為止,我們就分析一下,能夠使第三步即:

                                                                                                                                                                                        mlog\frac{1}{\sqrt{2\pi }\sigma }-\frac{1}{\sigma ^{2}}.\frac{1}{2}\sum_{i=1}^{m}(y^{(i)}-\theta ^{T}x^{(i)})^{2}

最大的\theta是誰呢? 因為mlog\frac{1}{\sqrt{2\pi }\sigma }是常數項,不去考慮它,它始終為正,所以有它沒它都不會影響相對大小。那麼也就是說只要-\frac{1}{\sigma ^{2}}.\frac{1}{2}\sum_{i=1}^{m}(y^{(i)}-\theta ^{T}x^{(i)})^{2}這一項越大,原始的L(\theta )函式就越大。注意這前面帶個負號,因為我們是看成兩個整體相加,所以後半部分的那一項是帶個負號的。那麼把負號去掉了,或者說這一項\frac{1}{\sigma ^{2}}.\frac{1}{2}\sum_{i=1}^{m}(y^{(i)}-\theta ^{T}x^{(i)})^{2},這一項越小,原始的L(\theta )函式就越大。而\sigma是常數,不影響大小,也就是說能夠使\frac{1}{2}\sum_{i=1}^{m}(y^{(i)}-\theta ^{T}x^{(i)})^{2}最小的\theta就是能夠使L(\theta )最大的\theta是不是已經很眼熟了?我們回顧下MSE(最小二乘):

                                                                                                                                                                                                       J(\theta )=\frac{1}{2}\sum_{i=1}^{m}(h_{\theta}x^{i}-y^{i})^{2}

發現一模一樣,因為裡面的(y^{(i)}-\theta ^{T}x^{(i)})^{2}位置不會影響相對大小。所以MSE(最小二乘)怎麼來的?為什麼說MSE(最小二乘)越小\theta就越好,取決於你背後估計了所有的誤差,服從高斯分佈,如果它不服從高斯分佈,也就不能用mse來判斷了。截止到目前,我們就發現了把它作為損失函式,真的是非常合理實際上這就是它背後的理論依據。 

       我們總結下,我們說判別模型事先給定一個判別函式,對吧?它這個例子判別函式y=\theta ^{T}x根據判別函式來合理的構造出一個損失函式來。這個損失函式往往都是通過MLE,也就是最大似然估計為理論基礎建立出來的最合理的損失函式,而最大似然的理論源泉是誤差服從均值為零的高斯分佈,也即樣本服從高斯分佈,而後通過最大似然一步步推導得到最小二乘。,所以mse的損失函式的根本理論依據是什麼?你就應該回答為假設方差服從均值為零的高斯分佈。至於是不是所有的迴歸問題,都用MSE當損失函式,不一定。但是90%都是它。在一些特殊的場景裡,你已知誤差服從別的分佈了,那就會建立出別的損失函式來。比如huber損失函式,有興趣可以自己研究下。但絕大多數的場景都會使用MSE作為迴歸問題的損失函式。因為在你不知道任何情況的前提下,假設誤差服從高斯分佈是最常見且最合理的一種方式。自此,你從理論方面推導了最大似然和最小二乘的關係,也為最小二乘作為損失函式找到了數學的理論支撐。下一節中我們講解怎麼樣求解最小二乘或者使其相對最小,從而找到我們相對合理的模型引數\theta

相關文章