什么是機器學(xué)習(xí)
作為機器學(xué)習(xí)領(lǐng)域的先驅(qū),Arthur Samuel在 IBM Journal of Research and Development期刊上發(fā)表了一篇名為《Some Studies in Machine Learning Using the Game of Checkers》的論文中,將機器學(xué)習(xí)非正式定義為:”在不直接針對問題進(jìn)行編程的情況下,賦予計算機學(xué)習(xí)能力的一個研究領(lǐng)域。”
Tom Mitchell在他的《Machine Learning(中文版:計算機科學(xué)叢書:機器學(xué)習(xí) )》一書的序言開場白中給出了一個定義:
“機器學(xué)習(xí)這門學(xué)科所關(guān)注的問題是:計算機程序如何隨著經(jīng)驗積累自動提高性能。”
“對于某類任務(wù)T和性能度量P,如果一個計算機程序在T上以P衡量的性能隨著經(jīng)驗E而自我完善,那么我們稱這個計算機程序在從經(jīng)驗E學(xué)習(xí)?!?/p>
他沒有告訴機器應(yīng)該怎么下棋,機器可以自己不斷學(xué)習(xí)如何下棋,因此把這一過程帶入到定義中,我們知道:
E:機器不斷下棋的經(jīng)歷 T:下棋 P:下棋的勝率
機器學(xué)習(xí)分類
1.監(jiān)督學(xué)習(xí)(Supervised Learning):有標(biāo)準(zhǔn)答案(有標(biāo)簽)
regression 回歸問題(連續(xù)) 例:房價變化
classification 分類問題(離散) 例:字符識別
learning theory 學(xué)習(xí)理論
2.非監(jiān)督學(xué)習(xí)(Unsupervised Learning):沒有標(biāo)準(zhǔn)答案(無標(biāo)簽)
K-means聚類
PCA
3.強化學(xué)習(xí)/反饋學(xué)習(xí)(Reinforcement Learning)
你在訓(xùn)練一只狗,每次狗做了一些你滿意的事情,你就說一聲“Good boy” 然后獎勵它。每次狗做了something bad 你就說 "bad dog ",漸漸的,狗學(xué)會了做正確的事情來獲取獎勵。
強化學(xué)習(xí)與其他機器學(xué)習(xí)不同之處為:
- 沒有教師信號,也沒有l(wèi)abel。只有reward,其實reward就相當(dāng)于label。
- 反饋有延時,不是能立即返回。
- 相當(dāng)于輸入數(shù)據(jù)是序列數(shù)據(jù)。
- agent執(zhí)行的動作會影響之后的數(shù)據(jù)。
常用的字母表示
m => training examples 訓(xùn)練數(shù)據(jù)數(shù)目
x => input variables/features 輸入變量
y => output/target variable
(x,y) => training example
theta => parameters
training set
|
learning algorithm
|
input -> h(hypothesis) -> output
一元線性回歸
回歸分析(Regression Analysis)是確定兩種或兩種以上變量間相互依賴的定量關(guān)系的一種統(tǒng)計分析方法。在回歸分析中,只包括一個自變量和一個因變量,且二者的關(guān)系可用一條直線近似表示,這種回歸分析稱為一元線性回歸分析。
舉個例子:可以根據(jù)房子的平米數(shù)來估算房價
一元線性方程公式:
,可以用作擬合函數(shù)
如何求解擬合函數(shù)可以使用最小二乘法,所謂最小二乘,其實也可以叫做最小平方和。就是讓目標(biāo)對象和擬合對象的誤差最小。即通過最小化誤差的平方和,使得擬合對象無限接近目標(biāo)對象,這就是最小二乘的核心思想。所以把擬合值和實際值的差求平方和,可以得到損失函數(shù),最小化損失函數(shù)可以得到

求解方法
方法一:梯度下降

步長選擇:步長過小—收斂太慢 步長過大—無法收斂
批量梯度下降(Batch gradient descent )
全局最優(yōu),數(shù)據(jù)量太大無法計算

隨機梯度下降(Stochastic gradient descent)
適合于低精度的任務(wù)

方法二:正規(guī)方程組

兩種方法比較:

欠擬合和過擬合
首先我們來看一個線性回歸的問題,在下面的例子中,我們選取不同維度的特征來對我們的數(shù)據(jù)進(jìn)行擬合。
對于上面三個圖像做如下解釋:
選取一個特征




。此時它對于訓(xùn)練集來說做到了很好的擬合效果,但是,我們不認(rèn)為它是一個好的假設(shè),因為它不能夠做到更好的預(yù)測。
針對上面的分析,我們認(rèn)為第二個是一個很好的假設(shè),而第一個圖我們稱之為欠擬合(underfitting),而最右邊的情況我們稱之為過擬合(overfitting)
局部加權(quán)線性回歸
對于線性回歸算法,一旦擬合出適合訓(xùn)練數(shù)據(jù)的參數(shù)θi’s,保存這些參數(shù)θi’s,對于之后的預(yù)測,不需要再使用原始訓(xùn)練數(shù)據(jù)集,所以是參數(shù)學(xué)習(xí)算法。
對于局部加權(quán)線性回歸算法,每次進(jìn)行預(yù)測都需要全部的訓(xùn)練數(shù)據(jù)(每次進(jìn)行的預(yù)測得到不同的參數(shù)θi’s),沒有固定的參數(shù)θi’s,所以是非參數(shù)算法。


對于上述公式的理解是這樣的:x為某個預(yù)測點,x^((i))為樣本點,樣本點距離預(yù)測點越近,貢獻(xiàn)的誤差越大(權(quán)值越大),越遠(yuǎn)則貢獻(xiàn)的誤差越?。?quán)值越?。?。關(guān)于預(yù)測點的選取,在我的代碼中取的是樣本點。其中k是帶寬參數(shù),控制w(鐘形函數(shù))的寬窄程度,類似于高斯函數(shù)的標(biāo)準(zhǔn)差。
