第三章線性模型
本節(jié)文章主要討論線性模型的回歸炭剪,屬于線性模型上篇,主要介紹線性模型的基本形式脸侥,線性模型的回歸原理以及線性模型的分類用法(對數(shù)幾率回歸)
3.1線性模型的基本形式
假設(shè)一個某個數(shù)據(jù)集中的每個示例由d維屬性表示蒙兰,則其中每個示例均可以表示為X =(x1; x2; ...;xd),其中xi表示示例x在第i個屬性上的屬性值敏晤,則我們可以構(gòu)建如下的線性模型
f(x)? =?? w1*x1 + w2*x2 + ...... + wd*xd +b
若使用 W?? =(w1; w2;? ... ;wd),則上面的模型可以表示為
f(x) = ? transfer(W)· X? + b
在此基礎(chǔ)上缅茉,只要確定了W 和 b嘴脾,這個模型便確認下來。
?????? 線性模型 形式簡單蔬墩,易于建模译打,卻蘊涵著機器學(xué)習(xí)中一些重要的基本思想,許多功能強大的非線性模型,都是受線性基本模型的啟發(fā),通過引入層級結(jié)構(gòu)或高維映射而得拢军。同時,線性模型又有很好的可解釋性韵洋,W各維的相對大小就代表了各個屬性對結(jié)果的影響大小。
3.2 線性回歸
??????? 在創(chuàng)建基礎(chǔ)模型之前黄锤,通常需要確定各個屬性值的值域問題搪缨,此問題在此不做詳解,下面主要介紹如何在 已有 (X鸵熟,y)的情況下利用最小二乘法得出W和b的方法副编。
?????? 首先需要理解的是,我們希望求得的W和b需要滿足什么樣的條件流强。不難理解的痹届,我們希望通過f(x) = ? transfer(W)· X? + b 求得的f(x)與y的差值最小,即希望通過模型得出的結(jié)果與真實情況無限接近打月,這個誤差為0是我們追求的目標(biāo)短纵;然而,大多數(shù)情況下僵控,這個誤差難以達到0。
???????? 在有m個訓(xùn)練樣本的情況下鱼冀,我們希望使得∑((f(xi)- yi)^2)取得最小值报破。這里我們使用了每個樣本的預(yù)測誤差的平方作為求和的元素悠就,因為如果不加平凡,就可能存在一部分誤差為正而另外一些為負的情況充易,直接求和會使結(jié)果比真實值小很多梗脾,造成很大的誤差。這也就是均方誤差的概念盹靴,均方誤差有很好的集合意義炸茧,對應(yīng)了集合上的歐氏距離。因此我們得知稿静,能使均方誤差最小的W和b梭冠,就是我們希望求得的W和b,即
利用最小二乘法可以求得
? ? ? ?有關(guān)于最小二乘法的具體實現(xiàn)改备,請讀者參考其他資料控漠,這里提供一下計算思路:設(shè)出均方誤差E關(guān)于W和b的映射,然后將E對W和b分別求導(dǎo)悬钳,令導(dǎo)數(shù)為0盐捷,即可解出W和b。這里的依據(jù)是函數(shù)的導(dǎo)數(shù)意義默勾,體現(xiàn)在幾何上就是函數(shù)值變化率為0的點碉渡,函數(shù)在此處的導(dǎo)數(shù)為0。
? ? ? ?上面討論的是單屬性樣例數(shù)據(jù)集的情況母剥,相應(yīng)的滞诺,可以將屬性維數(shù)延伸到d維,此時的線性模型可以表示為
f(Xi) = ?transfer(W)·?Xi + b
? ? ? ? ?類似的媳搪,最小二乘法同樣可以確定出W和b铭段,需要運用一點線性代數(shù)的功能,有興趣的讀者可以推算一下秦爆。
? ? ? ? ? 線性模型雖簡單序愚,卻有豐富的變化〉认蓿基本線性模型我們希望預(yù)測值f(x)逼近真實標(biāo)記y爸吮,為便于觀察,我們將模型改寫為 y = transfer(W)X + b望门,嘗試令模型逼近 y 的衍生物形娇,比如ln(y),這就是“對數(shù)線性回歸”(log-linear regression)ln(y) =??transfer(W)X?+ b筹误。它實際上是試圖讓e^(transfer(W)X+b)逼近y桐早。形式上仍是線性回歸,但實質(zhì)上已是在求取輸入空間到輸出空間的非線性函數(shù)映射。更一般的哄酝,可以考慮單調(diào)可微函數(shù) g(·)友存,令
這樣得到的廣義線性模型,其中??g(·)稱為“聯(lián)系函數(shù)”(link function)陶衅。
3.3 對數(shù)幾率回歸
? ? ? ? 上一節(jié)討論的是線性模型屡立,在連續(xù)值域上的逼近,那這一節(jié)我們主要討論的是線性模型的分類用法搀军。這里要考慮的問題其實就是如何將連續(xù)值域上的值映射到離散值域上的問題膨俐;上一節(jié)末尾我們討論的聯(lián)系函數(shù),聯(lián)系函數(shù)可以將線性值域的輸入空間映射到非線性空間的輸出空間罩句,那是不是也可以用來將聯(lián)系值域的輸入空間映射到離散值域的輸出空間呢焚刺?
? ? ? ? 答案是肯定的。 單位階躍函數(shù)就具有我們希望的性質(zhì)
? ? ? ? 這里需要介紹一下單位階躍函數(shù)以及對數(shù)幾率函數(shù)
? ? ? ? 由于上一節(jié)討論的聯(lián)系函數(shù)需要單調(diào)可微的止,在此條件下單位階躍函數(shù)便不適用檩坚,因此我們引入的對數(shù)幾率函數(shù)
? ? ? ? ? 可以看出,對數(shù)幾率函數(shù)是一種“Sigmoid”函數(shù)诅福,它將z值轉(zhuǎn)化為一個接近0或1的值匾委。將對數(shù)幾率函數(shù)作為聯(lián)系函數(shù)帶入線性模型,得到
? ? ? ? ?轉(zhuǎn)化為
? ? ? ? ?若將y視為樣本x為正例的可能性氓润,則1-y為樣本x為反例的可能性赂乐。兩者的比值y/(1-y)稱為“幾率”(odds),反映了x作為正例的相對可能性咖气,對幾率取對數(shù) ln(y/(1-y))挨措,則得到對數(shù)幾率。
? ? ? ? 同樣崩溪,具體求得W和b的方法在此不做詳解浅役,筆者在此提供一個方法--“極大似然法”,這里使用到的數(shù)學(xué)原理較為高深(至少筆者認為 -_-|||)伶唯,有興趣的讀者可以嘗試嘗試觉既。
后記:
? ? ? ? 開始本系列文章已經(jīng)有些時日,開始進入機器學(xué)習(xí)的主要范圍乳幸。大部分內(nèi)容都只是為大家提供一個解決問題的思路瞪讼,較為詳細的數(shù)學(xué)推導(dǎo)都被讀者略過(諒解諒解,不提供數(shù)學(xué)公式編輯粹断,這樣寫實在麻煩符欠,寫出來也估計很難看懂。瓶埋。)這里要向大家道個歉希柿,但是歡迎大家私聊筆者一起學(xué)習(xí)诊沪,一起進步。
? ? ? ? 筆者寫這些文章的目的狡汉,不僅在于給讀者加深自己的印象娄徊,還在于和眾多機器學(xué)習(xí)愛好者一起探討、學(xué)習(xí)盾戴,筆者自身也有很多不明白的領(lǐng)域,只希望與大家共同學(xué)習(xí)兵多,共同進步尖啡!