《統(tǒng)計學(xué)習(xí)方法》閱讀筆記及代碼實現(xiàn) - CH1

0 前言

寒假參加了曠視在南理工辦的CV相關(guān)的夏令營蒿偎,算是對深度學(xué)習(xí)這個東西有了些淺顯的了解以及應(yīng)用绍绘,用keras庫來寫代碼真是太無腦了,給模型加一層褐耳,加激勵函數(shù)诈闺,池化,DropOut铃芦,梯度下降等等一系列操作都是直接調(diào)庫雅镊,然后就開始調(diào)參的工作(老師還說我們要是只會當(dāng)一個調(diào)參戰(zhàn)士,你們的年薪只能40w刃滓,orz我覺得40w已經(jīng)很多了)仁烹。

雖然是十分無腦暴力的訓(xùn)練一個模型,但是冬令營還是給我們講了大量的CNN的理論以及從一個比較高的角度去講這些問題咧虎,我覺得對我來說是深有益處的晃危。我也開始想慢慢的嘗試做一些相關(guān)的工作,開學(xué)看了一些書籍老客,其中我對《全棧數(shù)據(jù)之門》(這本書本身的東西特別多特別淺,但是作者的一些觀點和介紹的思路還是清晰的)上的一段話很有體悟震叮,摘抄到這里

  1. 我所理解的胧砰,學(xué)習(xí)機器學(xué)習(xí)算法的三個層次如下所述。
  2. 調(diào)用: 知道算法的基本思想苇瓣,能應(yīng)用現(xiàn)有的庫來做測試尉间。簡單說,就是了解KNN是做什么的击罪,會調(diào)用sklearn的KNN算法
  3. 調(diào)參:知道算法的主要影響因素哲嘲,能進(jìn)行參數(shù)調(diào)節(jié)優(yōu)化
  4. 嚼透:理解算法的實現(xiàn)細(xì)節(jié),并且能用代碼實現(xiàn)出來

我覺得作者的這段話很中肯媳禁,在“全民AI”的時代眠副,很多人都想學(xué)些東西,但是一上來就啃原理竣稽,啃證明囱怕,無疑是勸退的,并且容易看的非常模糊毫别,強行啃完發(fā)現(xiàn)沒有一個整體的概念娃弓,勸退*2(甚至開始懷疑自己...)。從應(yīng)用的角度去看問題岛宦,從優(yōu)化的角度去看代碼台丛,再去啃原理,我相信這樣是更能靜下心來學(xué)東西的砾肺。近期挽霉,我準(zhǔn)備閱讀李航老師的《統(tǒng)計學(xué)習(xí)方法》并用原生代碼和調(diào)庫兩種方法去分別實現(xiàn)書中的算法防嗡。由于我的編程能力比較一般,會參考一些資料來輔助編碼

  • 參考資料
  1. 第一份是Github上面的lihang_book_algorithm
  2. 第二份還是Github上面的lihang-code(含ppt和code)

1. 第一章 統(tǒng)計學(xué)習(xí)方法概論

1.1 統(tǒng)計學(xué)習(xí)

統(tǒng)計學(xué)習(xí)是關(guān)于計算機基于[數(shù)據(jù)]構(gòu)建[概率統(tǒng)計模型]并運用模型對數(shù)據(jù)進(jìn)行預(yù)測與分析的一門學(xué)科炼吴。統(tǒng)計學(xué)習(xí)也稱為統(tǒng)計機器學(xué)習(xí)

統(tǒng)計學(xué)習(xí)由“監(jiān)督學(xué)習(xí)(supervised learning)本鸣,非監(jiān)督學(xué)習(xí)(unsupervised learning),半監(jiān)督學(xué)習(xí)(semi-supervised learning)和強化學(xué)習(xí)(reinforcement learning )”等組成(本書主要討論監(jiān)督學(xué)習(xí))

統(tǒng)計學(xué)習(xí)方法三要素:模型硅蹦、策略和算法

實現(xiàn)統(tǒng)計學(xué)習(xí)方法的步驟如下:

