《集體智慧編程》之機器學習&數據挖掘框架認識

jopen 9年前發布 | 49K 次閱讀 機器學習

    前言:新開通的博客,用于記錄一些學習方面的東西,算是一個學習筆記吧。本系列按照《集體智慧編程》一書的框架進行。老實說,《集體》在理論上并不算是很好的參考書,但是該書是以一個個具體場景應用為驅動的,個人認為很適合用于機器學習相關的入門教材,起碼很對我的胃口。

    “假如你訓練了一只狗,若干年后,如果它忽然有一天能幫你擦鞋洗衣服,那么這就是數據挖掘;要是忽然有一天,你發現狗化裝成一個老太婆消失了,那么這就是機器學習。” ——楊強,香港科技大學

    機器學習說起來應該是人工智能領域與算法領域的一個子領域。它允許計算機不斷的進行學習。大多數情況下,這相當于將一組數據傳遞給算法,并由算法推斷出這些數據屬性相關的信息——借助這些信息,算法能夠預測出未來有可能出現的其他數據。簡單點來說就是從數據中自動分析獲得規律,并利用規律對未知數據進行預測。

    數據挖掘在某方面可以說算是機器學習的一種應用。機器學習算法其它的方面的應用有計算機視覺、自然語言處理、生物特征識別、搜索引擎、醫學診斷、檢測信用卡欺騙、證券市場分析、DNA序列測序、語音和手寫字識別、戰略游戲和機器人運用等。

1、機器學習&數據挖掘的數學基礎

機器學習是一個多領域交叉的學科,涉及概率論、統計學、逼近論、凸分析、算法復雜度理論等。具體來說,機器學習與數據挖掘學習需要用到的數學核心基礎有以下幾個方面:

①微積分 (沒辦法,這個是數學分析的基礎)

②線性代數 (主要用來理解有關數據的向量表示及矩陣/向量運算)

③概率論 (你不得不相信,機器學習算法的現狀是多數是基于統計概率,剩下的是樹模型)

④統計學

⑤離散數學 (這個。。。傻傻地只知道便于邏輯推理、符號運算、線性轉離散,具體還沒碰到)

進階學習需要用到的數學基礎有(除了復變函數聽說過一點,別的對我來說都來自火星):

①泛函分析

②復變函數

③偏微分方程

④抽象代數

⑤約束優化

⑥模糊數學

⑦數值計算等

2、機器學習&數據挖掘的類別

2.1、機器學習主要可以分成下面幾種類別:

①監督學習:

    形式:從訓練集(有人為標注的結果)學習一個函數,當新的數據到來時,把數據傳遞給這個函數,嗖,Duang!就把結果給你了 A--->f(x)--->B

    常見算法:回歸分析與統計分類

②無監督學習

    形式:A---->B

    常見算法:聚類

③半監督學習(還沒碰到)

④增強型學習

     主要是通過周圍環境的反饋(還沒碰到)

        2.2、算法分類

         機器學習與數據挖據算法主要有以下三個方面:

①聚類

②分類

③推薦(某種程度上算是前面兩個的應用)

         具體的機器學習算法有:

構造條件概率:回歸分析與統計分類

    人工神經網絡

    決策樹

    高斯過程回歸

    線性判別分析

    最近鄰(KNN)

    感知器

    徑向基函數核()

    支持向量機(SVM)

通過再生模型構造概率密度函數

    最大期望算法

    圖模型:貝葉斯網絡、Markov隨機場

近似推斷技術

     馬爾科夫鏈

     蒙特卡羅方法

     變分法

最優化

    大多數以上方法、直接或剪輯使用最優化算法

3、機器學習與數據挖掘的十大算法

把這個單獨列出來呢是因為這十大算法不是按類別分的,而是人為選取出來在機器學習和數據挖掘方面影響最大的Top10算法。

①C4.5

②K-means

③SVM

④Apriori

⑤EM

⑥PageRank

⑦AdaBoost

⑧KNN

⑨NaiveBages

⑩CART

4、機器學習的局限

         機器學習不是“銀彈”,也有自身的缺點。主要表現在:

         ①機器學習算法受限于其在大量模式之上的歸納能力,而一個模式只能根據過往的信息,而無法找出新遇到的信息和過往信息的相似之處

         ②所有的機器學習算法都有過度歸納的可能性

5、應用

        嘎嘎,發展興起和學習什么機器學習也好,數據挖掘也好,為的是啥?——使用它們來為我們服務,讓我們的生活更美好!

①推薦系統

    當當、亞馬遜之類的推薦商品;

    delicious.com URL分享

    豆瓣類的

    微博、搜索引擎

    約會網站、交友網站(任何一種成功的匹配算法很可能都會涉及一個持續不斷的求值過程——算法會反復判斷選定的匹配成功與否)

②生物工藝學

    人類的測序技術和篩選技術(DNA序列、蛋白質結構、化合物篩選以及RNA表達)

③金融欺詐偵測

    利用技術:神經網絡、歸納邏輯

④機器視覺

    從大數據集中發現有趣特征的獨立組元分析技術(無人監控)

    車牌識別、人臉識別

⑤產品市場化

⑥供應鏈優化

⑦國家安全

    政府部門搜集海量信息,對數據分析將其與潛在的威脅聯系起來

。。。

    附:

1、相關的軟件

①MATLAB/GNU Octave

    用于矩陣運算分析、線性分析、多元函數分析、數值微積分、方程求解、邊值問題求解、數據統計、繪圖

②SPSS系列

    封裝好的算法,可以直接調用,用以發現、檢驗等等

③R

    用于統計分析、繪圖。內建多種統計學及數字分析功能

④Python程序集(NumPy、BS、Sci、matplotlib、PIL、CV2等)

    數據獲取、數據清洗、數據分析、算法實現、繪圖、系統實現等等

2、相關資訊資料鏈接

①維基百科

    了解基礎概念

②好東西傳送門

    微博:http://weibo.com/haoawesome

    主頁:http://memect.com/

③結構之法 算法之道(v_July_v)

    博客地址:http://blog.csdn.net/v_July_v

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!