計算學習原理

2022-05-07 17:15:12 字數 3730 閱讀 3201

目錄參考資料

vc維的來龍去脈

\(n\):樣本量

\(v\):樣本均值

\(u\):總體均值

\[p\left [ v-u\geqslant \varepsilon \right ]\leqslant e^n}\\

p\left [ |v-u|\geqslant \varepsilon \right ]\leqslant 2e^n}

\]符號

描述說明

\(h\)

該機器學習方法的假設空間

\(g\)

表示我們求解的用來**的假設(\(g\)屬於\(h\))

\(f\)

理想的方案(可以是乙個函式,也可以是乙個分布)

\(d\)

樣本集\(n\)

樣本量\(a\)

演算法機器學習的過程就是:通過演算法 \(a\),在假設空間 \(h\) 中,根據樣本集 \(d\),選擇最好的假設作為 \(g\) ,選擇標準是 \(g\) 近似於 \(f\)

設定,\(h(x)\)是我們預估得到的某乙個目標函式,\(h(x)\)是假設空間\(h\)中的乙個假說。

基於hoeffding不等式,可得到下面公式,當樣本量\(n\)足夠大時,\(}(h)\)和\(}(h)\)將非常接近

\[p\left [ |}(h)-}(h)|\geqslant \varepsilon \right ]\leqslant e^n}

\]注意在上面推導中,我們是針對某乙個特定的解\(h(x)\)。在我們的假設空間\(h​\)中,往往有很多個假設函式(甚至於無窮多個)

讓我們先來理解下單個假設\(h\)的上限,其公式中的\(2e^n}\)(超出我們設定的 \(\varepsilon\) 的樣本集就是壞樣本)就是這個假設h遇上壞樣本的上限(上限只是最壞的打算,大部分情況不會達到上限 )

當多個假設存在,我們希望任意選擇乙個\(h\)都是沒問題的,此時就需要標註出所有的壞資料集情況(對任意乙個\(h\)是壞的,我就標註它是壞的)。那麼我們任意選擇乙個\(h\)後遇上壞樣本的上限:就是所有\(h\)遇上壞樣本的上限的並集

任意選擇乙個\(h\)後遇上壞樣本的上限 如下圖所示,但有個新問題,就是我們沒法計算交集部分的大小(反正我不會)

注:灰色部分是每個\(h\)遇上壞樣本的上限,而彩色部分是實際的概率

既然無法計算,但我們卻知道每個單獨的\(h\)遇上壞樣本的上限:\(2e^n}\),既然這樣,我們只能計算其上限的上限了,交集就只剩簡單的加法了

好,公式推導如下

我們根據樣本集\(d\),隨機從假設空間\(h\)(假設有\(m\)個假設)中選取乙個\(h\),都會滿足下面的公式

\[p\left [ |}(h)-}(h)|\geqslant \varepsilon \right ]\leqslant me^n}

\]\[p\left [ |}(h)-}(h)|\geqslant \varepsilon \right ]\leqslant me^n}

\]上面這兩個核心條件,也正好對應著test和train這兩個過程。train過程希望損失期望(即\(}(h)\) )盡可能小;test過程希望在真實環境中的損失期望也盡可能小,即\(}(h)\)接近於\(}(h)\)

證明了學習的可行後(滿足兩個核心條件),新問題又來了:\(m\)的大小!

條件一條件二

\(m\)太小

容易滿足\(}(h)\)約等於\(}(h)\)

不容易找到乙個\(}(h)\)足夠小的

\(m\)太大

不同意滿足

選擇多了,容易找到\(}(h)\)足夠小的

對於乙個假設空間,\(m\)可能是無窮大的。要能夠繼續推導下去,那麼有乙個直觀的思路,能否找到乙個有限的因子 \(m_h\) 來替代不等式bound中的\(m\).

\[p\left [ |}(h)-}(h)|\geqslant \varepsilon \right ]\leqslant 2 m_e^n}

