《文本機器學習》系統(tǒng)性地介紹了多個經典的和前沿的機器學習技術及其在文本域中的應用。首先,詳細介紹了面向文本數據的預處理技術和經典的機器學習技術(如矩陣分解與主題建模、聚類與分類/回歸等),并深入探討了模型的原理和內在聯(lián)系以及相應的性能評估;其次,詳細介紹了結合異構數據的文本學習技術(如知識共享與遷移學習等),以及面向信息檢索與排序的索引和評分等技術;末尾,詳細介紹了一些文本應用相關的重要技術,包括序列建模與深度學習、文本摘要與信息提取、意見挖掘與情感分析、文本分割與事件檢測等。本書從技術原理到實際應用,綜合梳理了文本機器學習的多個技術,深入分析了模型的優(yōu)缺點和內在聯(lián)系,并在每章結束時提供了詳細的參考資料、軟件資源和習題。
《文本機器學習》不僅可以作為工具書供具有相關背景的專業(yè)人士使用,也可以作為教材幫助具有線性代數和概率論基礎的初學者入門。
譯者序
原書前言
致謝
第1章 文本機器學習導論1
1.1導論1
1.1.1本章內容組織結構2
1.2文本學習有何特別之處3
1.3文本分析模型4
1.3.1文本預處理和相似度計算4
1.3.2降維與矩陣分解6
1.3.3文本聚類6
1.3.4文本分類與回歸建模8
1.3.5結合文本與異構數據的聯(lián)合分析10
1.3.6信息檢索與網頁搜索11
1.3.7序列語言建模與嵌入11
1.3.8文本摘要11
1.3.9信息提取11
1.3.10意見挖掘與情感分析12
1.3.11文本分割與事件檢測12
1.4本章小結12
1.5參考資料13
1.5.1軟件資源13
1.6習題13
第2章 文本預處理與相似度計算15
2.1導論15
2.1.1本章內容組織結構16
2.2原始文本提取與詞條化16
2.2.1文本提取中與網頁相關的問題18
2.3從詞條中提取詞項19
2.3.1停用詞移除19
2.3.2連字符19
2.3.3大小寫轉換20
2.3.4基于用法的合并20
2.3.5詞干提取21
2.4向量空間表示與歸一化21
2.5文本中的相似度計算23
2.5.1idf歸一化和詞干提取是否總是有用25
2.6本章小結26
2.7參考資料26
2.7.1軟件資源26
2.8習題27
第3章 矩陣分解與主題建模28
3.1導論28
3.1.1本章內容組織結構30
3.1.2將二分解歸一化為標準的三分解30
3.2奇異值分解(SVD)31
3.2.1SVD的例子33
3.2.2實現SVD的冪迭代法35
3.2.3SVD/LSA的應用35
3.2.4SVD/LSA的優(yōu)缺點36
3.3非負矩陣分解36
3.3.1非負矩陣分解的可解釋性38
3.3.2非負矩陣分解的例子39
3.3.3融入新文檔40
3.3.4非負矩陣分解的優(yōu)缺點41
3.4概率潛在語義分析(PLSA)41
3.4.1與非負矩陣分解的聯(lián)系44
3.4.2與SVD的比較44
3.4.3PLSA的例子45
3.4.4PLSA的優(yōu)缺點45
3.5隱含狄利克雷分布(LDA)概覽46
3.5.1簡化的LDA模型46
3.5.2平滑的LDA模型49
3.6非線性變換和特征工程50
3.6.1選擇一個相似度函數52
3.6.2Nystrom估計58
3.6.3相似度矩陣的部分可用性60
3.7本章小結61
3.8參考資料62
3.8.1軟件資源62
3.9習題63
第4章 文本聚類65
4.1導論65
4.1.1本章內容組織結構66
4.2特征選擇與特征工程66
4.2.1特征選擇67
4.2.2特征工程68
4.3主題建模和矩陣分解70
4.3.1混合隸屬度模型與重疊簇70
4.3.2非重疊簇與雙聚類:矩陣分解的角度70
4.4面向聚類的生成混合模型74
4.4.1伯努利模型75
4.4.2多項式模型76
4.4.3與混合隸屬度主題模型的比較77
4.4.4與樸素貝葉斯分類模型的聯(lián)系77
4.5k均值算法78
4.5.1收斂與初始化80
4.5.2計算復雜度80
4.5.3與概率模型的聯(lián)系81
4.6層次聚類算法81
4.6.1高效實現與計算復雜度83
4.6.2與k均值的自然聯(lián)姻84
4.7聚類集成85
4.7.1選擇集成分量86
4.7.2混合來自不同分量的結果86
4.8將文本當作序列來進行聚類87
4.8.1面向聚類的核方法87
4.8.2數據相關的核方法:譜聚類90
4.9聚類到有監(jiān)督學習的轉換91
4.9.1實際問題92
4.10聚類評估93
4.10.1內部有效性度量的缺陷93
4.10.2外部有效性度量93
4.11本章小結97
4.12參考資料97
4.12.1軟件資源98
4.13習題98
第5章 文本分類:基本模型100
5.1導論100
5.1.1標記的類型與回歸建模101
5.1.2訓練與測試102
5.1.3歸納、直推和演繹學習器102
5.1.4基本模型103
5.1.5分類器中與文本相關的挑戰(zhàn)103
5.2特征選擇與特征工程104
5.2.1基尼系數104
5.2.2條件熵105
5.2.3逐點互信息105
5.2.4緊密相關的度量方式106
5.2.5χ2-統(tǒng)計量106
5.2.6嵌入式特征選擇模型108
5.2.7特征工程技巧108
5.3樸素貝葉斯模型109
5.3.1伯努利模型109
5.3.2多項式模型111
5.3.3實際觀察113
5.3.4利用樸素貝葉斯對輸出進行排序113
5.3.5樸素貝葉斯的例子113
5.3.6半監(jiān)督樸素貝葉斯116
5.4最近鄰分類器118
5.4.11-最近鄰分類器的屬性119
5.4.2Rocchio與最近質心分類121
5.4.3加權最近鄰122
5.4.4自適應最近鄰:一系列有效的方法124
5.5決策樹與隨機森林126
5.5.1構造決策樹的基本步驟126
5.5.2分裂一個節(jié)點127
5.5.3多變量分裂128
5.5.4決策樹在文本分類中的問題129
5.5.5隨機森林129
5.5.6把隨機森林看作自適應最近鄰方法130
5.6基于規(guī)則的分類器131
5.6.1順序覆蓋算法131
5.6.2從決策樹中生成規(guī)則133
5.6.3關聯(lián)分類器134
5.6.4預測135
5.7本章小結135
5.8參考資料135
5.8.1軟件資源137
5.9習題137
第6章 面向文本的線性分類與回歸140
6.1導論140
6.1.1線性模型的幾何解釋141
6.1.2我們需要偏置變量嗎142
6.1.3使用正則化的線性模型的一般定義143
6.1.4將二值預測推廣到多類144
6.1.5面向文本的線性模型的特點145
6.2最小二乘回歸與分類145
6.2.1使用L2正則化的最小二乘回歸145
6.2.2LASSO:使用L1正則化的最小二乘回歸148
6.2.3Fisher線性判別與最小二乘分類器150
6.3支持向量機(SVM)156
6.3.1正則優(yōu)化解釋156
6.3.2最大間隔解釋157
6.3.3Pegasos:在原始空間中求解SVM 159
6.3.4對偶SVM優(yōu)化形式160
6.3.5對偶SVM的學習算法162
6.3.6對偶SVM的自適應最近鄰解釋163
6.4對數幾率回歸165
6.4.1正則優(yōu)化解釋165
6.4.2對數幾率回歸的訓練算法166
6.4.3對數幾率回歸的概率解釋167
6.4.4多元對數幾率回歸與其他推廣168
6.4.5關于對數幾率回歸性能的評述169
6.5線性模型的非線性推廣170
6.5.1基于顯式變換的核SVM171
6.5.2為什么傳統(tǒng)的核函數能夠提升線性可分性172
6.5.3不同核函數的優(yōu)缺點174
6.5.4核技巧175
6.5.5核技巧的系統(tǒng)性應用176
6.6本章小結179
6.7參考資料180
6.7.1軟件資源181
6.8習題181
第7章 分類器的性能與評估184
7.1導論184
7.1.1本章內容組織結構184
7.2偏置-方差權衡185
7.2.1一個形式化的觀點186
7.2.2偏置和方差的跡象189
7.3偏置-方差權衡在性能方面可能的影響189
7.3.1訓練數據規(guī)模的影響189
7.3.2數據維度的影響191
7.3.3文本中模型選擇可能的影響191
7.4利用集成方法系統(tǒng)性地提升性能192
7.4.1bagging與子采樣192
7.4.2boosting193
7.5分類器評估195
7.5.1分割為訓練部分和測試部分196
7.5.2絕對準確率度量197
7.5.3面向分類和信息檢索的排序度量199
7.6本章小結204
7.7參考資料205
7.7.1boosting與對數幾率回歸的聯(lián)系205
7.7.2分類器評估205
7.7.3軟件資源206
7.7.4用于評估的數據集206
7.8習題206
第8章 結合異構數據的聯(lián)合文本挖掘208
8.1導論208
8.1.1本章內容組織結構210
8.2共享矩陣分解的技巧210
8.2.1分解圖210
8.2.2應用:結合文本和網頁鏈接進行共享分解211
8.2.3應用:結合文本與無向社交網絡214
8.2.4應用:結合文本的圖像遷移學習215
8.2.5應用:結合評分和文本的推薦系統(tǒng)217
8.2.6應用:跨語言文本挖掘218
8.3分解機219
8.4聯(lián)合概率建模技術223
8.4.1面向聚類的聯(lián)合概率模型223
8.4.2樸素貝葉斯分類器224
8.5到圖挖掘技術的轉換224
8.6本章小結226
8.7參考資料227
8.7.1軟件資源227
8.8習題228
第9章 信息檢索與搜索引擎229
9.1導論229
9.1.1本章內容組織結構230
9.2索引和查詢處理230
9.2.1詞典數據結構231
9.2.2倒排索引233
9.2.3線性時間的索引構建234
9.2.4查詢處理236
9.2.5效率優(yōu)化244
9.3信息檢索模型的評分248
9.3.1基于tf-idf的向量空間模型248
9.3.2二值獨立模型249
9.3.3使用詞項頻率的BM25模型251
9.3.4信息檢索中的統(tǒng)計語言模型252
9.4網絡爬蟲與資源發(fā)現254
9.4.1一個基本的爬蟲算法255
9.4.2帶偏好的爬蟲256
9.4.3多線程257
9.4.4避開蜘蛛陷阱258
9.4.5用于近似重復檢測的Shingling方法258
9.5搜索引擎中的查詢處理259
9.5.1分布式索引構建259
9.5.2動態(tài)索引更新260
9.5.3查詢處理260
9.5.4信譽度的重要性261
9.6基于鏈接的排序算法262
9.6.1PageRank262
9.6.2HITS267
9.7本章小結269
9.8參考資料269
9.8.1軟件資源270
9.9習題270
第10章 文本序列建模與深度學習272
10.1導論272
10.1.1本章內容組織結構274
10.2統(tǒng)計語言模型274
10.2.1skip-gram模型277
10.2.2與嵌入的關系278
10.3核方法279
10.4單詞-上下文矩陣分解模型 280
10.4.1使用計數的矩陣分解280
10.4.2GloVe嵌入282
10.4.3PPMI矩陣分解283
10.4.4位移PPMI矩陣分解283
10.4.5融入句法和其他特征283
10.5單詞距離的圖形化表示284
10.6神經語言模型285
10.6.1神經網絡簡介285
10.6.2基于word2vec的神經嵌入295
10.6.3word2vec(SGNS)是對數幾率矩陣分解302
10.6.4除了單詞以外:基于doc2vec的段落嵌入304
10.7循環(huán)神經網絡(RNN)305
10.7.1實際問題307
10.7.2RNN的語言建模示例308
10.7.3圖像描述應用310
10.7.4序列到序列學習與機器翻譯311
10.7.5句子級分類應用314
10.7.6使用語言特征的詞條級分類315
10.7.7多層循環(huán)網絡316
10.8本章小結319
10.9參考資料319
10.9.1軟件資源320
10.10習題321
第11章 文本摘要323
11.1導論323
11.1.1提取式摘要與抽象式摘要324
11.1.2提取式摘要中的關鍵步驟324
11.1.3提取式摘要中的分割階段324
11.1.4本章內容組織結構325
11.2提取式摘要的主題詞方法325
11.2.1詞項概率325
11.2.2歸一化頻率權重326
11.2.3主題簽名327
11.2.4句子選擇方法329
11.3提取式摘要的潛在方法329
11.3.1潛在語義分析330
11.3.2詞匯鏈331
11.3.3基于圖的方法332
11.3.4質心摘要333
11.4面向提取式摘要的機器學習334
11.4.1特征提取334
11.4.2使用哪種分類器335
11.5多文檔摘要335
11.5.1基于質心的摘要335
11.5.2基于圖的方法336
11.6抽象式摘要337
11.6.1句子壓縮337
11.6.2信息融合338
11.6.3信息排列338
11.7本章小結338
11.8參考資料339
11.8.1軟件資源339
11.9習題340
第12章 信息提取341
12.1導論341
12.1.1歷史演變343
12.1.2自然語言處理的角色343
12.1.3本章內容組織結構345
12.2命名實體識別345
12.2.1基于規(guī)則的方法346
12.2.2轉化為詞條級分類任務349
12.2.3隱馬爾可夫模型350
12.2.4最大熵馬爾可夫模型354
12.2.5條件隨機場355
12.3關系提取357
12.3.1轉換為分類問題357
12.3.2利用顯式的特征工程進行關系預測358
12.3.3利用隱式的特征工程進行關系預測:核方法361
12.4本章小結365
12.5參考資料365
12.5.1弱監(jiān)督學習方法366
12.5.2無監(jiān)督與開放式信息提取 366
12.5.3軟件資源367
12.6習題367
第13章 意見挖掘與情感分析368
13.1導論368
13.1.1意見詞典370
13.1.2把意見挖掘看作槽填充和信息提取任務371
13.1.3本章內容組織結構372
13.2文檔級情感分析372
13.2.1面向分類的無監(jiān)督方法374
13.3短語級與句子級情感分類375
13.3.1句子級與短語級分析的應用376
13.3.2主觀性分類到最小割問題的歸約376
13.3.3句子級與短語級極性分析中的上下文377
13.4把基于方面的意見挖掘看作信息提取任務377
13.4.1Hu和Liu的無監(jiān)督方法378
13.4.2OPINE:一種無監(jiān)督方法379
13.4.3把有監(jiān)督意見提取看作詞條級分類任務380
13.5虛假意見381
13.5.1面向虛假評論檢測的有監(jiān)督方法382
13.5.2面向虛假評論制造者檢測的無監(jiān)督方法384
13.6意見摘要384
13.6.1評分總結384
13.6.2情感總結385
13.6.3基于短語與句子的情感總結385
13.6.4提取式與抽象式總結385
13.7本章小結385
13.8參考資料385
13.8.1軟件資源387
13.9習題387
第14章 文本分割與事件檢測388
14.1導論388
14.1.1與話題檢測和追蹤的關系388
14.1.2本章內容組織結構389
14.2文本分割389
14.2.1TextTiling390
14.2.2C99方法390
14.2.3基于現成的分類器的有監(jiān)督的分割392
14.2.4基于馬爾可夫模型的有監(jiān)督的分割393
14.3文本流挖掘395
14.3.1流式文本聚類395
14.3.2面向首次報道檢測的應用 396
14.4事件檢測397
14.4.1無監(jiān)督的事件檢測397
14.4.2把有監(jiān)督的事件檢測看作有監(jiān)督的分割任務399
14.4.3把事件檢測看作一個信息提取問題399
14.5本章小結402
14.6參考資料402
14.6.1軟件資源402
14.7習題403
參考文獻404
《大設計》無所不在。在會議室和戰(zhàn)場上;在工廠車間中也在超市貨架上;在自家的汽車和廚房中;在廣告牌和食品包裝上;甚至還出現在電影道具和電腦圖標中。然而,設計卻并非只是我們日常生活環(huán)境中的一種常見現象,它...
本書分為上篇“平面構成”和下篇“色彩構成”兩個部分,每一部分的最后章節(jié)選編了一些本校歷年來學生的優(yōu)秀作品作為參考,圖文并茂、深入淺出。此外,本書最后部分附有構成運用范例及題型練習,可供自考學生參考。本...
本書從招貼的起源、發(fā)展到現代招貼設計的運用,闡述了招貼的分類、功能及設計形式等基本知識。全書以圖文并茂的形式講述了如何將理論知識運用到實際的招貼設計中。全文內容基礎,表述深度恰當,以簡單的理論知識引領...
格式:pdf
大?。?span id="enaj6ra" class="single-tag-height">14KB
頁數: 3頁
評分: 4.3
合同書樣本機器買賣契約書 立契約人 (以下簡稱甲方) (以下簡稱乙 方)茲就機器買賣事宜,甲方賣出、乙方買進。 第一條 甲乙雙方約定有關后記機器的買賣事宜甲方賣出,乙方買進。 第二條 買賣總金額為 x x 元整。乙方依照下列方式支付款項予甲方。 (1) 本日(訂約日)先交付定金 x x 元整。 (2) 甲方必須在 年 月 日前將后記的機器安裝于乙方總公 司所在地的工廠。乙方未支付的余款,俟交貨時一次付清。 第三條 甲方于第二條第( 2)項乙方支付余款同時,應將后記機器的所有權移 轉予乙方。 第四條 在甲方尚未將機器交付予乙方之前, 若有故障、毀損或遺失時, 應由甲 方負責。亦即乙方免除支付價金義務。 第五條 甲方保證后記機器所具有的性能與說明書相符, 并須在第三條交付前先 行試機,以證明其性能。 第六條 有關后記機器的品質、 性能,由甲方對乙方保證, 并以三年為限。 在此 期間,若非乙方的
格式:pdf
大小:14KB
頁數: 1頁
評分: 4.5
<正>本書主編王雙亭,河南理工大學教授,畢業(yè)于解放軍測繪學院航空攝影測量專業(yè),主要從事數字攝影測量和遙感信息提取方面的教學與研究工作。本書系統(tǒng)地介紹了攝影測量的基本原理、技術和最新成果。全書共分為六章:第一章介紹攝影測量的基本概念、發(fā)展過程及所面臨的問題;第二章介紹了攝影像片的獲取原理與技術;第三章介紹了中心
機器學習是一門多領域交叉學科,涉及概率論、統(tǒng)計學、逼近論、凸分析、算法復雜度等多門學科,專門研究計算機怎樣模擬或實現人類的學習行為。機器學習是人工智能的核心,是使計算機具有智能的根本途徑。本書通過對機器學習的背景知識、算法流程、相關工具、實踐案例以及知識圖譜等內容的講解,全面介紹了機器學習的理論基礎和實踐應用。書中涉及機器學習領域的多個典型算法,并詳細給出了機器學習的算法流程。本書適合任何有一定數據功底和編程基礎的讀者閱讀。通過閱讀本書,讀者不僅可以了解機器學習的理論基礎,也可以參照一些典型的應用案例拓展自己的專業(yè)技能。同時,本書也適合計算機相關專業(yè)的學生以及對人工智能和機器學習感興趣的讀者閱讀。
第1部分 背景知識
第1章 機器學習概述 3
1.1 背景 3
1.2 發(fā)展現狀 6
1.2.1 數據現狀 6
1.2.2 機器學習算法現狀 8
1.3 機器學習基本概念 12
1.3.1 機器學習流程 12
1.3.2 數據源結構 14
1.3.3 算法分類 16
1.3.4 過擬合問題 18
1.3.5 結果評估 20
1.4 本章小結 22
第2部分 算法流程
第2章 場景解析 25
2.1 數據探查 25
2.2 場景抽象 27
2.3 算法選擇 29
2.4 本章小結 31
第3章 數據預處理 32
3.1 采樣 32
3.1.1 隨機采樣 32
3.1.2 系統(tǒng)采樣 34
3.1.3 分層采樣 35
3.2 歸一化 36
3.3 去除噪聲 39
3.4 數據過濾 42
3.5 本章小結 43
第4章 特征工程 44
4.1 特征抽象 44
4.2 特征重要性評估 49
4.3 特征衍生 53
4.4 特征降維 57
4.4.1 特征降維的基本概念 57
4.4.2 主成分分析 59
4.5 本章小結 62
第5章 機器學習算法——常規(guī)算法 63
5.1 分類算法 63
5.1.1 K近鄰 63
5.1.2 樸素貝葉斯 68
5.1.3 邏輯回歸 74
5.1.4 支持向量機 81
5.1.5 隨機森林 87
5.2 聚類算法 94
5.2.1 K-means 97
5.2.2 DBSCAN 103
5.3 回歸算法 109
5.4 文本分析算法 112
5.4.1 分詞算法——Hmm 112
5.4.2 TF-IDF 118
5.4.3 LDA 122
5.5 推薦類算法 127
5.6 關系圖算法 133
5.6.1 標簽傳播 134
5.6.2 Dijkstra最短路徑 138
5.7 本章小結 145
第6章 機器學習算法——深度學習 146
6.1 深度學習概述 146
6.1.1 深度學習的發(fā)展 147
6.1.2 深度學習算法與傳統(tǒng)
算法的比較 148
6.2 深度學習的常見結構 152
6.2.1 深度神經網絡 152
6.2.2 卷積神經網絡 153
6.2.3 循環(huán)神經網絡 156
6.3 本章小結 157
第3部分 工具介紹
第7章 常見機器學習工具介紹 161
7.1 概述 161
7.2 單機版機器學習工具 163
7.2.1 SPSS 163
7.2.2 R語言 167
7.2.3 工具對比 172
7.3 開源分布式機器學習工具 172
7.3.1 Spark MLib 172
7.3.2 TensorFlow 179
7.4 企業(yè)級云機器學習工具 190
7.4.1 亞馬遜AWS ML 191
7.4.2 阿里云機器學習PAI 196
7.5 本章小結 205
第4部分 實戰(zhàn)應用
第8章 業(yè)務解決方案 209
8.1 心臟病預測 209
8.1.1 場景解析 209
8.1.2 實驗搭建 211
8.1.3 小結 216
8.2 商品推薦系統(tǒng) 216
8.2.1 場景解析 217
8.2.2 實驗搭建 218
8.2.3 小結 220
8.3 金融風控案例 220
8.3.1 場景解析 221
8.3.2 實驗搭建 222
8.3.3 小結 225
8.4 新聞文本分析 225
8.4.1 場景解析 225
8.4.2 實驗搭建 226
8.4.3 小結 230
8.5 農業(yè)貸款發(fā)放預測 230
8.5.1 場景解析 230
8.5.2 實驗搭建 232
8.5.3 小結 236
8.6 霧霾天氣成因分析 236
8.6.1 場景解析 237
8.6.2 實驗搭建 238
8.6.3 小結 243
8.7 圖片識別 243
8.7.1 場景解析 243
8.7.2 實驗搭建 245
8.7.3 小結 253
8.8 本章小結 253
第5部分 知識圖譜
第9章 知識圖譜 257
9.1 未來數據采集 257
9.2 知識圖譜的概述 259
9.3 知識圖譜開源
工具 261
9.4 本章小結 264
參考文獻 265
編輯推薦
第一部分:深度學習1、神經網絡基礎問題
(1)Backpropagation(要能推倒)
后向傳播是在求解損失函數L對參數w求導時候用到的方法,目的是通過鏈式法則對參數進行一層一層的求導。這里重點強調:要將參數進行隨機初始化而不是全部置0,否則所有隱層的數值都會與輸入相關,這稱為對稱失效。
大致過程是:
首先前向傳導計算出所有節(jié)點的激活值和輸出值, 計算整體損失函數: 然后針對第L層的每個節(jié)點計算出殘差(這里是因為UFLDL中說的是殘差,本質就是整體損失函數對每一層激活值Z的導數),所以要對W求導只要再乘上激活函數對W的導數即可(2)梯度消失、梯度爆炸
梯度消失:這本質上是由于激活函數的選擇導致的, 最簡單的sigmoid函數為例,在函數的兩端梯度求導結果非常小(飽和區(qū)),導致后向傳播過程中由于多次用到激活函數的導數值使得整體的乘積梯度結果變得越來越小,也就出現了梯度消失的現象。
梯度爆炸:同理,出現在激活函數處在激活區(qū),而且權重W過大的情況下。但是梯度爆炸不如梯度消失出現的機會多。
(3)常用的激活函數
激活函數 | 公式 | 缺點 | 優(yōu)點 |
---|---|---|---|
Sigmoid | σ(x)=1/(1+e?x)σ ( x ) = 1 / ( 1 + e ? x ) |
1、會有梯度彌散 2、不是關于原點對稱 3、計算exp比較耗時 |
- |
Tanh | tanh(x)=2σ(2x)?1tanh ? ( x ) = 2 σ ( 2 x ) ? 1 |
梯度彌散沒解決 | 1、解決了原點對稱問題 2、比sigmoid更快 |
ReLU | f(x)=max(0,x)f ( x ) = max ( 0 , x ) |
梯度彌散沒完全解決,在(-)部分相當于神經元死亡而且不會復活 | 1、解決了部分梯度彌散問題 2、收斂速度更快 |
Leaky ReLU | f(x)=1(x<0)(αx)+1(x>=0)(x)f ( x ) = 1 ( x < 0 ) ( α x ) + 1 ( x >= 0 ) ( x ) | - | 解決了神經死亡問題 |
Maxout | max(wT1x+b1,wT2x+b2)max ( w 1 T x + b 1 , w 2 T x + b 2 ) |
參數比較多,本質上是在輸出結果上又增加了一層 | 克服了ReLU的缺點,比較提倡使用 |
(4)參數更新方法
方法名稱 | 公式 | |
---|---|---|
Vanilla update | x += - learning_rate * dx | |
Momentum update動量更新 | v = mu * v - learning_rate * dx # integrate velocity x += v # integrate position |
|
Nesterov Momentum | x_ahead = x + mu * v v = mu * v - learning_rate * dx_ahead x += v |
|
Adagrad (自適應的方法,梯度大的方向學習率越來越小,由快到慢) |
cache += dx**2 x += - learning_rate * dx / (np.sqrt(cache) + eps) |
|
Adam | m = beta1*m + (1-beta1)dx v = beta2*v + (1-beta2)(dx**2) x += - learning_rate * m / (np.sqrt(v) + eps) |
(5)解決overfitting的方法
dropout, regularization, batch normalizatin,但是要注意dropout只在訓練的時候用,讓一部分神經元隨機失活。
Batch normalization是為了讓輸出都是單位高斯激活,方法是在連接和激活函數之間加入BatchNorm層,計算每個特征的均值和方差進行規(guī)則化。
2、CNN問題
(1) 思想
改變全連接為局部連接,這是由于圖片的特殊性造成的(圖像的一部分的統(tǒng)計特性與其他部分是一樣的),通過局部連接和參數共享大范圍的減少參數值。可以通過使用多個filter來提取圖片的不同特征(多卷積核)。
(2)filter尺寸的選擇
通常尺寸多為奇數(1,3,5,7)
(3)輸出尺寸計算公式
輸出尺寸=(N - F +padding*2)/stride + 1
步長可以自由選擇通過補零的方式來實現連接。
(4)pooling池化的作用
雖然通過.卷積的方式可以大范圍的減少輸出尺寸(特征數),但是依然很難計算而且很容易過擬合,所以依然利用圖片的靜態(tài)特性通過池化的方式進一步減少尺寸。
(5)常用的幾個模型,這個最好能記住模型大致的尺寸參數。
名稱 | 特點 |
---|---|
LeNet5 | –沒啥特點-不過是第一個CNN應該要知道 |
AlexNet | 引入了ReLU和dropout,引入數據增強、池化相互之間有覆蓋,三個卷積一個最大池化+三個全連接層 |
VGGNet | 采用1*1和3*3的卷積核以及2*2的最大池化使得層數變得更深。常用VGGNet-16和VGGNet19 |
Google Inception Net 我稱為盜夢空間網絡 |
這個在控制了計算量和參數量的同時,獲得了比較好的分類性能,和上面相比有幾個大的改進: 1、去除了最后的全連接層,而是用一個全局的平均池化來取代它; 2、引入Inception Module,這是一個4個分支結合的結構。所有的分支都用到了1*1的卷積,這是因為1*1性價比很高,可以用很少的參數達到非線性和特征變換。 3、Inception V2第二版將所有的5*5變成2個3*3,而且提出來著名的Batch Normalization; 4、Inception V3第三版就更變態(tài)了,把較大的二維卷積拆成了兩個較小的一維卷積,加速運算、減少過擬合,同時還更改了Inception Module的結構。 |
微軟ResNet殘差神經網絡(Residual Neural Network) | 1、引入高速公路結構,可以讓神經網絡變得非常深 2、ResNet第二個版本將ReLU激活函數變成y=x的線性函數 |
1、RNN原理:
在普通的全連接網絡或CNN中,每層神經元的信號只能向上一層傳播,樣本的處理在各個時刻獨立,因此又被成為前向神經網絡(Feed-forward+Neural+Networks)。而在RNN中,神經元的輸出可以在下一個時間戳直接作用到自身,即第i層神經元在m時刻的輸入,除了(i-1)層神經元在該時刻的輸出外,還包括其自身在(m-1)時刻的輸出。所以叫循環(huán)神經網絡
2、RNN、LSTM、GRU區(qū)別
RNN引入了循環(huán)的概念,但是在實際過程中卻出現了初始信息隨時間消失的問題,即長期依賴(Long-Term Dependencies)問題,所以引入了LSTM。 LSTM:因為LSTM有進有出且當前的cell informaton是通過input gate控制之后疊加的,RNN是疊乘,因此LSTM可以防止梯度消失或者爆炸。推導forget gate,input gate,cell state, hidden information等因為LSTM有進有出且當前的cell informaton是通過input gate控制之后疊加的,RNN是疊乘,因此LSTM可以防止梯度消失或者爆炸的變化是關鍵,下圖非常明確適合記憶: GRU是LSTM的變體,將忘記門和輸入們合成了一個單一的更新門。3、LSTM防止梯度彌散和爆炸
LSTM用加和的方式取代了乘積,使得很難出現梯度彌散。但是相應的更大的幾率會出現梯度爆炸,但是可以通過給梯度加門限解決這一問題。
4、引出word2vec
這個也就是Word Embedding,是一種高效的從原始語料中學習字詞空間向量的預測模型。分為CBOW(Continous Bag of Words)和Skip-Gram兩種形式。其中CBOW是從原始語句推測目標詞匯,而Skip-Gram相反。CBOW可以用于小語料庫,Skip-Gram用于大語料庫。具體的就不是很會了。
3、GAN
1、GAN的思想
GAN結合了生成模型和判別模型,相當于矛與盾的撞擊。生成模型負責生成最好的數據騙過判別模型,而判別模型負責識別出哪些是真的哪些是生成模型生成的。但是這些只是在了解了GAN之后才體會到的,但是為什么這樣會有效呢?
假設我們有分布Pdata(x),我們希望能建立一個生成模型來模擬真實的數據分布,假設生成模型為Pg(x;θθ ),我們的目的是求解θθ 的值,通常我們都是用最大似然估計。但是現在的問題是由于我們相用NN來模擬Pdata(x),但是我們很難求解似然函數,因為我們沒辦法寫出生成模型的具體表達形式,于是才有了GAN,也就是用判別模型來代替求解最大似然的過程。
在最理想的狀態(tài)下,G可以生成足以“以假亂真”的圖片G(z)。對于D來說,它難以判定G生成的圖片究竟是不是真實的,因此D(G(z)) = 0.5。這樣我們的目的就達成了:我們得到了一個生成式的模型G,它可以用來生成圖片。
2、GAN的表達式
通過分析GAN的表達可以看出本質上就是一個minmax問題。其中V(D, G)可以看成是生成模型和判別模型的差異,而minmaxD說的是最大的差異越小越好。這種度量差異的方式實際上叫做Jensen-Shannon divergence。
3、GAN的實際計算方法
因為我們不可能有Pdata(x)的分布,所以我們實際中都是用采樣的方式來計算差異(也就是積分變求和)。具體實現過程如下:
有幾個關鍵點:判別方程訓練K次,而生成模型只需要每次迭代訓練一次,先最大化(梯度上升)再最小化(梯度下降)。
但是實際計算時V的后面一項在D(x)很小的情況下由于log函數的原因會導致更新很慢,所以實際中通常將后一項的log(1-D(x))變?yōu)?logD(x)。
實際計算的時候還發(fā)現不論生成器設計的多好,判別器總是能判斷出真假,也就是loss幾乎都是0,這可能是因為抽樣造成的,生成數據與真實數據的交集過小,無論生成模型多好,判別模型也能分辨出來。解決方法有兩個:1、用WGAN 2、引入隨時間減少的噪聲
4、對GAN有一些改進有引入f-divergence,取代Jensen-Shannon divergence,還有很多,這里主要介紹WGAN
5、WGAN
上面說過了用f-divergence來衡量兩個分布的差異,而WGAN的思路是使用Earth Mover distance (挖掘機距離 Wasserstein distance)。
第二部分、機器學習準備1、決策樹樹相關問題
(1)各種熵的計算
熵、聯(lián)合熵、條件熵、交叉熵、KL散度(相對熵)
熵用于衡量不確定性,所以均分的時候熵最大 KL散度用于度量兩個分布的不相似性,KL(p||q)等于交叉熵H(p,q)-熵H(p)。交叉熵可以看成是用q編碼P所需的bit數,減去p本身需要的bit數,KL散度相當于用q編碼p需要的額外bits。 交互信息Mutual information :I(x,y) = H(x)-H(x|y) = H(y)-H(y|x) 表示觀察到x后,y的熵會減少多少。(2)常用的樹搭建方法:ID3、C4.5、CART
上述幾種樹分別利用信息增益、信息增益率、Gini指數作為數據分割標準。
其中信息增益衡量按照某個特征分割前后熵的減少程度,其實就是上面說的交互信息。 用上述信息增益會出現優(yōu)先選擇具有較多屬性的特征,畢竟分的越細的屬性確定性越高。所以提出了信息增益率的概念,讓含有較多屬性的特征的作用降低。 CART樹在分類過程中使用的基尼指數Gini,只能用于切分二叉樹,而且和ID3、C4.5樹不同,Cart樹不會在每一個步驟刪除所用特征。(3)防止過擬合:剪枝
剪枝分為前剪枝和后剪枝,前剪枝本質就是早停止,后剪枝通常是通過衡量剪枝后損失函數變化來決定是否剪枝。后剪枝有:錯誤率降低剪枝、悲觀剪枝、代價復雜度剪枝
(4)前剪枝的幾種停止條件
節(jié)點中樣本為同一類 特征不足返回多類 如果某個分支沒有值則返回父節(jié)點中的多類 樣本個數小于閾值返回多類 2、邏輯回歸相關問題(1)公式推導一定要會
(2)邏輯回歸的基本概念
這個最好從廣義線性模型的角度分析,邏輯回歸是假設y服從Bernoulli分布。
(3)L1-norm和L2-norm
其實稀疏的根本還是在于L0-norm也就是直接統(tǒng)計參數不為0的個數作為規(guī)則項,但實際上卻不好執(zhí)行于是引入了L1-norm;而L1norm本質上是假設參數先驗是服從Laplace分布的,而L2-norm是假設參數先驗為Gaussian分布,我們在網上看到的通常用圖像來解答這個問題的原理就在這。
但是L1-norm的求解比較困難,可以用坐標軸下降法或是最小角回歸法求解。
(4)LR和SVM對比
首先,LR和SVM最大的區(qū)別在于損失函數的選擇,LR的損失函數為Log損失(或者說是邏輯損失都可以)、而SVM的損失函數為hinge loss。
其次,兩者都是線性模型。
最后,SVM只考慮支持向量(也就是和分類相關的少數點)
(5)LR和隨機森林區(qū)別
隨機森林等樹算法都是非線性的,而LR是線性的。LR更側重全局優(yōu)化,而樹模型主要是局部的優(yōu)化。
(6)常用的優(yōu)化方法
邏輯回歸本身是可以用公式求解的,但是因為需要求逆的復雜度太高,所以才引入了梯度下降算法。
一階方法:梯度下降、隨機梯度下降、mini 隨機梯度下降降法。隨機梯度下降不但速度上比原始梯度下降要快,局部最優(yōu)化問題時可以一定程度上抑制局部最優(yōu)解的發(fā)生。
二階方法:牛頓法、擬牛頓法:
這里詳細說一下牛頓法的基本原理和牛頓法的應用方式。牛頓法其實就是通過切線與x軸的交點不斷更新切線的位置,直到達到曲線與x軸的交點得到方程解。在實際應用中我們因為常常要求解凸優(yōu)化問題,也就是要求解函數一階導數為0的位置,而牛頓法恰好可以給這種問題提供解決方法。實際應用中牛頓法首先選擇一個點作為起始點,并進行一次二階泰勒展開得到導數為0的點進行一個更新,直到達到要求,這時牛頓法也就成了二階求解問題,比一階方法更快。我們常??吹降膞通常為一個多維向量,這也就引出了Hessian矩陣的概念(就是x的二階導數矩陣)。缺點:牛頓法是定長迭代,沒有步長因子,所以不能保證函數值穩(wěn)定的下降,嚴重時甚至會失敗。還有就是牛頓法要求函數一定是二階可導的。而且計算Hessian矩陣的逆復雜度很大。
擬牛頓法: 不用二階偏導而是構造出Hessian矩陣的近似正定對稱矩陣的方法稱為擬牛頓法。擬牛頓法的思路就是用一個特別的表達形式來模擬Hessian矩陣或者是他的逆使得表達式滿足擬牛頓條件。主要有DFP法(逼近Hession的逆)、BFGS(直接逼近Hession矩陣)、 L-BFGS(可以減少BFGS所需的存儲空間)。
3、SVM相關問題
(1)帶核的SVM為什么能分類非線性問題?
核函數的本質是兩個函數的內積,而這個函數在SVM中可以表示成對于輸入值的高維映射。注意核并不是直接對應映射,核只不過是一個內積
(2)RBF核一定是線性可分的嗎
不一定,RBF核比較難調參而且容易出現維度災難,要知道無窮維的概念是從泰勒展開得出的。
(3)常用核函數及核函數的條件:
核函數選擇的時候應該從線性核開始,而且在特征很多的情況下沒有必要選擇高斯核,應該從簡單到難的選擇模型。我們通常說的核函數指的是正定和函數,其充要條件是對于任意的x屬于X,要求K對應的Gram矩陣要是半正定矩陣。
RBF核徑向基,這類函數取值依賴于特定點間的距離,所以拉普拉斯核其實也是徑向基核。 線性核:主要用于線性可分的情況 多項式核(4)SVM的基本思想:
間隔最大化來得到最優(yōu)分離超平面。方法是將這個問題形式化為一個凸二次規(guī)劃問題,還可以等價位一個正則化的合頁損失最小化問題。SVM又有硬間隔最大化和軟間隔SVM兩種。這時首先要考慮的是如何定義間隔,這就引出了函數間隔和幾何間隔的概念(這里只說思路),我們選擇了幾何間隔作為距離評定標準(為什么要這樣,怎么求出來的要知道),我們希望能夠最大化與超平面之間的幾何間隔x,同時要求所有點都大于這個值,通過一些變化就得到了我們常見的SVM表達式。接著我們發(fā)現定義出的x只是由個別幾個支持向量決定的。對于原始問題(primal problem)而言,可以利用凸函數的函數包來進行求解,但是發(fā)現如果用對偶問題(dual )求解會變得更簡單,而且可以引入核函數。而原始問題轉為對偶問題需要滿足KKT條件(這個條件應該細細思考一下)到這里還都是比較好求解的。因為我們前面說過可以變成軟間隔問題,引入了懲罰系數,這樣還可以引出hinge損失的等價形式(這樣可以用梯度下降的思想求解SVM了)。我個人認為難的地方在于求解參數的SMO算法。
(5)是否所有的優(yōu)化問題都可以轉化為對偶問題:
這個問題我感覺非常好,有了強對偶和弱對偶的概念。用知乎大神的解釋吧
(6)處理數據偏斜:
可以對數量多的類使得懲罰系數C越小表示越不重視,相反另數量少的類懲罰系數變大。
4、Boosting和Bagging
(1)隨機森林
隨機森林改變了決策樹容易過擬合的問題,這主要是由兩個操作所優(yōu)化的:1、Boostrap從袋內有放回的抽取樣本值2、每次隨機抽取一定數量的特征(通常為sqr(n))。
分類問題:采用Bagging投票的方式選擇類別頻次最高的
回歸問題:直接取每顆樹結果的平均值。
常見參數 | 誤差分析 | 優(yōu)點 | 缺點 |
---|---|---|---|
1、樹最大深度 2、樹的個數 3、節(jié)點上的最小樣本數 4、特征數(sqr(n)) |
oob(out-of-bag) 將各個樹的未采樣樣本作為預測樣本統(tǒng)計誤差作為誤分率 |
可以并行計算 不需要特征選擇 可以總結出特征重要性 可以處理缺失數據 不需要額外設計測試集 |
在回歸上不能輸出連續(xù)結果 |
(2)Boosting之AdaBoost
Boosting的本質實際上是一個加法模型,通過改變訓練樣本權重學習多個分類器并進行一些線性組合。而Adaboost就是加法模型+指數損失函數+前項分布算法。Adaboost就是從弱分類器出發(fā)反復訓練,在其中不斷調整數據權重或者是概率分布,同時提高前一輪被弱分類器誤分的樣本的權值。最后用分類器進行投票表決(但是分類器的重要性不同)。
(3)Boosting之GBDT
將基分類器變成二叉樹,回歸用二叉回歸樹,分類用二叉分類樹。和上面的Adaboost相比,回歸樹的損失函數為平方損失,同樣可以用指數損失函數定義分類問題。但是對于一般損失函數怎么計算呢?GBDT(梯度提升決策樹)是為了解決一般損失函數的優(yōu)化問題,方法是用損失函數的負梯度在當前模型的值來模擬回歸問題中殘差的近似值。
注:由于GBDT很容易出現過擬合的問題,所以推薦的GBDT深度不要超過6,而隨機森林可以在15以上。
(4)GBDT和Random Forest區(qū)別
這個就和上面說的差不多。
(5)Xgboost
這個工具主要有以下幾個特點:
支持線性分類器 可以自定義損失函數,并且可以用二階偏導 加入了正則化項:葉節(jié)點數、每個葉節(jié)點輸出score的L2-norm 支持特征抽樣 在一定情況下支持并行,只有在建樹的階段才會用到,每個節(jié)點可以并行的尋找分裂特征。 5、KNN和Kmean(1)KNN 和Kmean缺點
都屬于惰性學習機制,需要大量的計算距離過程,速度慢的可以(但是都有相應的優(yōu)化方法)。
(2)KNN
KNN不需要進行訓練,只要對于一個陌生的點利用離其最近的K個點的標簽判斷其結果。KNN相當于多數表決,也就等價于經驗最小化。而KNN的優(yōu)化方式就是用Kd樹來實現。
(3)Kmean
要求自定義K個聚類中心,然后人為的初始化聚類中心,通過不斷增加新點變換中心位置得到最終結果。Kmean的缺點可以用Kmean++方法進行一些解決(思想是使得初始聚類中心之間的距離最大化)
6、EM算法、HMM、CRF
這三個放在一起不是很恰當,但是有互相有關聯(lián),所以就放在這里一起說了。注意重點關注算法的思想。
(1)EM算法
EM算法是用于含有隱變量模型的極大似然估計或者極大后驗估計,有兩步組成:E步,求期望(expectation);M步,求極大(maxmization)。本質上EM算法還是一個迭代算法,通過不斷用上一代參數對隱變量的估計來對當前變量進行計算,直到收斂。
注意:EM算法是對初值敏感的,而且EM是不斷求解下界的極大化逼近求解對數似然函數的極大化的算法,也就是說EM算法不能保證找到全局最優(yōu)值。對于EM的導出方法也應該掌握。
(2)HMM算法
隱馬爾可夫模型是用于標注問題的生成模型。有幾個參數(ππ ,A,B):初始狀態(tài)概率向量ππ ,狀態(tài)轉移矩陣A,觀測概率矩陣B。稱為馬爾科夫模型的三要素。
馬爾科夫三個基本問題:
概率計算問題:給定模型和觀測序列,計算模型下觀測序列輸出的概率。–》前向后向算法 學習問題:已知觀測序列,估計模型參數,即用極大似然估計來估計參數。–》Baum-Welch(也就是EM算法)和極大似然估計。 預測問題:已知模型和觀測序列,求解對應的狀態(tài)序列。–》近似算法(貪心算法)和維比特算法(動態(tài)規(guī)劃求最優(yōu)路徑)(3)條件隨機場CRF
給定一組輸入隨機變量的條件下另一組輸出隨機變量的條件概率分布密度。條件隨機場假設輸出變量構成馬爾科夫隨機場,而我們平時看到的大多是線性鏈條隨機場,也就是由輸入對輸出進行預測的判別模型。求解方法為極大似然估計或正則化的極大似然估計。
之所以總把HMM和CRF進行比較,主要是因為CRF和HMM都利用了圖的知識,但是CRF利用的是馬爾科夫隨機場(無向圖),而HMM的基礎是貝葉斯網絡(有向圖)。而且CRF也有:概率計算問題、學習問題和預測問題。大致計算方法和HMM類似,只不過不需要EM算法進行學習問題。
(4)HMM和CRF對比
其根本還是在于基本的理念不同,一個是生成模型,一個是判別模型,這也就導致了求解方式的不同。
7、常見基礎問題
(1)數據歸一化(或者標準化,注意歸一化和標準化不同)的原因
要強調:能不歸一化最好不歸一化,之所以進行數據歸一化是因為各維度的量綱不相同。而且需要看情況進行歸一化。
有些模型在各維度進行了不均勻的伸縮后,最優(yōu)解與原來不等價(如SVM)需要歸一化。 有些模型伸縮有與原來等價,如:LR則不用歸一化,但是實際中往往通過迭代求解模型參數,如果目標函數太扁(想象一下很扁的高斯模型)迭代算法會發(fā)生不收斂的情況,所以最壞進行數據歸一化。補充:其實本質是由于loss函數不同造成的,SVM用了歐拉距離,如果一個特征很大就會把其他的維度dominated。而LR可以通過權重調整使得損失函數不變。
(2)衡量分類器的好壞:
這里首先要知道TP、FN(真的判成假的)、FP(假的判成真)、TN四種(可以畫一個表格)。
幾種常用的指標:
精度precision = TP/(TP+FP) = TP/~P (~p為預測為真的數量) 召回率 recall = TP/(TP+FN) = TP/ P F1值: 2/F1 = 1/recall + 1/precision ROC曲線:ROC空間是一個以偽陽性率(FPR,false positive rate)為X軸,真陽性率(TPR, true positive rate)為Y軸的二維坐標系所代表的平面。其中真陽率TPR = TP / P = recall, 偽陽率FPR = FP / N(3)SVD和PCA
PCA的理念是使得數據投影后的方差最大,找到這樣一個投影向量,滿足方差最大的條件即可。而經過了去除均值的操作之后,就可以用SVD分解來求解這樣一個投影向量,選擇特征值最大的方向。
(4)防止過擬合的方法
過擬合的原因是算法的學習能力過強;一些假設條件(如樣本獨立同分布)可能是不成立的;訓練樣本過少不能對整個空間進行分布估計。
處理方法:
早停止:如在訓練中多次迭代后發(fā)現模型性能沒有顯著提高就停止訓練 數據集擴增:原有數據增加、原有數據加隨機噪聲、重采樣 正則化 交叉驗證 特征選擇/特征降維(5)數據不平衡問題
這主要是由于數據分布不平衡造成的。解決方法如下:
采樣,對小樣本加噪聲采樣,對大樣本進行下采樣 進行特殊的加權,如在Adaboost中或者SVM中 采用對不平衡數據集不敏感的算法 改變評價標準:用AUC/ROC來進行評價 采用Bagging/Boosting/ensemble等方法 考慮數據的先驗分布機器學習面試問題準備(進階)
這部分主要是針對上面問題的一些更細節(jié)的補充,包括公式的推倒思路、模型的基本構成、細節(jié)問題的分析等等。一、問題雜燴
1、PCA的第二主成分
第二個主成分時域第一成分方向正教的差異性次大方向。
2、什么時候用組合的學習模型
只有當各個模型之間沒有相關性的時候組合起來是最好用的。但是一般來說,弱相關的模型組合比較好用。
3、多重共線性
多重共線性是指當兩個特征的相關性很大的時候,會對參數模型造成非常大的影響??梢杂孟嚓P分析判斷多重共線性的存在性。
4、什么時候用L2優(yōu)于L1
如果多個變量都是一些具有小尺度或中等尺度影響的時候用L2比較好,如果個別變量影響很大的時候用L1。其實也可以結合起來使用。
5、交叉驗證的參數選擇問題
我們通常進行參數選擇的時候都是用網格法做的,但是這樣其實也是有弊端的,索性可以用隨機取樣的方式逼近最優(yōu)參數。
6、如果缺失值超過30%要怎么辦?
可以把缺失值單獨組成一類。
二、模型流程和公式推導
1、PCA傳統(tǒng)計算流程:
去除均值 計算協(xié)方差矩陣 計算特征值和特征向量 特征值從大到小排序 保留前N個特征向量 投影重構(記得吧去除的均值還回去)或者干脆去均值后用SVD計算
2、離散數據下的生成模型
(1)貝葉斯概念
我們都知道概率學派和貝葉斯學派的不同,現在我們從貝葉斯的角度上考慮問題。對于一個問題,通常要考慮其先驗概率,這是因為對于某些數據不足或有某些問題的情況下,單純考慮似然函數是不夠的,還需要引入假設先驗給一個主觀的先驗概率,而且在真正分析的時候應該引入假設空間D的概念(滿足要求的所有假設),后驗就相當于給定假設空間D下的其中某一個假設D的概率P(h|D)。
其實本質上最大后驗估計MAP是等價于最大似然估計的,即數據點足夠多的時候會淹沒先驗。
利用得到的后驗進行預測需要后驗預測分布(Posterior pordictive distribution),方法是對每一個獨立假設的加權均值(稱之為Bayes model averaging)
我們使用MAP的時候都要對先驗進行一些假設,而這些假設對應的先驗函數和似然函數通常是共軛的,這樣方便計算,關于共軛分布的概念其實很簡單,常用的幾個了解就可以。
(2)樸素貝葉斯分類器
樸素貝葉斯是最簡單的分類器之一了,根本是假設各個特征之間是獨立同分布的,也就是說P(X|y)=P(x1|y)*…P(xn|y)。我們可以假設特征x的分布,比如:在特征為real-value的時候,可以假設特征分布為高斯分布、在特征為二元特征的時候假設為Bernoulli分布、在類別特征的時候假設為multinoulli分布(我們通常見到的)。通常我們看到的Laplace平滑實際上是對參數的先驗分布(但是這個先驗可以只看出一個附加條件)。
具體的關于樸素貝葉斯的推導和使用見這里。補充一點,貝葉斯是可以進行在線學習的。但是要知道貝葉斯其實可以變得更復雜。
3、Gaussian高斯模型的高斯判別分析
對于多元高斯分布來說,他的共軛分布也是多元高斯分布,關于多元高斯分布的最大似然結果可以自己查查資料。這里主要說的是高斯判別分析。
高斯判別分析假設p(X,y=c,θθ )= N(X|μμ ,ΣΣ )服從多元高斯分布,當ΣΣ 為對角矩陣的時候起始就是上面說的樸素貝葉斯了。我們通常說到的Linear discriminant analysis(LDA)其實就是高斯判別模型的一種,假設所有類別的協(xié)方差矩陣都是相同的,這時求解后驗分布的時候得到的就是LDA。當然協(xié)方差矩陣不同的時候對應的QDA(Quadratic discriminant analysis,二次判別分析)。這個相當于我們對于通常定義LDA**最大化類間距最小化類內距離**實際上是等價的。
4、Logistic regression和指數分布族
這里將會從兩個角度看一下邏輯回歸的推導過程。
(1)邏輯回歸推導
這個很簡單,網上隨便找一個都有,就是求解MLE而已。但是除了二元的邏輯回歸還應該知道多元邏輯回歸的條件概率由sigmoid變?yōu)閟oftmax。
(2)邏輯回歸的廣義線性模型解釋
首先要知道什么是廣義線性模型:廣義線性模型是指輸出概率是指數分布族的y|x;θ~ExpoentialFamily(η),而且指數分布族的自然參數η的是x的線性組合。這個我掌握的不是很好,但是如果面試的時候講出來效果應該不錯。
(3)邏輯回歸輸出值是不是概率
答案是肯定的,解釋在這里,其實用廣義線性模型的思路說更好,但是實在是對概念掌握的不好。
5、SVM支持向量機
(1)支持向量機的公式推導,要詳細到KKT條件。
(2)可以進一步結合核函數和GLM引出核機的概念。
6、概率圖模型
有向圖、無向圖等
三、重要概念
1、監(jiān)督學習的生成模型和判別模型
這可以說是一個最基礎的問題,但是深挖起來又很復雜,面試的時候應該說出幾個有亮點的部分。
(1)基本說法
生成模型是由數據學習聯(lián)合概率分布P(X,Y),然后再求出條件概率分布P(Y|X),典型的生成模型有樸素貝葉斯和馬爾科夫模型。
判別模型就是直接學習判別函數或者是條件概率分布,應該是更直接一些。兩者各有優(yōu)缺點。
(2)進階區(qū)分
* 應該說生成模型的假設性更強一些,因為通常是從后驗分布的角度思考問題,通常對x的分布進行了一些假設。
* 訓練過程中,對于判別模型通常是最大化對數似然,對生成模型則是最大化聯(lián)合對數似然函數
* 因為生成模型對于特征的分布都做出了一定的假設(如高斯判別模型假設特征分布滿足多元高斯分布),所以如果對于特征的分布估計比較正確的情況下,生成模型的速度更好準確性也更高。
* 生成模型在訓練數據的時候對于每一類數據的都是獨立估計的(也就是每一類的參數不同),這也就說明如果有新類別加入的情況下,是不需要對原有類別進行重新訓練的
* 對于半監(jiān)督學習,生成模型往往更有用
* 生成模型有一個大的缺點就是不能對特征進行某些預處理(如特征映射),因為預處理后的數據分布往往有了很大的變化。
2、頻率學派的一些基本理論
(1)期望損失(風險函數)、經驗損失(經驗風險)、結構風險
期望損失:理論上知道模型后得到的平均損失較期望損失(依賴于真實分布),但是模型正是我們要求的
經驗損失:經驗損失指針對模型的抽樣值(訓練集)進行平均的損失估計,根據大數定律當訓練數據足夠的時候經驗損失和期望損失是等價的
結構風險:經驗損失是假設經驗分布和自然分布相同時得到的,但是這樣會造成過擬合,所以引入了正則化,懲罰模型復雜度。
(2)極大似然MLE、極大后驗MAP
因為我們有的時候利用經驗損失求解的時候會遇到不好求解的問題(如不連續(xù)0-1)這是可以用對數極大似然估計等價的對參數進行分析。
同理最大后驗利用先驗概率達到懲罰模型的作用。如l2-norm嶺回歸對應高斯先驗、L1對應拉普拉斯先驗。