一. 引言
1.機器學習是什么
Arthur Samuel:在進行特定編程的情況下,給予計算機學習能力的領域。
Tom Mitchell:一個程序被認為能從經驗E中學習,解決任務T,達到性能度量值P,當且僅當,有了經驗E后,經過P評判,程序在處理T時的性能有所提升。
2.機器學習導圖
圖的左半部分列出了常用的機器學習算法與它們之間的演化關系,分為有監督學習,無監督學習,強化學習3大類。右半部分列出了典型算法的總結比較,包括算法的核心點如類型,預測函數,求解的目標函數,求解算法。
另一個角度總結:
3.機器學習分類及應用
分類
監督學習:對于有標簽的數據進行學習,目的是能夠正確判斷無標簽的數據。通俗的講,老師教授學生知識,并告知學習過程中的對與錯,讓學生可以從所學知識的經驗和技能中對沒有學過的問題進行正確回答,這就是監督學習,用于預測數據的回歸、分類標簽的分類、順序的排序等問題。
無監督學習:對于無標簽的數據進行學習,目的是不僅能夠解決有明確答案的問題,也可以對沒有明確答案的問題進行預測。通俗的講,學生通過自學學習知識,達到可以正確回答有答案的問題,也可以對無答案的問題進行預測歸類。常用于聚類、異常檢測等。
強化學習:學生學習知識時,沒有老師對其進行對與錯的判定,需要學生根據自己所擁有的信息自己判定對于錯,如果能夠判定出來,則為有監督學習;如果判定不出來對與錯,則為無監督學習。常用于機器人的自動控制、游戲的人工智能、市場戰略的最優化等。
應用
監督學習應用:手寫文字識別、聲音處理、圖像處理、垃圾郵件分類與攔截、網頁檢索、基因診斷、股票預測......(回歸、分類、排序)
無監督學習應用:人造衛星故障診斷、視頻分析、社交網站解析、聲音信號解析.....(聚類、異常檢測)
強化學習應用:機器人的自動控制、計算機游戲中的人工智能、市場戰略的最優化(回歸、分類、聚類、降維)
4.機器學習方法
- 生成式分類
- 判別式分類
生成式分類和判別式分類
已知模式x, 求分類類別y的條件概率最大的類別:
條件概率改寫為y的函數:
聯合概率p(x,y)和后驗概率p(y|x)成正比,故直接求聯合概率最大值即可:
條件概率p(y|x)也稱后驗概率, 聯合概率p(x,y)也稱數據生成概率
直接對后驗概率學習的過程稱為判別式分類
通過預測數據生成概率學習的過程稱為生成式分類
數據生成概率已知時可推出后驗概率:
, 反之不可以.
統計概率和樸素貝葉斯
- 統計概率方法
已知樣本, 求運用最大似然方法來求模式
:
目標: 由訓練集得到高精度的
- 樸素貝葉斯方法
計算模式的先驗概率
,運用貝葉斯定理來求數據集D的后驗概率
:
目標: 如何精確計算后驗概率
5.強化學習(RL),監督學習(SL)和無監督學習(UL)的區別和聯系
下面這段話解釋了得很清楚:
Reinforcement learning is a problem. Deep learning is an approach to solving problems.There is a deep learning approach to supervised learning, unsupervised learning, semi-supervised learning, and reinforcement learning.
劃重點:
- Supervised Learning: given data, predict labels
- Unsupervised Learning: given data, learn about that data
- Reinforcement learning: given data, choose action to maximize expected long-term reward
- RL更像控制系統家族里的,流著控制的血液,披著機器學習的外衣,需要data,training以此來支持決策。RL可以decision-making,不同于決策樹之類的決策,是控制角度的決策,意味著就有失誤,伴隨著收益與懲罰(股票,博弈,游戲得分等等)。
細一點來說,RL與SL的區別有:
- 喂數據的方式不同:強化學習(RL)的數據是序列的、交互的、并且還是有反饋的(Reward)-【MDP]。這就導致了與監督學習(SL)在優化目標的表現形式的根本差異:RL是一個決策模型,SL更偏向模式挖掘,低階的函數逼近與泛化。RL是agent自己去學習,SL是跟著programmer的idea在收斂。
- RL的target是估計得來的,符合bellman等式,SL的target是fixed label;RL可以融合SL來訓練,RL還可以自己博弈來生成樣本。[交互特性,也可以放到第一點中]
- RL可以進行lifelong形式的學習。RL有“生命”的【你可能也不知道你訓練出來的模型到底能干什么】,SL沒有。
二. 機器學習模型
1. 線性模型
一維輸入+基函數形式:
非線性時,
可以表示復雜模型
基函數:
(1) 多項式
(2)三角多項式
多維輸入形式:
是基函數向量
的第j個因子,
是參數向量
的第j個因子.
基函數:
(1) 乘法模型
模型表現力豐富, 其中, b'代表各維參數個數, 參數總和, 易導致維數災難.
(2) 加法模型
參數總和, 復雜度小, 表現力差
2. 核模型
線性模型基函數和訓練樣本無關,核模型的基函數會使用輸入樣本.
核模型是二元核函數, 以
的方式線性結合:
高斯核:
, 其中表示
范數
, h和c是高斯函數帶寬和均值
高斯核函數圖:
一維高斯核
如圖, 只在各個樣本
參數個數不依賴輸入變量維數d, 只由樣本數n決定
樣本數n很大時, 將樣本的子集
作為核均值計算, 抑制了計算負荷:
核模型是參數向量的線性形式, 因此也是基于參數的線性模式的特例.
基于參數的線性模型稱為參數模型, 核模型稱為非參數模型
核映射: 核模型易擴展,當輸入樣本不是向量時(字符串,決策樹, 圖表等),通過構造兩個樣本x和x'的和核函數來建模.
3. 層級模型
非線性模型: 和參數相關的不是線性的模型均稱為非線性模型
非線性模型中的層級模型:
上式中, 是包含參數向量
的基函數,
是參數向量
層級模型是基于參數向量的非線性形式
S型基函數:
高斯基函數:
使用S型核函數的層級模型稱為人工神經網絡
上式中的高斯函數和核模型中的高斯核相同,但是帶寬和均值非固定
層級模型會對耦合系數
,帶寬和均值都進行學習, 因此層級模型比核函數更靈活.
人工神經網絡學習過程艱難: 參數
和函數
不是一一對應的
常采用貝葉斯方法學習人工神經網絡
三. 最小二乘法(LS)
1. 無約束最小二乘法
對模型均方誤差最小化時的參數學習的方法.
若無特別說明, 下文提到的最小二乘法通指無約束的.
均方誤差:
LS: Least Squares
學習目標:
平方誤差是殘差
的
范數, 最小二乘法也稱
損失最小化學習法
加權最小二乘法
對訓練樣本平方差通過權重加權, 再使用最小二乘法:
核模型的最小二乘法求解:
上式, 將設計矩陣置換為核矩陣K:
線性模型中的應用
平方誤差:
構成的nxb階設計矩陣:
關于參數向量的偏微分:
時
取得最小值, 此時最小二乘解滿足
解得:
注: 只有有逆矩陣時上式才成立
廣義逆矩陣: 是對逆矩陣的推廣, 只有方陣, 非奇異矩陣才有逆矩陣, 單矩形矩陣或奇異矩陣都可以定義廣義逆矩陣
令廣義逆矩陣為:
, 則可寫為:
最小二乘法學習基于三角多項式基函數的線性模型:
無約束最小二乘法解的性質
設計矩陣的奇異值分解:
分別稱為奇異值, 左奇異向量, 右奇異向量.
- 奇異值非負
- 奇異向量滿足正交性
的廣義逆矩陣:
是標量
的廣義逆矩陣,
最小二乘解表示為:
模型輸出向量變換為列向量:
因此, 是
的正交投影矩陣, 最小二乘法輸出向量
是值域
的正交投影得到的.
帶入真實函數中的參數:
可知, 真的輸出值向量就存在于中
結論: 用最小二乘法的向量若是由的正投影得到的, 則可以有效去除y中的噪音:
噪聲期望為0是, 就是真是參數
的無偏估計:
上式, E為噪聲的期望
漸近無偏性:
增加訓練樣本n, 上式$E[\hat \theta_{LS}]會向著模型中最優參數方向收斂的性質
大規模學習
一般線性模型為凸函數.
凸函數: 連接任意兩點的線段一定在函數上不:
凸函數只有一個峰值,因此通過梯度法一定可以得到均方差在值域范圍內的全局最優解
梯度法的收斂速度強烈依賴梯度下降步長, 以及收斂結果判定方式(提前終止).
2.帶約束條件的最小二乘法
單純的最小二乘法容易過擬合, 帶約束的最小二乘法能控制模型復雜度, 降低過擬合.
部分空間約束的LS
含參線性模型, 使用全體參數空間:
將參數空間限制在一定范圍內, 防止過擬合:
P是維矩陣,是P的值域
的正交投影矩陣
部分空間約束的最小二乘法解通過將設計矩陣
置換為
求得:
下圖展示了添加部分空間約束對模型的影響:
上圖用三角多項式作為基函數:
圖(b)添加了約束條件, 將參數限制在
的部分空間內:
L2約束的LS
1. 標準L2約束的LS
部分空間約束的LS(最小二乘法), 正交投影矩陣P的設置自由度高, 操作難度大, 基于L2約束的LS相對較容易.
約束條件如下:
L2參數空間:
如圖, 是一個參數空間原點為圓心,R為半徑內的圓(一般為超球)
引入拉格朗日對偶問題:
利用拉格朗日對偶問題, 求解:
的最優解問題, 可得到最優化問題的解.
上式中拉格朗日待定因子的解由圓半徑R決定
簡化版(不由R決定):
上式表示對樣本擬合程度, 與
組合得到最小是, 防止過擬合
上式令關于的導數為0, L2約束的LS的解
可通過下式求解:
上式結論:
- 將矩陣
相加提高其正則性, 進而更穩定地進行逆矩陣求解.
- L2約束的LS也成為L2正則化的LS,
稱為正則項,
為正則化參數
- L2正則化有時也稱嶺回歸
將設計矩陣做奇異值分解:
帶入上上式, 則L2約束的LS解表示為:
上式結論:
-
時, L2約束的LS蛻化為一般的LS
- 設計矩陣
計算條件惡劣,包含極小的奇異值
時,
變得極大, 訓練輸出
噪聲會增加
- 分母
中加入正的常數
, 避免
過大, 進而可防止過擬合
2. 高斯核模型的L2約束優化
高斯核模型
L2約束優化
, 加入正則化項, 很好地抑制了過擬合.
根據標準高斯分布的函數圖, 我們對比可以看出圖中標紅位置出現了過擬合.
2. 更一般L2約束的LS
標準L2約束的LS
問題表示:
求解:
更一般的L2約束的LS
使用正則化矩陣G, 可得到更一般的表示:
問題表示:
求解:
更一般的L2約束的LS解求解過程, 和標準L2約束的LS大體相同:
-
參數空間:
矩陣G對稱正定時,將數據限制在橢圓區域內. 下圖為更一般的L2約束的LS參數空間:
一般L2約束LS的參數空間
3. 模型選擇
部分空間約束或L2約束的LS, 都過分依賴正交投影矩陣P和 正則化參數λ的選擇
- 選擇合適的P和λ至關重要
采用不同的輸入樣本, 決定算法中各個參數值的過程稱為模型選擇
下圖展示一個高斯核模型+L2約束的LS中, 帶寬和正則化參數
的變化對學習結果的影響:
模型選擇流程:
實際應用中常用交叉驗證法, 拿出一部分訓練樣本做測試, 不參與學習, 值評價最終學習結果的泛化誤差
交叉驗證法流程:
K折交叉驗證:
訓練集分割為k個集合, 需進行k次學習, 由于各學習過程相互獨立, 可以并行計算.
留一交叉驗證:
設有n個樣本, 每次留下一個樣本做測試集, 其余n-1個訓練, 共需要訓練n次, 測試n次
計算繁瑣, 樣本利用率高, 適合小樣本學習