線性形式
由d個屬性的線性組合進行**的函式,表示如下:
f(x)=w1x1+w2x2+...+wdxd+b
一般用向量形式寫成
f(x)=wtx+b
其中w=(w1,w2,...,wd),w和b學得後,模型就得以確定。
線性回歸
線性回歸(linear regression)是利用稱為線性回歸方程的最小平方函式對乙個或多個自變數和因變數之間關係進行建模的一種回歸分析。
**性回歸中,最小二乘法就是試圖找到一條直線,使得所有樣本到直線的歐式距離之和最小。
利用最小哦啊二乘」引數估計」可得到w和b的最優解的閉式解
w=∑mi=1yi(xi?x_)∑mi=1x2i?1m(∑mi=1xi)2
b=1m∑i=1m(yi?wxi)
其中x_=1m∑mi=1xi為x的均值
廣義線性模型
令線性回歸模型簡寫為y=wtx+b,若令模型**值逼近y的衍生物,如我們認為其所對應的輸出標記是在指數尺度上變化,那就可將輸出標記的對數作為線性模型逼近的目標,即有:
lny=wtx+b
在形式上仍是線性回歸,但是實質上已是再求輸入空間到輸出空間的非線性函式對映。更一般地考慮單調可微函式g(x),令
y=g?1(wtx+b)
這樣得到的模型稱為」廣義線性模型」。其中g(x)稱為聯絡函式。
對數機率回歸
對於分類任務,運用廣義線性模型,只需找乙個單調可微函式將分類任務的真實標記y與線性回歸模型的**值聯絡起來。
sigmoid函式
對於分類任務,最理想的是階躍函式unit-step function。但是階躍函式不連續,因此不能作為廣義線性模型中的g?(?),於是我們期望找到能在一定程度上可近似單位階躍函式的替代函式,並希望可以單調可微,對數機率函式就是這樣乙個常用的替代函式.
與=11+e?z
對數機率函式是一種」sigmoid函式」,它將z值轉化為乙個接近0或者1的y值。並且其輸出在z=0附近變化很陡。將對數機率函式作為g?(?),得到
y=11+e?(wtx+b)
可變化為
lny1?y=wtx+b
若將y看作是正例的可能性,那麼1-y則是反例的可能性,二者的比值稱為odds(機率),反映了x作為正例的可能性。因此被稱為對數機率回歸。雖然是回歸,但是任務卻是分類。
優點
- 它是直接對分類可能性進行建模,無需事先假設資料分布,就避免了假設分布不準確帶來的問題;
- 它不是僅**類別,而是得到近似概率的**,對許多需要利用概率輔助決策的任務很有用;
- 對率函式是任意階可導的凸函式,有很好的數學性質,很多數值優化演算法都可直接用於求取最優解。
線性判別分析
線性判別分析(linear discriminant analysis)lda,是一種經典的線性學習的方法,在二分類問題上最早由fisher提出,亦稱」fisher判別分析」。
基本思想
給定訓練樣例集,設法將樣例投影到一條直線上,使得同類樣例的投影點盡可能的相近、異類樣例的投影點盡可能的遠離;在對新樣本進行分類時,將其投影到同樣的這條直線上,再根據投影點的位置來確定新樣本的類別。如下:
給定資料集d=mi=1,yi∈,令xi,ui,∑i分別表示第i∈類例項的集合、均值向量、協方差矩陣。若將資料投影到直線w上,則兩類樣本的中心在直線上的投影分別為wtu0和wtu1;若將所有樣本點都投影到直線上,則兩類樣本的協方差分別為wt∑0w和wt∑1w,由於直線是以為空間,因此它們均為實數。
欲使同類樣例的投影點盡可能接近,可以讓同類樣例投影點的協方差盡可能小即wt∑0w+wt∑1w盡可能的小;而欲使異類樣例的投影點盡可能的遠離,可以讓類中心的距離盡可能的大,即
||wtu0?wtu1||22盡可能的大。同時考慮二者,則可得到欲最大化的目標
j=||wtu0?wtu1||22wt∑0w+wt∑1w=wt(u0?u1)(u0?u1)twwt(∑0+∑1)w
定義為類內散度矩陣:
sw=∑0+∑1=∑x∈x0(x?u0)(x?u0)t+∑x∈x1(x?u1)(x?u1)t
定義為類間散度矩陣:
sb=(u0?u1)(u0?u1)t
則最大化目標j可改寫為:
j=wtsbwwtsww
這個就是lda欲最大化的目標,即sb與sw的廣義瑞利商。
確定w
廣義瑞利商的分子和分母都是關於w的二次項,因此解與w的長度無關,只與其方向有關。不失一般性,令wtsww = 1,則minw?wtsbw,由拉格朗日乘子法,等價於
sbw=λsww,其中λ是拉格朗日乘子,令sbw=λ(u0?u1),可得
w=s?1w(u0?u1)
考慮到數值解的穩定性,在實踐中,通常是對sw進行奇異值分解,即sw=u∑vt,這裡∑是乙個實對角矩陣,器對角線上的元素是sw的奇異值,然後再由s?1w=v∑?1ut得到s?1w.
lda可從貝葉斯決策理論的角度來闡釋,並可證明,當兩類資料同先驗、滿足高斯分布且協方差相等時,lda可達到最優分類。
多分類學習
不失一般性,考慮n個類別c1,c2,..cn,多分類學習的基本思路是」拆解法」,即將多分類任務拆為若干個二分類任務求解。具體來說,先對問題進行拆分,然後拆出的每個二分類任務訓練乙個分類器;在測試時,對分類器的**結果進行整合以獲得最終的多分類結果。
拆分策略
經典拆分策略:
- 一對一:將n個類別兩兩配對,從而產生n(n-1)/2個二分類任務,如將為區分類別ci和cj訓練乙個分類器,該分類器將ci類樣例作為正例,將cj類樣例作為反例,在測試階段,新樣本將同時提交給所有分類器,將得到n(n-1)/2個分類結果,最終結果可通過投票產生。即把被**的最多的類別作為最終分類結果。
- 一對多:每次講乙個類的樣例作為正例,所有其他類的樣例作為反例來訓練n個分類器。在測試時若僅有乙個分類器**為正類,則對應的類別標記作為最終分類結果。若有多個分類器**為正類,則通常考慮各分類器的**置信度,選擇置信度最大的類別作為分類結果。
容易看出,一對多隻需訓練n個分類器,而一對一需訓練n(n-1)/2個分類器。因此一對一的儲存開銷和測試時間開銷通常比一堆多大,但是一對一的訓練時間比較小。
- 多對多:每次將若干個類作為正類,若干個其他類作為反類。其中需要這種策略需要特殊的設計,不能隨意取。常用的技術:糾錯輸出碼。工作步驟分為:
- 編碼:對n個類別做m次劃分,每次劃分將一部分類別作為正類,一部分劃分為反類,從而形成乙個二分類訓練集;這樣一共產生m個訓練集,可以訓練出m個分類器。
- 解碼:m個分類器分別對測試樣本進行**,這些**標記組成乙個編碼,將這個**編碼與每個類別各自的編碼進行比較,返回其中距離最小的類別最為最終**結果。
類別不均衡問題
類別不均衡就是指分類任務中不同類別的訓練樣例數目差別很大的情況。不是一般性,假定正類樣例少,反類樣例較多,如998:2,那麼學習方法只需要返回乙個永遠將新樣本**為反例的學習器。
類別不平衡學習的基本策略–再縮放
- 直接對訓練集裡的反類樣例進行」欠取樣,即去除一些反例使得正反例數目接近、然後再進行學習;
- 是對訓練集裡的正類樣例進行」過取樣」,即增加一些正例使得正、反例數目接近,然後再進行學習;
- 直接基於原始訓練集進行學習,但在用訓練好的分類器進行**時,將下式嵌入到其決策的過程中,稱為」閥值移動」。
y′1?y′=y1?ym+m?
其中y1?y,反應了正例可能性與反例可能性之比值。m+表示正例數目,m?表示反例數目。
問題
其中欠取樣法的時間開銷遠小於過取樣法,因為前者丟棄很多反例,使得分類器的訓練集遠小於初始訓練集,而過取樣法增加了很多正例,使得訓練集大於初始訓練集。
過取樣法不能簡單地對初始正例樣本進行重複取樣,否則會產生嚴重的過擬合。欠取樣若隨機丟棄反例,可能會丟棄一些重要資訊
機器學習知識點
1.knn 不適合用來對特徵分布進行分析。2.強化學習中的mdp模型 環境狀態的集合 動作的集合 在狀態之間轉換的規則 規定轉換後 即時獎勵 的規則 描述主體能夠觀察到什麼的規則。3.otsu推到 4.繪製曲線 plt.plot hist.history loss plt.plot hist.his...
機器學習知識點
2.感知機 3 k近鄰法 4.樸素貝葉斯 5.決策樹 6.邏輯回歸與最大熵模型 7.支援向量機 8.整合學習 9.em演算法 10.隱馬爾科夫模型與條件隨機場 11.聚類方法 1.1 監督學習關於資料的基本假設是什麼?1.2 模型的假設空間是什麼?1.3 統計學習三要素 1.4 損失函式的定義,有哪...
知識點小結
華為 1.c與c 哪個效能比較好?從語言特性角度上來看,c 是c的超集。在 c c的這部分語言特性中有很多會降低執行效率。乙個例子是dynamic cast,執行乙個dynamic cast要消耗100 300個cpu cycles,因為機器要跳到一段特別的snippet 一小段程式 去檢查type...