(1) 得到一個有限的訓(xùn)練數(shù)據(jù)集合:
(2) 確定包含所有可能的模型的假設(shè)空間荣德,即學(xué)習(xí)模型的集合;
(3) 確定模型選擇的準(zhǔn)則,即學(xué)習(xí)的策略童芹;
(4) 實現(xiàn)求解最優(yōu)模型的算法涮瞻,即學(xué)習(xí)的算法;
(5) 通過學(xué)習(xí)方法選擇最優(yōu)模型假褪;
(6) 利用學(xué)習(xí)的最優(yōu)模型對新數(shù)據(jù)進(jìn)行預(yù)測或分析.

1.2 監(jiān)督學(xué)習(xí)

1.2.1 輸入空間署咽、特征空間、輸出空間

輸入與輸出的所有可能取值的集合分別稱為輸入空間與輸出空間

每個具體的輸入是一個實例( instance)生音,通常由特征向量(feature vector)表
示宁否,這時,所有特征向量存在的空間稱為特征空間( feature space)缀遍。特征空間的
每一維對應(yīng)于一個特征慕匠。有時假設(shè)輸入空間與特征空間為相同的空間,對它們不
予區(qū)分域醇;有時假設(shè)輸入空間與特征空間為不同的空間台谊,將實例從輸入空間映射到
特征空間。模型實際上都是定義在特征空間上的

[x1,x2,x3,x4..]:即為一個實例譬挚,vector里面的每個變量表示一個特征

監(jiān)督學(xué)習(xí)從訓(xùn)練數(shù)據(jù)集中學(xué)習(xí)模型锅铅,對測試數(shù)據(jù)集進(jìn)行預(yù)測

輸入變量X和輸出變量y有不同的類型可以是連續(xù)的,也可以是離散的减宣。人
們根據(jù)輸入盐须、輸出變量的不同類型,對預(yù)測任務(wù)給予不同的名稱

(1) 輸入變量與輸出變量均為連續(xù)變量的預(yù)測問題稱為回歸問題蚪腋;--線性回歸
(2) 輸出變量為有限個離散變量的預(yù)測問題稱為分類問題丰歌;--二分類問題
(3) 輸入變量與輸出變量均為變量序列的預(yù)測問題稱為標(biāo)注問題 --標(biāo)注句子中的名詞

1.2.2 聯(lián)合概率分布

監(jiān)督學(xué)習(xí)假設(shè)輸入與輸出的隨機變量X和y遵循聯(lián)合概率分布P(X,Y)
P(X)表示分布函數(shù)屉凯,或分布密度函數(shù)立帖。注意,在學(xué)習(xí)過程中悠砚,假定這一聯(lián)合
概率分布存在晓勇,但對學(xué)習(xí)系統(tǒng)來說,聯(lián)合概率分布的具體定義是未知的。訓(xùn)練數(shù)
據(jù)與測試數(shù)據(jù)被看作是依聯(lián)合概率分布P(X绑咱,Y)獨立同分布產(chǎn)生的.

統(tǒng)計學(xué)習(xí)假設(shè)數(shù)據(jù)存在一定的統(tǒng)計規(guī)律绰筛,X和Y具有聯(lián)合概率分布的假設(shè)就是監(jiān)督學(xué)習(xí)關(guān)于數(shù)據(jù)的基本假設(shè).

監(jiān)督學(xué)習(xí)的模型可以是概率模型或非概率模型,由條件概率分布P(Y|X)或決策函數(shù)Y=F(X)表示描融,隨具體學(xué)習(xí)方法而定铝噩。

1.2.3 問題的形式化
image

1.3 統(tǒng)計學(xué)習(xí)三要素(!!!!超級重要的一節(jié))

方法 = 模型 + 策略 + 算法

1.3.1 模型(Model)

在監(jiān)督學(xué)習(xí)過程中,模型就是索要學(xué)習(xí)的條件概率分布或決策函數(shù)窿克。模型的假設(shè)空間包含所有可能的條件概率分布或決策函數(shù)骏庸。

例如:假設(shè)決策函數(shù)是輸入變量的線性函數(shù),那么模型的假設(shè)空間就是所有這些線性函數(shù)構(gòu)成的函數(shù)集合年叮,假設(shè)空間中的模型一般由無數(shù)多個

