什么是機器學(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í)非正式定義為:”在不直接針對問題進行編程的情況下劝堪,賦予計算機學(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í)驻呐。”
他沒有告訴機器應(yīng)該怎么下棋芳来,機器可以自己不斷學(xué)習(xí)如何下棋含末,因此把這一過程帶入到定義中,我們知道:
E:機器不斷下棋的經(jīng)歷 T:下棋 P:下棋的勝率
機器學(xué)習(xí)分類
1.監(jiān)督學(xué)習(xí)(Supervised Learning):有標準答案(有標簽)
regression 回歸問題(連續(xù)) 例:房價變化
classification 分類問題(離散) 例:字符識別
learning theory 學(xué)習(xí)理論
2.非監(jiān)督學(xué)習(xí)(Unsupervised Learning):沒有標準答案(無標簽)
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就相當于label嗦明。
- 反饋有延時笼沥,不是能立即返回。
- 相當于輸入數(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ù)可以使用最小二乘法钥弯,所謂最小二乘,其實也可以叫做最小平方和督禽。就是讓目標對象和擬合對象的誤差最小脆霎。即通過最小化誤差的平方和,使得擬合對象無限接近目標對象狈惫,這就是最小二乘的核心思想睛蛛。所以把擬合值和實際值的差求平方和,可以得到損失函數(shù)胧谈,最小化損失函數(shù)可以得到
求解方法
方法一:梯度下降
步長選擇:步長過小—收斂太慢 步長過大—無法收斂
批量梯度下降(Batch gradient descent )
全局最優(yōu)忆肾,數(shù)據(jù)量太大無法計算
隨機梯度下降(Stochastic gradient descent)
適合于低精度的任務(wù)
方法二:正規(guī)方程組
兩種方法比較:
欠擬合和過擬合
首先我們來看一個線性回歸的問題,在下面的例子中菱肖,我們選取不同維度的特征來對我們的數(shù)據(jù)進行擬合客冈。
對于上面三個圖像做如下解釋:
選取一個特征。此時它對于訓(xùn)練集來說做到了很好的擬合效果坐梯,但是徽诲,我們不認為它是一個好的假設(shè),因為它不能夠做到更好的預(yù)測吵血。
針對上面的分析谎替,我們認為第二個是一個很好的假設(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)線性回歸算法弃锐,每次進行預(yù)測都需要全部的訓(xùn)練數(shù)據(jù)(每次進行的預(yù)測得到不同的參數(shù)θi’s)爸邢,沒有固定的參數(shù)θi’s,所以是非參數(shù)算法拿愧。
對于上述公式的理解是這樣的:x為某個預(yù)測點杠河,x^((i))為樣本點,樣本點距離預(yù)測點越近浇辜,貢獻的誤差越大(權(quán)值越大)券敌,越遠則貢獻的誤差越小(權(quán)值越辛蟆)待诅。關(guān)于預(yù)測點的選取,在我的代碼中取的是樣本點熊镣。其中k是帶寬參數(shù)卑雁,控制w(鐘形函數(shù))的寬窄程度,類似于高斯函數(shù)的標準差绪囱。