統計機器學習方法
統計機器學習方法一
最近工作了一段時間,今天跟大家討論一下關于“規則與模型”的問題。
大家肯定都知道,機器學習方法主要分兩類,一類是基于統計的方法,比如貝葉斯、KNN等,都是對數據的某種特征進行歸類計算得到數據劃分的依據的;另一類是基于規則的方法,比如,語義規則,語法規則或者業務規則等等,這些規則主要是根據數據本身的特征人為地對分類細節進行限定,沒有什么太高深的理論,但是實用性很強。當然,我覺得還有第三種方法,就是基于統計與基于規則相結合的方法,比如關聯規則,apriori方法,或者決策樹方法。這些方法在分類或者求變量關系的時候本質上是基于規則分類,但是在訓練過程中卻是使用統計的方法的。比如apriori方法,該方法本身就是求規則的一種方法,但該方法訓練的時候是需要對各種關聯特征進行統計的。訓練完畢后尋找強關聯性的特征可以進行分類,因為我覺得找出哪些是強關聯哪些不是強關聯就是一個分類的過程。再比如決策樹,同樣的道理,決策樹本身得到的那棵樹就是一棵規則樹,但是在尋找樹的分裂屬性上,無論是ID3還是C4.5,都是基于統計方法的。我認為這種通過訓練出的規則進行統計分類的方法就是統計與規則相結合的方法。那么這三類方法哪些是比較有效的呢,或者說哪些是比較適合大部分數據的呢?
我的個人理解是,沒有。我們在學校里寫paper,最主要的任務有三:第一,提高算法性能;第二,提高算法對數據的匹配度;第三,提高數據對算法的匹配度。舉個例子來說,我用SVM對新浪微博文本做情感分析,要么改進SVM核心算法,提高分類精度;要么對SVM選取特征的方法或空間構造的方法進行改進,提高分類精度;要么就是直接改進數據特征提取方式,提高數據對分類器的匹配度。但是,不管是哪一種方法,都要滿足最小泛化閾值。也就是說,對訓練數據之外的測試數據的分類準確度一定要滿足最低要求。我們把訓練數據和測試數據的概念擴大一下,如果我們把要訓練的某類數據作為訓練數據,把該類別之外的數據作為測試數據,情況就完全不一樣了。比如,我把微博數據作為訓練數據,把短信類短文本數據作為測試數據,雖然同樣都屬于短文本,但泛化值出奇的低。這是因為我們無論采用哪一種方法,數據都必須是封閉的,或者說是相對封閉的。我們用分類器或者基于統計的方法,其實主要就是為了提高泛化能力,因為統計一個詞的個數和一個數的個數的意義是一樣的。但是現在看來,好像基于統計的方法的泛化能力還是有限。
導致這種現象的原因是什么呢?我在剛開始學機器學習的時候就遇到一個很大的矛盾,既然SVM是最好的基于統計的分類方法,而基于統計的方法的目的就是為了提高泛化能力,為什么在使用SVM的時候還是需要去適應數據呢?在我理解,分類方法對數據適應的越多,規則成分就越多。我在最近做“技能詞識別”的時候使用了各種規則,嘗試了各種方法,然后我返現我犯了兩個個錯誤,第一SVM是一種思想,不是一種具體的方法。思想本身無法使用,只有把它應用到實踐才有價值;第二就是數據挖掘,或者機器學習的核心的重點永遠是數據和思想的問題,沒有方法的問題。因為我們選擇的方法一定是要匹配數據的,目前來說這是根本;方法也是必須要符合分類某數據的核心思想的。由此我想出,無論是基于規則的方法還是基于統計的方法都是基礎理論,單純的使用基礎理論是沒有什么意義的,或者說只能滿足很少一部分數據的。只有結合實際情況,結合多種基礎理論,才能把機器學習運用到實際當中,因為我們的核心是數據,是實際情況。
所以說,如果們分類的時候發現基于統計的方法遠遠不如基于規則的方法,或者反過來,并不表明哪一種方法好,而是說明某一種方法更適合目前要分析的數據。對完全不同數據類型的數據進行泛化我覺得目前來說不太現實,因為對于真實的人來說讓一個人根本不懂英語的中國人去理解英文那是不可能的。當然,以后會發展到什么程度我是難以預料的,我的眼光目前也比較短淺看不到很深遠的東西。但我覺得,如果某一天這種泛化能力實現了,人類將走向滅絕。
對了,最后一點,我覺得將“基于統計的學習方法”和“基于規則的學習方法”改為“基于統計的學習思想”和“基于規則的學習思想”更好一些。
統計機器學習方法二
什么是感知機?
感知機是二類分類的線性分類模型,輸入為實例的特征向量,輸出為實例的類別,屬于判別模型。感知機1957年由Rosenblant提出,是神經網絡和支持向量機的基礎
感知機的模型:
f(x)=sign(w*x+b)
w,b稱之為感知機模型參數,w叫做權值向量,b叫做偏置
感知機學習策略:定義損失函數并將損失函數最小化
對于感知機而言,它采用的是誤分類點到分類超平面的總距離。
統計機器學習方法三
機器學習和統計簡史
1946年,第一臺計算機系統ENIAC研制成功,帶來了巨大的變革性——使用機器進行數值計算(而不是手動使用鉛筆和紙進行數值計算)。那個時候的人們的想法是人類的思考(人力資本投入)和學習方式可以轉化成邏輯格式放到機器上運行。
在上世紀50年代,阿蘭·圖靈,人工智能(AI)的父親,提出了一個測試方法,以衡量機器在學習和表現上像一個人的程度。在接下來的十年里,弗蘭克·羅森布萊特在康奈爾航空實驗室提出了感知器的概念。這個革命性概念的中心思想是感知類似于線性分類。他指出通過大量的感知器我們可以創建一個強大的網絡模型,這就是我們現在所熟知的神經網絡。
機器學習的研究發展到現在,已經成為一個高精尖的電腦工程師為之努力的領域,他們在努力探索機器是否可以學習和模仿人類大腦。機器學習如今被應用于發現數據中的價值,使用在數不清的應用中。
統計領域大約起始于十七世紀的中期。這門學科發展的中心思想是測量實驗和觀測科學中的不確定性,這就是概率論的基礎。從一開始,統計學提供的工具不僅是為了“描述”現象,更重要的是“解讀”現象。
有趣的是,啤酒對統計學的發展有深遠的影響。這個領域中的一個基本概念:t統計量,就是由一個化驗師提出的,他以此來解釋大批量的吉尼斯啤酒在都柏林、愛爾蘭兩地售賣量的差異。t統計量和其他概念一起促進了結構化數學理論的發展,以此給出了明確的定義和法則。統計學家們開發出了大量的工具便于人們使用,提高了人們觀測、排列、預測和采樣的能力。
所不同的是文化
捕捉現實世界中的現象就是在處理不確定的事情。要做到這一點,統計學家必須理解所研究數據的潛在分布,并找出參數來提供預測。統計學家的目標就是預測有一定規律的一系列變量的相互作用(我們不可能100%確定任何事情)。在另一領域,機器學習專家則建立起一套算法,能準確的預測、分類和聚類。他們不關注不確定性和假設,而是通過持續學習的方式來提高結果的準確度。