機器學習(4)之線性判別式(附Python源碼)
微信公眾號
關鍵字全網搜索最新排名
【機器學習演算法】:排名第一
【機器學習】:排名第二
【Python】:排名第三
【演算法】:排名第四
LDA是什麼?
線性判別式分析(Linear Discriminant Analysis),簡稱為LDA。也稱為Fisher線性判別(Fisher Linear Discriminant,FLD),是模式識別的經典演算法,在1996年由Belhumeur引入模式識別和人工智慧領域。
LDA的思想還是很簡單的:給定訓練樣本,設法將樣本投影到一條直線或者一張超平面上,使得同類樣例點的投影儘可能的接近,異類樣本點的投影儘可能遠離;在對新的樣本點進行分類時,將其投影到上述確定的這條直線上,再根據投影點的位置來確定新樣本的類別,如下圖所示(為方便可視化,以二維數據為例)
該圖來源於《機器學習》
如圖所示,可以看到兩個類別,一個
黑點
類別,一個黑×
類別。現在要求將數據從二維降維到一維。直接投影到x1軸或者x2軸,不同類別之間會有重複,導致分類效果下降。圖中所示直線就是用LDA方法計算得到的,可以看到,黑點類別和黑×類別在映射之後之間的距離是最大的,而且每個類別內部點的離散程度是最小的(或者說聚集程度是最大的)。
LDA數學理論
在上一小節我們以語言的形式描述了LDA的原理。並以機器學習中的圖為例說明了為什麼這種方法在分類時會有比較好的效果。現在,我們從理論上證明這種方法的可行性,並為接下來的演算法實現鋪墊基礎。
在正式推導公式之前我們需要理解兩件事情:
1、為了實現投影后的兩個類別的距離較遠,用映射後兩個類別的均值差的絕對值來度量。
2、為了實現投影后,每個類內部數據點比較聚集,用投影后每個類別的方差來度量。
因為在公眾號的排版中不能書寫公式,我了方便起見,這兒直接以《機器學習》中的內容為主,假如您覺得影響閱讀效果的話可以直接參考《機器學習》的第三章第四節或者加入
機器學習交流群(429055771,或者掃面文末二維碼)
下載電子版,有任何問題我們可以一起討論。
Python實現
源代碼下載請在後台回復關鍵詞:
LDA,或者加入機器學習交流2群(634808033)在文件區中下載。
參考:
1. 周志華《機器學習》
2. Duanxx的博客:http://blog.csdn.net/daunxx/article/details/51881956
3. 艷光普照的博客:http://blog.csdn.net/szv123_rier/article/details/8766538
4. porly的博客:http://blog.csdn.net/porly/article/details/8020696
招募 志願者
廣告、商業合作
請發郵件:357062955@qq.com
喜歡,別忘關注~
幫助你在AI領域更好的發展,期待與你相遇!


※機器學習演算法在自動駕駛汽車中扮演怎樣的角色
※機器學習產品寶典:這是谷歌內部總結的七大要點
※谷歌瞄準 AI 交互,開源兩大機器學習可視化數據工具
※「機器學習」未必就是「人工智慧」……
※機器學習簡史
TAG:機器學習 |
※【源碼分享】機器學習之Python支持向量機
※python機器學習:線性回歸
※Python 機器學習:多元線性回歸
※推薦 | Python機器學習項目實戰(附代碼 + 可下載)【一】
※第55期:Python機器學習實踐指南、Tensorflow 實戰Google深度學習框架
※谷歌發布機器學習規則 (Rules of Machine Learning):關於機器學習工程的最佳實踐(上)
※Python與機器學習
※谷歌發布機器學習規則 (Rules of Machine Learning):關於機器學習工程的最佳實踐(下)
※python轉型數據分析、機器學習、人工智慧學習路線
※實戰microPython(三)uPyBoard是如何控制機器人的
※開源機器學習伺服器——PredictionIO
※機器學習如何從Python 2遷移到Python 3
※機器學習如何從 Python 2 遷移到 Python 3
※Andrew Ng經典機器學習課程的Python實現2
※用Scratch+IBM Watson實現機器學習
※二十大Python人工智慧與機器學習開源項目,TensorFlow升為榜首
※機器學習基石-The Learning Problem
※IBM稱旗下的Snap機器學習庫比TensorFlow快46倍
※Learn with Google AI:谷歌開放更多免費AI及機器學習在線資源
※用AI 打造遊戲,Unity 機器學習 Agent——ml-agents