我的理解:是存在一個模型的集合的具被,然后通過不同的策略和方法來將這個模型具象化,但是關(guān)鍵是針對具體問題應(yīng)該選擇怎樣的模型只损,我想這是涉及到數(shù)學(xué)建模的內(nèi)容的一姿。其實基本的問題都有比較固定的套路,像預(yù)測就用回歸跃惫,但是如何優(yōu)化預(yù)測的效果叮叹,如何預(yù)測復(fù)雜場景下的問題,這都是建模要考慮的問題爆存。還比如像遺傳算法啊衬横,粒子群算法,神經(jīng)網(wǎng)絡(luò)算法這些啟發(fā)式智能算法都是建立在把問題抽象成模型的基礎(chǔ)上(也就是先找到自己所認(rèn)為的假設(shè)空間终蒂,接下來運用算法來求解參數(shù)讓模型具象化)進(jìn)行求解的。數(shù)學(xué)建模是很重要的一步RK摺D雌!好好學(xué)習(xí)叭

1.3.2 策略(strategy)
1.損失函數(shù)和風(fēng)險函數(shù)

損失函數(shù)度量模型一次預(yù)測的好壞矮锈,風(fēng)險函數(shù)度量平均意義下模型預(yù)測的好壞

1.1 常用的損失函數(shù)

(1) 0-1損失函數(shù)
(2) 平方損失函數(shù)
(3) 絕對損失函數(shù)
(4) 對數(shù)損失函數(shù)(或?qū)?shù)似然損失函數(shù))

1.2 風(fēng)險函數(shù)(或稱為期望損失)

風(fēng)險函數(shù)是模型f(X)關(guān)于聯(lián)合分布P(X,Y)的平均意義下的損失霉翔,也是損失函數(shù)的期望

2.經(jīng)驗風(fēng)險和結(jié)構(gòu)風(fēng)險

2.1 經(jīng)驗風(fēng)險和期望風(fēng)險
模型f(X)關(guān)于[訓(xùn)練數(shù)據(jù)集]的平均損失稱為經(jīng)驗風(fēng)險(經(jīng)驗損失)
期望風(fēng)險是模型關(guān)于聯(lián)合分布的期望損失(理論上的損失,真損失)
經(jīng)驗風(fēng)險是模型關(guān)于訓(xùn)練樣本集的平均損失(在數(shù)據(jù)集上表現(xiàn)的損失苞笨,表現(xiàn)損失)

根據(jù)大數(shù)定律债朵,樣本容量N趨于無窮時,經(jīng)驗風(fēng)險趨于期望風(fēng)險瀑凝,所以現(xiàn)實中往往用經(jīng)驗損失來估計期望損失(重要P蚵!粤咪!)

監(jiān)督學(xué)習(xí)的兩個策略:
(1) 經(jīng)驗風(fēng)險最小化
(2) 結(jié)構(gòu)風(fēng)險最小化

2.2 結(jié)構(gòu)風(fēng)險
由于經(jīng)驗風(fēng)險最小化學(xué)習(xí)容易出現(xiàn)”過擬合現(xiàn)象“谚中,所以定義了結(jié)構(gòu)風(fēng)險來防止過擬合

結(jié)構(gòu)風(fēng)險最小化等價于正則化(正則化冬令營講過,所以這里并沒有勸退我23333)

結(jié)構(gòu)風(fēng)險在經(jīng)驗風(fēng)險的基礎(chǔ)上加了一個正則化項,這個正則化項隨著模型的復(fù)雜程度的增加也增加宪塔,模型越復(fù)雜磁奖,正則化項也就越大,模型的泛化能力也就越弱(開始還有點不明白某筐,最后舉了個例子才明白)

(沒有列式子是想通過思考想到各自的定義比搭,其實是還不太會latex以及markdown的數(shù)學(xué)表達(dá)式文法,逃~)

1.3.3 算法(algorithm)

學(xué)習(xí)模型的具體計算方法南誊,這時問題歸結(jié)為最優(yōu)化問題身诺,通常最優(yōu)化問題的解析解不存在,就需要用數(shù)值計算的方法去求解弟疆,如何確定是全局最優(yōu)解等等問題都是算法應(yīng)該考慮的問題

1.4 模型評估與模型選擇

1.訓(xùn)練誤差與測試誤差:這里都是用平均損失來描述
2.過擬合:是指學(xué)習(xí)時選擇的模型所包含的參數(shù)過多戚长,導(dǎo)致模型對已知數(shù)據(jù)預(yù)測的很好,對未知數(shù)據(jù)預(yù)測的很差的現(xiàn)象怠苔。

