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

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

    「假如你訓練了一隻狗,若干年後,若是它突然有一天能幫你擦鞋洗衣服,那麼這就是數據挖掘;要是突然有一天,你發現狗化裝成一個老太婆消失了,那麼這就是機器學習。」 ——楊強,香港科技大學編程

    機器學習提及來應該是人工智能領域與算法領域的一個子領域。它容許計算機不斷的進行學習。大多數狀況下,這至關於將一組數據傳遞給算法,並由算法推斷出這些數據屬性相關的信息——藉助這些信息,算法可以預測出將來有可能出現的其餘數據。簡單點來講就是從數據中自動分析得到規律,並利用規律對未知數據進行預測。安全

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

 

一、機器學習&數據挖掘的數學基礎框架

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

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

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

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

④統計學優化

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

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

①泛函分析

②複變函數

③偏微分方程

④抽象代數

⑤約束優化

⑥模糊數學

⑦數值計算等

 

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

2.一、機器學習主要能夠分紅下面幾種類別:

①監督學習:

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

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

②無監督學習

    形式:A---->B

    常見算法:聚類

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

④加強型學習

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

        2.二、算法分類

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

①聚類

②分類

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

         具體的機器學習算法有:

構造條件機率:迴歸分析與統計分類

    人工神經網絡

    決策樹

    高斯過程迴歸

    線性判別分析

    最近鄰(KNN)

    感知器

    徑向基函數核()

    支持向量機(SVM)

經過再生模型構造機率密度函數

    最大指望算法

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

近似推斷技術

     馬爾科夫鏈

     蒙特卡羅方法

     變分法

最優化

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

 

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

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

①C4.5

②K-means

③SVM

④Apriori

⑤EM

⑥PageRank

⑦AdaBoost

⑧KNN

⑨NaiveBages

⑩CART

四、機器學習的侷限

         機器學習不是「銀彈」,也有自身的缺點。主要表如今:

         ①機器學習算法受限於其在大量模式之上的概括能力,而一個模式只能根據過往的信息,而沒法找出新遇到的信息和過往信息的類似之處

         ②全部的機器學習算法都有過分概括的可能性

 

五、應用

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

①推薦系統

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

    delicious.com URL分享

    豆瓣類的

    微博、搜索引擎

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

②生物工藝學

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

③金融欺詐偵測

    利用技術:神經網絡、概括邏輯

④機器視覺

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

    車牌識別、人臉識別

⑤產品市場化

⑥供應鏈優化

⑦國家安全

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

。。。

    附:

一、相關的軟件

①MATLAB/GNU Octave

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

②SPSS系列

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

③R

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

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

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

二、相關資訊資料連接

①維基百科

    瞭解基礎概念

②好東西傳送門

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

    主頁:http://memect.com/

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

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

相關文章
相關標籤/搜索