前言:新開通的博客,用於記錄一些學習方面的東西,算是一個學習筆記吧。本系列按照《集體智慧編程》一書的框架進行。老實說,《集體》在理論上並不算是很好的參考書,可是該書是以一個個具體場景應用爲驅動的,我的認爲很適合用於機器學習相關的入門教材,起碼很對個人胃口。算法
「假如你訓練了一隻狗,若干年後,若是它突然有一天能幫你擦鞋洗衣服,那麼這就是數據挖掘;要是突然有一天,你發現狗化裝成一個老太婆消失了,那麼這就是機器學習。」 ——楊強,香港科技大學編程
機器學習提及來應該是人工智能領域與算法領域的一個子領域。它容許計算機不斷的進行學習。大多數狀況下,這至關於將一組數據傳遞給算法,並由算法推斷出這些數據屬性相關的信息——藉助這些信息,算法可以預測出將來有可能出現的其餘數據。簡單點來講就是從數據中自動分析得到規律,並利用規律對未知數據進行預測。安全
數據挖掘在某方面能夠說算是機器學習的一種應用。機器學習算法其它的方面的應用有計算機視覺、天然語言處理、生物特徵識別、搜索引擎、醫學診斷、檢測信用卡欺騙、證券市場分析、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
③結構之法 算法之道(v_July_v)