機器學習元知識

基本概念:
機器學習:使用算法學習概率分佈或者函數的過程(抽象版);從樣本中按照一定的計算學習規則的過程(簡化版);
統計學習:基於數據構建概率模型的學習方法,是統計學、概率論、信息論、最優理論及計算科學等的交叉。
             統計學習方法三要素:模型、策略、算法。
深度學習:多層神經網絡的學習方法

模型
要學習的概率分佈或函數(假設空間)
策略
學習準則或者如何選擇模型
算法
如何通過輸入計算得到輸出

深度學習和多層神經網絡的區別:
深度學習
多層神經網絡
深度模型
一系列學習方法
一種模型
一系列模型
爲了讓層數較多的多層神經網絡可以訓練,能夠work而演化出來的一系列的新方法
就是很多層的神經網絡
CNN(1993)
DBN(2006)
DBM
基於統計學習的多層神經網絡訓練效果差原因:
其通過BP(反向傳播)算法來訓練,通過輸出和標籤值的比較和調整,迭代訓練整個網絡,直到符合標準(整體是一個梯度下降算法)。而當層數增加(7層以上),殘差傳播到最前面的層已經變得很小,即出現梯度擴散/消失(根源在於非凸目標代價函數導致求解陷入局部最優),影響精度。
所以傳統的神經網絡訓練,一般只能訓練3層以下的網絡。
解決辦法:使用新的激活函數ReLU,緩解梯度消失。

深度學習的改進之處:
新的學習方法:
(1)通過數據學習得到初始值,更接近全局最優。
(2)新的激活函數
(3)新的權重初始化方法
(4)新的損失函數
(5)新的過擬合方法等

