機器學習、人工智慧炙手可熱,但是機器到底為什麼可以學習呢?本文將從霍夫丁不等式講到vc維,**機器學習的原因所在。
機器什麼時候可以學習
機器怎麼學習
如何讓機器學得更好總結
機器學習乍聽之下很厲害,這時候人就會想,這乙個普普通通的死板的機器,怎麼會學習呢?
很容易地,人們舉了個簡單的問題(如下圖):x,
y,g,
f 分別表示:資料集、資料標籤、**模型、實際的模型。前5行的資料代表已知的,後三行的資料需要機器學習**模型去**。
悲催的是,符合已知的資料的**模型最多有8種,這8種任選一種,都可以完全符合已知的資料,也都可以完全不符合未知的資料。這麼看來,機器確實是學習不到東西的。
假定面前有乙個箱子,箱子裡面有綠球和黃球,已知黃球的比例是
μ ,希望通過抽取
n 個樣本,學習樣本中黃球的比例
v去逼近
μ 。μ,
v 滿足的關係如下,其中
ϵ 代表誤差限,下面的式子叫做hoeffding
不等式。p(
|v−μ
|>ϵ)
p(|e
in−e
out|
>ϵ)
p(ba
d)≤2
exp(−2
ϵ2n)
≤2exp(−2
ϵ2n)
≤2exp(−2
ϵ2n)
設定一定的誤差容忍限
ϵ 後,需要做到如下的事情機器才可能學習:
有了hoeffding
不等式後,我們會想,機器如果有足夠大的資料,是不是就可以學習到資料背後的模型,也就實現了機器學習?
在**機器為什麼可以學習之前,先闡述下機器學習的一般模式。
一句話闡述如下:演算法
a 通過資料
d和假設集
h 去學習實際模型
f的估計
g 。
機器要學習,需要滿足這兩件事情:
這樣一來,又乙個問題接踵而來,很多假設集(比如r2
上直線)的
m 都是無窮的啊,這樣的話機器豈不是不能學習?
首先,先來分析下上面式子中的
m**於**。
m 是假設集中所有
g的個數,但是以r2
上的直線為例,相當多的直線長得差不多,這樣
m 中的所有
g重疊了很大一部分,所以自然而然地引出了乙個問題:
對於乙個假設集
h ,有效的
m是多少呢(揭露下,是mh
(n) 啦)?
有效的假設集的個數,和假設集的break point關係很大。假設集的break point指的是:不能被假設集打散(shatter)的最小的點的個數。需要注意的是,這裡不能被打散是指點的所有分布都不能被打散。
舉個例子,r2
上的直線,3個點有可以打散的分布,也有不可以打散的分布;但是4個點的任何分布都是打不散的。所以r2
上的直線的break point是4。
常見的假設集及其break point如下:
假設集break point
positive ray
2positive intervals
3convex sets
no2d perceptrons
4 break point求出之後,mh
(n)=
o(nk
−1) ,其增長率受break point的限制。
vc維是break point-1的值,物理含義是自由引數。
通過前面的計算,得到了: p
(|ei
n−eo
ut|>ϵ)
p(ba
d)≤2
mexp(−
2ϵ2n
)≤2m
exp(−2
ϵ2n)
稍作變換, 即得到: p
(|ei
n−eo
ut|>ϵ)
p(ba
d)≤4
(2n)
dvcexp(−
18ϵ2
n)≤4
(2n)
dvcexp(−
18ϵ2
n)設定一定的誤差容忍限
ϵ 後,需要做到如下的事情機器才可能學習:
這樣一來,選擇合適的假設集,機器學習成為了可能。
最簡單的學習方法是pla,其假設集是h(
x)=s
ign(
wtx)
。其演算法核心是:更正錯誤,迭代提高。
找到在當前模型引數下wt
錯誤的資料(x
n,yn
) ,即si
gn(w
ttxn
)≠yn
更正模型引數,wt
+1=w
t+yn
xn這樣更正的依據是:讓wt
xy>
0 ,通過每次更正,保證了wt
t+1x
nyn≥
wttx
nyn 。
pla保證如果線性可分,那麼最終模型收斂。
pla如果線性不可分,則可設定迭代次數,每次獲得新的模型,與先前模型比較,選擇最優模型。 理論
適用範圍
公式hoeffding
單假設集p(
bad)
≤2exp(−2
ϵ2n)
multi-bin hoeffding
m 個假設集p(
bad)
≤2mexp(−
2ϵ2n
)vc假設集集合
h p
(bad
)≤4(
2n)d
vcexp(−1
8ϵ2n
)
機器為什麼可以學習 4 錯誤和雜訊
1 課程主要內容 上節課中學習了vc維的相關只是,在hypothesis set的vc維有限,且輸入資料n夠大,並可以找到乙個足夠小的ein,那麼學習就是可能的。但是在實際的情況中,資料 不都是理想的,必然存在著錯誤和雜訊,本次課程討論在錯誤和雜訊存在的情況下,機器為什麼還可以學習?在雜訊和錯誤存在...
為什麼機器學習難於應用
應用機器學習是有挑戰性的。在機器學習領域,你必須要在沒有正確答案的問題上做出很多決定!例如 用什麼框架?用什麼資料 作為輸入,要輸出什麼資料?用什麼演算法?用什麼演算法配置?這些問題對於初學者來說是乙個嚴峻的挑戰。如何形成乙個明確的學習問題。當給你的問題設計乙個學習系統的時候,有四個決策點需要考慮。...
金為什麼可以生水?水為什麼可以生木?
五行相生,金生水 水生木 木生火 火生土 土生金,在現代人看來,有些不可理解,例如 金為什麼可以生水?水為什麼可以生木?同理,五行相剋,金剋木 木剋土 土剋水 水剋火 火剋金當中,木剋土 土剋水之類,也有點不好理解,似乎與常識有些格格不入。其實,一切產生於古代的文化,都必須用那個時代的常識或理念來解...