關(guān)于機(jī)器學(xué)習(xí)你了解多少
圖1. 機(jī)器學(xué)習(xí)的基本過(guò)程
訓(xùn)練集(Training Set):為了研究一個(gè)變量(x)與另一個(gè)變量(y)的關(guān)系,而通過(guò)觀察、測(cè)量等方式獲得的一組數(shù)據(jù)。這組數(shù)據(jù)中收集了x和與之對(duì)應(yīng)的y——一個(gè)數(shù)據(jù)對(duì)(x, y)。例如我們要研究房屋面積(x)和售價(jià)(y)之間的關(guān)系,每觀察一套已出售的房屋,就得到一個(gè)數(shù)據(jù)對(duì)(x, y)。觀察10套已出售的房屋,就可以得到10個(gè)這樣的數(shù)據(jù)對(duì),這時(shí)就得到了一個(gè)用來(lái)研究房屋面積和售價(jià)之間的關(guān)系的訓(xùn)練集了(雖然樣本量比較?。?。這些數(shù)據(jù)集一般采集自現(xiàn)實(shí)環(huán)境中,屬于現(xiàn)象(我們的目的是透過(guò)現(xiàn)象看本質(zhì))。
樣本(Sample):訓(xùn)練集中采集數(shù)據(jù)的對(duì)象就是一個(gè)樣本,例如一套已出售的房屋。
模型(Model):由于某些歷史原因,機(jī)器學(xué)習(xí)中的模型也被叫做假設(shè)(hypothesis, h),這個(gè)h就是我們透過(guò)現(xiàn)象想要尋找的“本質(zhì)”。建立模型的過(guò)程通常就是確定一個(gè)函數(shù)表達(dá)式的過(guò)程(是否還記得寒假作業(yè)中的這類題目:觀察一組數(shù),寫(xiě)出下一個(gè)數(shù)是什么?)。最常見(jiàn)的模型是回歸模型(線性回歸或邏輯回歸等),例如我們假設(shè)房屋面積與售價(jià)之間的關(guān)系是一個(gè)線性回歸模型,則可以寫(xiě)成: h(θ)=θ0+θ1x…(1)h(θ)=θ0+θ1x…(1) 其中h是函數(shù)(可能更習(xí)慣叫做y,但在機(jī)器學(xué)習(xí)中y一般表示已知的函數(shù)值,即后面的因變量;這里的h相當(dāng)于預(yù)測(cè)得到的y),θ是函數(shù)的參數(shù)(也可以看做是每個(gè)自變量的權(quán)重,權(quán)重越大,對(duì)y的影響也越大),x是自變量。
訓(xùn)練模型(Training Model):選定模型(選擇合適的模型需要豐富的經(jīng)驗(yàn))后,函數(shù)的一般形式就確定了。通常所說(shuō)的訓(xùn)練模型是指利用訓(xùn)練集求解函數(shù)的待定參數(shù)的過(guò)程。上面的(1)式與直線方程的一般形式y(tǒng) = ax + b是相同的,這里不過(guò)換了一種寫(xiě)法。此時(shí)我們知道模型是一條直線,為了確定這條直線的確定方程,我們需要求出兩個(gè)未知的參數(shù)——θ0(截距)和θ1(斜率),如果訓(xùn)練集中只有兩個(gè)樣本,那就只是求一個(gè)二元二次方程組就解決問(wèn)題了。
特征(Feature):特征就是在一個(gè)模型中,所有想研究的自變量(x)的集合。例如我們?cè)谘芯糠课菔蹆r(jià)的模型中,所有可能影響售價(jià)的因素都可以看成是一個(gè)特征,房屋面積、所在城市、房間個(gè)數(shù)等。在建立模型的過(guò)程中,特征的選擇是一個(gè)大學(xué)問(wèn),甚至有專門(mén)的分支來(lái)研究特征選擇或特征表示。
2. 訓(xùn)練集的表示上面提到過(guò),訓(xùn)練集就是許多的(x, y)數(shù)據(jù)對(duì)的集合。其中x是因變量,y是自變量。通常認(rèn)為x的變化引起了y的改變,即x的值決定了y的值。在預(yù)測(cè)房屋價(jià)格的模型中,假如我們能找到所有影響房屋價(jià)格的因素(所有的x),并且確定各個(gè)因素準(zhǔn)確的參數(shù)(θ),那么理論上可以準(zhǔn)確的預(yù)測(cè)出任何房屋的價(jià)格(y)。
2.1 單因素訓(xùn)練集中自變量的表示方法
單因素相當(dāng)于方程中只有一個(gè)自變量,這個(gè)自變量可以用一個(gè)小寫(xiě)字母x來(lái)表示;
如果收集了多個(gè)樣本,則通過(guò)在右上角添加帶括號(hào)的角標(biāo)的方式區(qū)分,表示為x(1), x(2), 。。., x(m),其中m表示樣本的個(gè)數(shù);
矩陣的表示:向量一般用小寫(xiě)字母表示,矩陣用大寫(xiě)字母表示。所有單因素樣本中的x可以用一個(gè)m x 1(m行1列)的列向量x(小寫(xiě)字母)(只有一列的矩陣就是一個(gè)列向量)來(lái)表示: ???????x=(x(1)x(2)?x(m))
2.2 多因素訓(xùn)練集中自變量的表示方法
多因素相當(dāng)于方程中有多個(gè)自變量(多個(gè)feature),不同的自變量之間使用右下角添加不帶括號(hào)的角標(biāo)來(lái)區(qū)分,表示為x1, x2, 。。., xn,其中n表示feature的個(gè)數(shù);
當(dāng)存在多個(gè)樣本時(shí),可以用一個(gè)m x n(m行n列)的矩陣X(大寫(xiě)字母)來(lái)表示: ?????????X=[x1(1)x2(1)…xn(1)x1(2)x2(2)…xn(2)????x1(m)x2(m)…xn(m)]
2.3 訓(xùn)練集中因變量的表示方法
無(wú)論是單因素還是多因素,每一個(gè)樣本中都只包含一個(gè)因變量(y),因此只需要區(qū)分不同樣本間的y,y(1), y(2), 。。., y(m),其中m表示樣本的個(gè)數(shù);
用列向量y表示為:
???????y=(y(1)y(2)?y(m))
3. 參數(shù)的表示也許是某種約定,在機(jī)器學(xué)習(xí)中,一般都是用θ來(lái)表示參數(shù),參數(shù)是自變量X的參數(shù)(也可以看做是每個(gè)自變量的權(quán)重,權(quán)重越大的自變量對(duì)y的影響也越大),理論上,有多少個(gè)自變量就有多少個(gè)參數(shù),但就像在直線方程y = ax + b中表現(xiàn)出來(lái)的那樣,除了x的參數(shù)a,還有一個(gè)常數(shù)項(xiàng)b。因此參數(shù)一般比自變量的個(gè)數(shù)多一個(gè),當(dāng)有n個(gè)自變量的時(shí)候,會(huì)有n+1個(gè)參數(shù)。
最終的模型是由一個(gè)特定的方程來(lái)表示的,在訓(xùn)練模型的過(guò)程中,確定了這個(gè)方程中的未知參數(shù)。這些參數(shù)對(duì)于所有的樣本都是相同的,例如第一個(gè)樣本x(1)中的第一個(gè)自變量x1的參數(shù)與任意其他樣本x(i)中第一個(gè)自變量x1的參數(shù)是相同的。因此不用區(qū)分樣本間的參數(shù),只用區(qū)分不同自變量之間的參數(shù),可以使用一個(gè)n+1維的列向量θ來(lái)表示所有的參數(shù):
??????θ=(θ0θ1?θn)
4. 模型的表示這里說(shuō)的模型就是一個(gè)特定的函數(shù),上面已經(jīng)提過(guò),模型一般使用h來(lái)表示。下面用線性回歸模型來(lái)舉例說(shuō)明模型的符號(hào)表示。
4.1 直接表示
直接表示方法是我們?cè)跊](méi)有學(xué)習(xí)線性代數(shù)之前的代數(shù)表示方式。
單變量線性回歸方程: hθ(x)=θ0+θ1xhθ(x)=θ0+θ1x
多變量線性回歸方程: nhθ(x)=θ0+θ1x1+θ2x2+θ3x3+…+θnxn
4.2 矩陣表示
學(xué)習(xí)了線性代數(shù)后,可以使用矩陣來(lái)表示上面的方程,不僅表示起來(lái)方便,直接進(jìn)行矩陣運(yùn)算效率也更高效。在這里需要特別說(shuō)明的一點(diǎn)是,為了配合矩陣的表示,在上面的方程中添加了x0,并且x0=1,且將θ0作為x0的參數(shù)。
單變量/多變量線性回歸方程: ??????hθ(x)=Xθ=[x0(1)x1(1)…xn(1)x0(2)x1(2)…xn(2)????x0(m)x1(m)…xn(m)][θ0θ1?θn] ,此時(shí)X是一個(gè)m x (n+1)的矩陣,每一行表示一個(gè)樣本,每一列表示一個(gè)特征,結(jié)果是一個(gè)m x 1的列向量,其中m表示樣本的個(gè)數(shù),n表示變量的個(gè)數(shù)(X中的每一列具有同樣的參數(shù),一列表示在不同的樣本中同一個(gè)特征的取值);
當(dāng)只有一個(gè)樣本多個(gè)變量時(shí),還可以表示為: ??????hθ(x)=θTx=[θ0θ1…θn][x0x1?xn] ,此時(shí)x是一個(gè)(n+1)維的列向量,每一行表示一個(gè)變量的值。