\]在第三節中,我們把每個假設的代價都做了獨立分離,但實際它們都是有重疊的部分,其中有一些甚至是完全重疊,我們可以把幾乎重疊的假設歸為一類,但把所有假設歸類後,我們就能得到有效的假設數量effective number of hypotheses——\(m_h\)

將所有假設進行分類的依據又是什麼呢?答案就在樣本集\(d\),例如在\(h\)有兩個假設(\(m\)中的兩個,廢話),它們作用於樣本集後,得出的結果一致,我們就可以將它們兩歸為一類;反過來講,根據樣本集\(d\)我們能得出這一類的假設(\(m_h\)的乙個)。

所以,\(m_h\)是乙個比m小很多的數,而且它會是個根據樣本集\(d\)數量\(n\)呈多項式增長的數,它的增長公式稱為**成長公式growth function*

\[p\left [ |}(h)-}(h)|\geqslant \varepsilon \right ]\leqslant 2\cdot (n) e^n}

\]成長公式的解釋還沒想好,就這樣,next.

反正隨著\(n\)增長,遇上壞樣本的上限\(2\cdot (n) e^n}\)中乙個是跟著多項式增長,乙個跟著指數下降,指數必然打敗多項式,所以總的來說隨著\(n\)的增長,我們遇上壞樣本的概率就會越來越低,\(}(h)\)也就會越接近\(}(h)\). that's good!

先切斷一些,看看兩個概念:shatter 和 break point.

shatter的概念:當假設空間\(h\)作用於\(n\)個樣本時,產生的dichotomies數量(二分類)等於這\(n\)個點總的組合數\(2n\) 時,就稱:這\(n\)個樣本被\(h\)給shatter.掉了。

要注意到 shatter 的原意是「打碎」,在此指「\(n\)個點的所有(碎片般的)可能情形都被\(h\)產生了」。所以\((n)=2n\) 的情形是即為「shatter」。

break point的概念:對於給定的成長函式\((n)\),從\(n=1\)出發,\(n\)慢慢變大,當增大到\(k\)時,出現\((n)<2k\)的情形,則我們說k是該成長函式的break poin.

當\(n\)的數量大於\(k\)時,\(h\)都沒有辦法再shatter他們了。

有了break point的概念後,如果break point存在(有限的正整數),對與任意的樣本集,我們都可以得到成長函式的上界,經過推導可得:

\[m_(n)=\sum_^\binom

\]多項式增長! 多項式的最高冪次項為:$ n^ $.

很開心,終於圓會growth function那一節的結論。

階段性成果:能否用\((n)\)直接替換m?

既然得到了\(m(n)\)的多項式上界,我們希望對之前的不等式中\(m\) 進行替換,用\(m_h(n)\)來替換\(m\)。這樣替換後,當break point存在時,n足夠大時,該上界是有限的。

然而直接替換是存在問題的,主要問題是:\(e_\)的可能取值是有限個的,但\(e_\)的可能取值是無限的。可以通過將\(e_\)替換為驗證集(verification set) 的\(e_\) 來解決這個問題。 下面是推導過程:

最後,vc維!暫時不想寫,再理理!

雲計算學習

雲計算的儲存和資源管理策略 雲計算是由分布式計算和網格計算發展而來,通過網際網路上的異構 自治的服務提供按需分配的計算資源。雲計算的資源特性 動態 容易擴充套件 虛擬化。服務層次 基礎設施服務iaas 平台即服務paas 軟體服務saas 虛擬化在雲計算中越來越重要,包括了伺服器 儲存 網路 pc等...

雲計算學習2

vpn virtual private network 虛擬個人網路 長連線和加密 l2tp layer 2 tunneling protocol 二層隧道協議 vpls virtual private lan service 虛擬私有區域網服務 ipsec internet protocol se...

浮點計算學習筆記

問 double的精度是多少?同事做模型設計的時候希望知道什麼時候計算認為此小數為0 1984年,ieee推出了 ieee二進位制浮點運算標準754 鏈結 1987年,ieee推出了 ieee通用數制的浮點運算標準 ieee854標準 要收費?1.科學計數法 抽象描述為 它有兩個部分組成,乙個只有1...