我在接觸機器學習的程序中, 被一些學習器所洗腦, 如 k k kNN, 決策樹, Naive Bayes (NB), Supoort vector machines (SVM), Back-propagation artificial neural networks (BP-ANN), Matrix factorization (MF). 學習器的評價指標往往是分類精度 (accuracy)、回歸誤差 (mean absolute error, MAE; root mean squared error, RMSE) 等等. 這導致了我對資料內部規律的長期忽略. 最近才開始體會到資料生成器的重要性.
1. 資料生成器
以結構化資料為例, 資料生成器的輸入包括:
- 屬性 (特征) 個數 m m m;
- 各個屬性服從的分布 (概率密度函式);
- 屬性之間的關系, 即聯合分布 (聯合密度函式);
- 資料量 n n n.
輸出則為按照這些函式隨機生成的 n × m n \times m n×m 矩陣.
說明:
- 如果要獲得列舉值, 使用相應閾值即可 (如小于 0 為負例, 否則為正例);
- 一般假設各條資料獨立, 生成 n n n 條資料不超過 1 條資料的 n n n 倍時間, 所以資料生成起來很快, n n n 可以非常大.
現成的招數點擊如下鏈接: 使用python進行資料生成.
2. 學習器
以回歸問題為例, 學習器的輸入包括:
- 資料集, 一個 n × m n \times m n×m 矩陣. 也可以表示條件矩陣 X \mathbf{X} X 和標簽矩陣 Y \mathbf{Y} Y, 參見 機器學習的數學基礎 5: 資料集的混合表示法.
- 指定的決策屬性, 通常是最后一個.
輸出為一個函式
f
:
R
m
?
1
→
R
f: \mathbb{R}^{m - 1} \rightarrow \mathbb{R}
f:Rm?1→R.
優化目標:
min
?
∑
i
=
1
n
l
(
f
(
x
i
)
,
y
i
)
\min \sum_{i = 1}^n \mathcal{l}(f(\mathbf{x}_i), y_i)
min∑i=1n?l(f(xi?),yi?).
3. 兩者關系
聯系如下:
- 生成器是一個正向的程序 (由概率密度函式到資料), 學習器是一個逆向的程序 (由資料到概率密度函式, 但一般需要對分布的型別作假設, 如高斯);
- 生成器屬于概率的范疇, 學習器屬于統計的范疇;
- 類似于地震波正演與反演的關系;
- 類似于老師出題與學生做題 (如果目標是獲得相應的概率密度函式).
區別如下:
- 生成器可以獲得大量的 (理論上為無窮) 資料, 學習器所依賴的資料量有限;
- 多數學習器并不去推導概率密度函式 (或相關引數), 而僅僅是建立一個模型進行預測. 所以兩者之間并非真正意義的逆程序. 這導致很多學習器表面看起來就是“猜”, 缺乏理論支撐.
2.1 k k kNN 就是不需要理論的一個典范. 當然, 它抓住了客觀世界的本質: 條件屬性越相似, 決策屬性也應該越相似. 見: https://blog.csdn.net/minfanphd/article/details/117505221.
2.2 決策樹 ID3 的論文題目為 Inductive of decision trees, 它只是作了一定的歸納. 資訊熵看起來美, 但僅僅用于啟發式地選擇分裂屬性, 和資料內在的分布沒有任何關系.
2.3 NB 探索了屬性之間的關系, 有一定的理論性. 在數值型資料的 NB 演算法中, 還需要對資料分布進行假設, 這使其理論性更強. 參見 日擼代碼300行(51-60天,kNN 與 NB). 條件屬性之間的獨立性假設簡單粗暴, 但適用性強.
4. 討論
EM 演算法、概率矩陣分解 Probabilistic matrix factorization, PMF 都用到了 maximal likelihood, 是數理統計的招數.
我們在做機器學習理論分析的時候, 必須要增加一些基礎假設, 否則條件不夠, 沒法推導. 參見 http://www.fansmale.com/publications.html 中
39 Yan-Xue Wu, Xue-Yang Min, Fan Min, Min Wang. Cost-sensitive active learning with a label uniform distribution model. International Journal of Approximate Reasoning. (2019-02) 49-65.
46 Min Wang, Yao Lin, Fan Min, Dun Liu. Cost-sensitive active learning through statistical methods. Information Sciences. (2019) 460-482.
5. 小結
自己寫一個資料生成器, 再寫一個學習器, 你就會有更多體會.
未完待續
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/289475.html
標籤:AI
上一篇:案例分享:Qt+Arm基于RV1126平臺的內窺鏡軟硬整套解決方案(實時影像、凍結、拍照、錄像、背光調整、硬體光源調整,其他產品也可使用該平臺,如視頻監控,物聯網產品等等)