新的結構:
CNN:卷積神經網絡,視野,權值共享等。(有監督
LSTM:長短期記憶網絡,避免長期依賴的長期記憶機制。
GRU:Gated Recurrent Unit,混合了LSTM的忘記門和輸入門,混合了細胞狀態和隱藏狀態。
據說效果都差不多,但是GRU結構更簡單,計算更快。
更多詳情參考:

總的來說,目前因爲有imgaenet等數據庫的存在,使得監督學習得以進行,所以現在更多地是進行有監督的深度學習。
而最近谷歌也開源了超大型視頻數據庫,視頻長達50萬小時。標籤經過多重篩選設置。

深度學習有監督和無監督訓練http://blog.csdn.net/u012526120/article/details/49591213
一開始(1993年左右)CNN由於沒有很好地學習算法和硬件條件,無法很好地完成學習,後來的2006年的DBN基於深度置信網絡和DBM(深度波爾茲曼機)提出的無監督學習算法,相對其它傳統的統計學習算法能取得更好的效果,深度學習被重新重視。
2012年,imagenet競賽中的Alexnet模型取得優異成績後,帶動了有監督深度學習的熱潮。



經典算法:         機器學習算法面試小結
迴歸oneall
線性最優化誤差函數(最小二乘法<極大似然估計>)
優點:簡單,容易理解
缺點:對非線性擬合不好
局部加權迴歸

對數據賦權值、斤大遠小類似局部迴歸、然後組合?
優點:可以學習高維度的數據
缺點:暫時不知
賦權值:高斯核(正太分佈、近大原小)
樹迴歸分類後迴歸 
優點:可以處理高維數據,切分後迴歸即可
缺點:結果不易理解抽象化
邏輯
邏輯函數映射到(0,1),分類 






聚類(Partition-based methods)
one
all
K-Means(補分類過程)
按N個最近的數據中的多數分
1.懶惰學習算法
2.一股腦塞進內存,計算出最"近"的N個點,然後將均值輸出。
Knearl-K-Means
將不規則數據投射到更高層空間
1.在必要的時候,用核方法投射高更高維度,進行劃分。結果再投射回二維。
其它,基於圈圈大小,圈圈內樣本數量劃分的。


分類模型
one
all
決策樹
定義:以最純淨的方式進行二分類迭代,形成一棵2叉樹。

應用場景:理解數據的構成/結構,實際的分類使用一般會使用集成的方法。
缺點:
1.容易過擬合,如果停止條件是每個葉子節點只有一種分類,算法就會盡量使得葉子結點完美純淨。
1.5.於是降低分類停止條件,設置閾值(分類條件和分類的相關程度(葉子結點純淨度)、葉子結點樹木)。
2.還是容易過擬合。(噪音數據過多,無法準確分割;缺少代表性數據,無法分割出該類;多重比較,量大了選出來的優秀可能只是隨機優秀。
3.於是迭代裁剪葉子節點,進行交叉驗證,以最優(泛化能力最好)樹爲最終模型。(可能需要進行蠻多次裁剪:如果每處葉子節點都只留一個代表性節點)

優點:
0.非參數學習:不必考慮是否線性可分、有離羣點等
1.可讀性比較好,具備良好的可描述性。
2.效率高,一次構建,反覆使用??(哪個模型不是的呢),計算次數最多爲樹的深度。
常用算法:ID3和 C4.5(用信息增益比確定分類特徵)  
隨機森林
綜合多棵決策樹的分類效果,防止過擬合

應用場景:流失客戶類別預測、風險評估
解決的問題:決策樹的過擬合和噪聲數據問題
解決方案:兩個隨機:隨機樣本、隨機特徵。
更多優點:
  • 可處理高維度數據(不用做特徵選擇)
  • 數據集適應能力強:離散數據、連續型數據都可以處理。隨機抽樣、特徵離散化處理
缺點:有過擬合風險(降低樹的深度、裁剪葉節點、降低子樹隨機選取特徵和樣本量)
關鍵在於:最小葉結點書目、最大子樹樹木、每課子樹的數據數量、特徵數量等的調整。(玄學範疇)
SVM
定義:從幾何的角度劃分數據,特點是考慮到了潛在的數據,使得潛在數據都能很比較好地進行劃分。(具有魯棒性

應用場景:都可以試試?,數據量不大的分類問題
本質:基於概率??
優點:不易過擬合,適合小樣本。(一天以內可以訓練出來模型的量)
缺點:內存密集型,涉及到對樣本的隨機訪問。核函數選擇是關鍵,但是這是屬於玄學。
核函數選擇:樣本量大時,可想辦法增加特徵,用線性核統一映射和不映射的情況,不區分)的SVM或者是線性迴歸。如果樣本量不大,可採用高斯核的SVM(映射到無窮維度)。
優點:具有魯棒性、有考慮到潛在的數據
多層神經網絡
多種刺激,多次處理,不同權重,模擬人腦神經處理。

應用場景:
缺點:
  • 隨機的初始化參數
  • 對不相關參數較敏感(圖片)
  • 部分有意義參數無法提取(圖片分類)
  • 增加層數,會產生梯度擴散(往後的參數)
  • 沒有時間維度
優點:
  • 對音頻和圖像比其它分類算法有效
  • 黑盒模型,只需要處理輸入和輸出即可,不需要關注內部函數
深度學習中的激活函數與梯度消失 非常詳細(梯度表達式
深度學習模型
應用場景:圖像識別、文本識別、遊戲操作學習


缺點:
  • 黑盒模型,解釋型不好
  • 對不相關參數較敏感(圖片)
  • 部分有意義參數無法提取(圖片分類)
優點:
  • 通過數據計算初始權值
  • 可以學習的層數更深,可達到上千層
  • 有多種新模型:LSTM可以釋放長期記憶的存儲,達到類似效果。(RNN無法作到)
  • GRU簡化版本的LSTM,設置了兩種機制:更新和重置。比lstm少了一種。(輸入輸出和遺忘機制)
樸素貝葉斯
貝葉斯公式:
P(Y|X)=P(X|Y)P(Y)P(X):P(Y|X)=P(X|Y)P(Y)P(X) /  P(X)
       
條件獨立假設:事件X、Y互相獨立
樸素貝葉斯:拆Y  P(X|Y1)P(X|Y2)...P(Y1Y2)/P(X)
(要求事件Y在X發生的條件下發生的概率,即X、Y的概率爲先驗概率,通過易獲取的X在Y發生的情況下發生的概率求解。
其中,XY相互獨立,XY可拆解,此處拆解Y,可分解出多個貝葉斯公式,分別求解)

應用場景:文本分類(垃圾郵件識別、情感分析)
缺點:
  • 獨立性不能得到很好的驗證
  • 有些詞語重複出現,可能影響準確計算。
  • 有些詞語未出現,P(y)=0使得整個式子等於零
  • 自然語言處理中語序問題,貝葉斯無法處理語序
優點:
  • 即使獨立性不那麼好的情況,模型也好用。
  • 模型簡單,有理論基礎
  • 易拓展,若shu
一些技巧:
  • 多項式模型(重複計算輸出*詞頻)、伯努利模型(只算一次)、混合模型。(區別伯努利丟掉了詞頻,統計欠完美)
  • 平滑技術
  • N元語言模型,依據鏈式法則將詞語之間的依賴關係用概率乘積表示。

邏輯迴歸
定義:通過最邏輯迴歸函數:正則化投射到特定值域。

應用場景:數據類別間大致是線性可分的分類問題
缺點:
  • 線性不可份沒轍~
優點:
  • 很好的概率解釋
  • 正則化(引入先驗分佈,縮小解空間,減小求出錯誤解的可能性)
LDA線性判別分析
降維/分類

應用場景:
缺點:
  • 不適合非高斯分佈的樣本
  • 依賴均值而非方差時,分類效果比PCA好
  • 降維類別數有限制:k-1
  • 可能過擬合
優點:
  • 可以使用先驗知識,PCA不能


Q&A:


集成學習:


Something needed to be explored more
  1. 分類學習算法——一個統一的視角
  2. 決策書的結點裁剪
  3. 特徵工程——特徵離散化,特徵交叉
  4. 迴歸樹和分類樹
  5. 多層神經網絡
  6. 梯度表達式和sigmod函數的關係
  7. 感知器爲什麼是支持向量機的基礎?
  8. 鏈式法則是什麼?
  9. 局部加權迴歸是如何處理的


各種算法的代碼實現
具體算法數學理解











發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章