序言
所有機器學習的原理,本質上都是對同一段資訊在不同空間內的轉換、過濾、重新表徵,最終解碼出一段可讀資訊。為了讓最終資訊可讀,我們需要給最終輸出的每一個 bit 賦予意義。如果是監督學習,則需要定義一個度量來描述輸出資訊與真實資訊的距離。
列舉常見的傳統機器學習,我們可以發現大多數監督學習都遵循著這一機制。
SVM 使用核心機制重新定義了兩個向量的內積,經過 centering 這樣一個定義原點的操作之後,可以很快看出核心機制實際上重新定義了兩個樣本間的歐式距離。
而任意兩點間的歐式距離被改變,則意味著座標系的轉換,並且轉換過後的新座標系基本上不再是直角座標系了,很可能是一個更高或是更低維度流型上的曲線座標系。這時優化度量 margin loss 再在新座標系上嘗試分割出正負樣本的 support vector 的最大間隔,找到線性超平面即可。
所有迴歸,包括線性迴歸、迴歸樹,以及各種 boosting tree,其座標轉換部分也非常明顯,從 N 維輸入到 1 維輸出的轉換(不管線性還是非線性),之後接一個優化度量(KL 距離既交叉熵、最小二乘、triplet loss,etc.)。
貝葉斯流派的最終優化目標:logP(x),其本質還是減少,即增加預測分佈與目標分佈的互資訊。其特徵空間的轉換的方法,就比較五花八門了,這裡不細分析。
那麼,除了輸入與輸出的表徵方法,以及優化度量的選擇之外,是否在各種機器學習包括深度學習方法內,通用的一些規則呢?就如同牛頓三大定律一樣,足以解釋所有經典力學的公式。
從資訊瓶頸方法出發,接下來會嘗試解釋一系列深度學習中出現的知識,並稍作延伸與傳統學習的知識點進行類比,去探索機器學習的最核心思路。