image

image

1.5 正則化與交叉驗證

正則化是結(jié)構(gòu)風(fēng)險最小化策略的實現(xiàn)

正則化項可以取不同的形式同廉,比如L0-L2范數(shù)

正則化符合奧卡姆剃刀原理

奧卡姆剃刀是簡約之法則: 切勿浪費較多東西,去做‘用較少的東西柑司,同樣可以做好的事情’迫肖。”換一種說法攒驰,如果關(guān)于同一個問題有許多種理論蟆湖,每一種都能作出同樣準(zhǔn)確的預(yù)言,那么應(yīng)該挑選其中使用假定最少的玻粪。盡管越復(fù)雜的方法通常能做出越好的預(yù)言隅津,但是在不考慮預(yù)言能力(即結(jié)果大致相同)的情況下,假設(shè)越少越好劲室。

交叉驗證
將數(shù)據(jù)切分成三部分:分別為訓(xùn)練集伦仍、驗證集和測試集,訓(xùn)練集用來訓(xùn)練模型很洋,驗證集用于對模型的選擇充蓝,測試機用于最終對學(xué)習(xí)方法的評估。

(1) 簡單交叉驗證
(2) S折交叉驗證
(3) 留一交叉驗證(S折交叉驗證的特殊情況)

1.6 泛化能力

1.6.1 泛化誤差

現(xiàn)實中采用最多的方法是通過測試誤差來評價學(xué)習(xí)方法的泛化能力

理論上:泛化誤差是模型對未知數(shù)據(jù)預(yù)測的誤差喉磁,事實上谓苟,泛化誤差就是所學(xué)習(xí)到的模型的期望風(fēng)險

1.6.2 泛化誤差上界(不是太能理解。协怒。之后再啃吧現(xiàn)在要去寫代碼了)

學(xué)習(xí)方法的泛化能力分析往往是通過研究泛化誤差的概率上界進(jìn)行的涝焙,簡稱為泛化誤差上界,具體來說孕暇,就是通過比較兩種學(xué)習(xí)方法的泛化誤差上界的大小來比較它們的優(yōu)劣纱皆。

(1) 樣本容量增加時湾趾,泛化上界趨于0
(2) 空間容量越大,模型就越難學(xué)派草,泛化誤差上界越大

1.7 生成模型與判別模型

監(jiān)督學(xué)習(xí)方法又可以分為生成方法和判別方法搀缠,所學(xué)到的模型分別稱為生成模型和判別模型

image

1.8 分類問題

輸出變量Y取有限個離散值時,預(yù)測問題便成為分類問題

輸入變量X可以是連續(xù)的也可以是離散的

image
image

對于二類分類問題常用的評價指標(biāo)是精確率和召回率以及兩者的調(diào)和均值F1值

1.9 標(biāo)注問題

可以認(rèn)為標(biāo)注問題是分類問題的一個推廣近迁,又是更復(fù)雜的結(jié)構(gòu)預(yù)測問題的簡單形式艺普,標(biāo)注問題的輸入是一個觀測序列,輸出是一個標(biāo)記序列或狀態(tài)序列鉴竭。標(biāo)注問題目標(biāo)是能夠訓(xùn)練一個模型歧譬,使它能夠?qū)τ^測序列給出標(biāo)記序列作為預(yù)測

image

評價標(biāo)注模型的指標(biāo)與評價分類模型的指標(biāo)一樣
標(biāo)注常用的統(tǒng)計學(xué)習(xí)方法有:隱馬爾可夫模型,條件隨機場

示例:自然語言處理的詞性標(biāo)注(從英文文章中抽取基本名詞短語)

講真搏存,之前還沒有意識到這種問題可以單列一類瑰步,可能因為作者是做NLP方向的,所以對這種序列輸入輸出比較敏感吧

1.10 回歸問題

回歸用于預(yù)測輸入變量和輸出變量之間的關(guān)系璧眠,回歸模型正是表示從輸入變量到輸出變量之間映射的函數(shù)缩焦,回歸問題的學(xué)習(xí)等價于函數(shù)擬合

image

回歸學(xué)習(xí)最常用的損失函數(shù)是平方損失函數(shù),可以用最小二乘法求解责静。

2. 第一章總結(jié)

