最近想搞點新東西,然後就選擇了機器學習,剛開始學(史丹福大學的公開課),有很多不懂地方,如果有什麼錯誤,歡迎指正。
首先來介紹一下什麼叫回歸
回歸在數學上來說是給定乙個點集,能夠用一條曲線去擬合,如果這個曲線是一條直線,那就被稱為線性回歸,如果曲線是一條二次曲線,就被稱為二次回歸.
引入乙個房屋銷售的例子:
假設這裡存在
m 組資料 (x
,y),其具體值如下(此處 m=
現在介紹一下幾個變數以及他們代表的含義:
m:訓練集合的個數,也就是樣本的個數
x:輸入資料,輸入的房屋面積
y:輸出資料,輸出的房屋**
n:特徵的個數,有多少個影響因素
引入公式以及介紹現在讓你輸入乙個房屋面積,讓你求出他需要賣出多少錢?
這就是乙個機器學習的簡單例子,通過一些大量的資料讓機器自己慢慢的學習和推斷,讓其來**結果,我感覺這就是機器學習的本質吧。
那麼今天就來學習一下線性回歸方法。
因為是線性回歸方法: 所以我們將這些資料用線性模型 y=
kx+b
來表示,為此我們建立一維線性回歸模型。假設一維線性模型表示式如下,用
n 表示輸入特徵個數,為方便計算,所有的樣本都加入了 x0
=1這個特徵,所以維數為 n+
1 維。
根據資料我們可以做出乙個估計函式 h(
x): hθ
(x)=
θ0∗x
0+θ1
∗x1+
θ2∗x
2+..
.+θn
∗xn=
∑ni=
0θi∗
xi其中 θ 在這兒稱為引數,表示調整 feature(特徵) 中每個分量的影響力,究竟是哪個特徵更為重要一些。為了方便計算,令 x0
=1,就可以用向量的方式來表示:hθ
(x)=
θ∗x(
其中θ與
x是向量
) 代表含義如下: x=
[x0,
x1,x
2,..
.,xn
] , θ=
⎡⎣⎢⎢
⎢⎢⎢⎢
θ0θ1
θ2..
.θn⎤
⎦⎥⎥⎥
⎥⎥⎥
為了計算確定
θ 的值,我們又引入了乙個誤差函式或者叫為損失函式(loss function),被叫做
j 函式,其中: j(
θ)=1
2∑mi
=1(h
θ(x(
i))−
y(i)
)2我們要求的也就是使得 j(
θ)最小,那麼就幾種方法。
第一種方法(最小二乘法):
最小二乘法(又稱最小平方法)是一種數學優化技術。它通過最小化誤差的平方和尋找資料的最佳函式匹配。利用最小二乘法可以簡便地求得其中最小二乘法的侷限**覺很大,首先來舉個比較簡單易懂的例子,a∗未知的資料,並使得這些求得的資料與實際資料之間誤差的平方和為最小。最小二乘法還可用於曲線擬合。其他一些優化問題也可通過最小化
能量或最大化熵用最小二乘法來表達。
θ=b ,其中 a、
θ、b 都是向量, ⎡⎣
⎢⎢⎢a
00a10.
..am
0a01a
11...
am1.
....
....
...a
0na1
n...
amn⎤
⎦⎥⎥⎥
* ⎡⎣
⎢⎢⎢θ
0θ1.
..θn
⎤⎦⎥⎥
⎥ = ⎡⎣
⎢⎢⎢b
0b1.
..bm
⎤⎦⎥⎥
⎥ 其中,我們要求解的是向量
θ , 因為這個矩陣 a(
m∗n)
不一定是方陣,所以不一定有秩,所以我們需要將a∗
θ=b 這個式子的」=」兩側乘以at
(a的轉
置),因為 at
a 一定是方陣,即有如下推導: a∗
θ=ba
ta∗θ
=atb
θ=(a
ta)−
1∗at
b 所以根據最小二乘法確定的 j(
θ)中的引數 θ=
(xtx
)−1∗
xthθ
(x)
因為根據最小二乘法的規則是求解最好的
θ 值,使誤差平方和達到最小。在上式中,我們用輸出值
y 替換hθ
(x),即令y=
hθ(x
) ,此時的誤差肯定是最小的,說明此時的
θ 值是最好的,所以最終的 θ=
(xtx
)−1∗
xt∗y
。 最小二乘法的侷限性:輸入向量
x 是列滿秩,而且求解矩陣的逆的時候,花費時間較多。
第二種方法(梯度下降法):
梯度下降演算法是一種求區域性最優解的方法,對於f(
x),在a
點的梯度是f(
x)增長最快的方向,那麼它的相反方向則是該點下降最快的方向
其中梯度下降法又分為兩種:批梯度下降法和隨機(增量)梯度下降法。
(1)批梯度下降法
批梯度下降法針對的是整個資料集(training set),通過對所有的樣本的計算來求解梯度的方向,肯定找的是斜率最大的。
將誤差函式或者損失函式對
θ 求導:∂j
(θ)∂
θi=∑
mj=1
(hθ(
x(j)
)−y(
j))x
(j)i
解得:
侷限性:當訓練樣本數目很多時,所用的時間會很長,效率不高。
(2)隨機/增量梯度下降法
隨機梯度下降演算法可以看成是批梯度下降的乙個特殊的情形,即在隨機梯度下降法中每次僅根據乙個樣本對模型中的引數進行調整。
機器學習之監督學習
一 監督學習的三要素 模型 總結資料的內在規律,用數學函式描述的系統 策略 選取最優模型的評價準則 演算法 選取最優模型的具體方法 二 監督學習的實現步驟 1.得到乙個有限的訓練資料集 2.確定包含所有學習模型的集合 3.確定模型選擇的準則,也就是學習策略 4.實現求解最優模型的演算法,也就是學習演...
機器學習筆記 監督學習,無監督學習,半監督學習
這個問題可以回答得很簡單 是否有監督 supervised 就看輸入資料是否有標籤 label 輸入資料有標籤,則為有監督學習,沒標籤則為無監督學習。什麼是學習 learning 學習 乙個成語就可概括 舉一反三。此處以高考為例,高考的題目在上考場前我們未必做過,但在高中三年我們做過很多很多題目,懂...
機器學習日記 監督學習 無監督學習
監督學習是指 利用一組已知類別的樣本調整 分類器的 引數,使其達到所要求效能的過程,也稱為 監督訓練或有教師學習。無監督學習 現實生活中常常會有這樣的問題 缺乏足夠的 先驗知識 因此難以人工標註類別或進行人工類別標註的成本太高。很自然地,我們希望計算機能代我們完成這些工作,或至少提供一些幫助。根據類...