整體來說收獲還是蠻豐富的袁滥,不過也認(rèn)識到了這本書的適用范圍。正如書中所說灾螃,本書主要是講解監(jiān)督學(xué)習(xí)的學(xué)習(xí)方法题翻,并把監(jiān)督學(xué)習(xí)分為了回歸、分類和標(biāo)注問題三類腰鬼,標(biāo)注問題我是第一次見到嵌赠,還蠻新奇的。第一章對于統(tǒng)計學(xué)習(xí)的一些概念做了理論上的解釋熄赡,也闡述了原因猾普,好評。不過數(shù)學(xué)的推導(dǎo)部分我還是沒開始啃...我覺得現(xiàn)在這種小定理的證明看起來有點打腦殼本谜,還是不勸退自己為好。對于聯(lián)合分布這個概念還有一丟丟的印象偎窘,僅存當(dāng)時學(xué)習(xí)留到現(xiàn)在的理解(當(dāng)時就沒好好學(xué)好吧)乌助,對于概率論這一塊的知識,后面再來補叭陌知。今天是沒時間嘍他托,還要去寫寫Echarts(逃~)

經(jīng)過第一章的大致梳理,我對統(tǒng)計學(xué)習(xí)方法有了較為清晰的認(rèn)識仆葡,也越發(fā)的期待(真的嗎赏参?志笼??把篓?)后面真正的干貨纫溃。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市韧掩,隨后出現(xiàn)的幾起案子紊浩,更是在濱河造成了極大的恐慌,老刑警劉巖疗锐,帶你破解...
    沈念sama閱讀 211,817評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件坊谁,死亡現(xiàn)場離奇詭異,居然都是意外死亡滑臊,警方通過查閱死者的電腦和手機口芍,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,329評論 3 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來雇卷,“玉大人鬓椭,你說我怎么就攤上這事×郑” “怎么了膘融?”我有些...
    開封第一講書人閱讀 157,354評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長祭玉。 經(jīng)常有香客問我氧映,道長,這世上最難降的妖魔是什么脱货? 我笑而不...
    開封第一講書人閱讀 56,498評論 1 284
  • 正文 為了忘掉前任岛都,我火速辦了婚禮,結(jié)果婚禮上振峻,老公的妹妹穿的比我還像新娘臼疫。我一直安慰自己,他們只是感情好扣孟,可當(dāng)我...
    茶點故事閱讀 65,600評論 6 386
  • 文/花漫 我一把揭開白布烫堤。 她就那樣靜靜地躺著,像睡著了一般凤价。 火紅的嫁衣襯著肌膚如雪鸽斟。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,829評論 1 290
  • 那天利诺,我揣著相機與錄音富蓄,去河邊找鬼。 笑死慢逾,一個胖子當(dāng)著我的面吹牛立倍,可吹牛的內(nèi)容都是我干的灭红。 我是一名探鬼主播,決...
    沈念sama閱讀 38,979評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼口注,長吁一口氣:“原來是場噩夢啊……” “哼变擒!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起疆导,我...
    開封第一講書人閱讀 37,722評論 0 266
  • 序言:老撾萬榮一對情侶失蹤赁项,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后澈段,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體悠菜,經(jīng)...
    沈念sama閱讀 44,189評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,519評論 2 327
  • 正文 我和宋清朗相戀三年败富,在試婚紗的時候發(fā)現(xiàn)自己被綠了悔醋。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,654評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡兽叮,死狀恐怖芬骄,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情鹦聪,我是刑警寧澤账阻,帶...
    沈念sama閱讀 34,329評論 4 330
  • 正文 年R本政府宣布,位于F島的核電站泽本,受9級特大地震影響淘太,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜规丽,卻給世界環(huán)境...
    茶點故事閱讀 39,940評論 3 313
  • 文/蒙蒙 一蒲牧、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧赌莺,春花似錦冰抢、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,762評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至巢音,卻和暖如春遵倦,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背港谊。 一陣腳步聲響...
    開封第一講書人閱讀 31,993評論 1 266
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留橙弱,地道東北人歧寺。 一個月前我還...
    沈念sama閱讀 46,382評論 2 360
  • 正文 我出身青樓燥狰,卻偏偏與公主長得像,于是被迫代替她去往敵國和親斜筐。 傳聞我的和親對象是個殘疾皇子龙致,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,543評論 2 349

推薦閱讀更多精彩內(nèi)容