1. 程式人生 > >人工智慧 7.2機器學習

人工智慧 7.2機器學習

什麼是機器學習 o 機器學習的發展史 o 學習系統的一般框架 o 學習策略 o 神經學習 o 機器學習的應用

機器學習演算法:決策樹、聚類、貝葉斯分類、支援向量機、最 大期望演算法EM、Adaboost等。

What is Machine Learning

學習

 一個有特定目的的知識獲取和能力增長過程。

 內在行為:獲取知識、積累經驗、發現規律(歸納) 等。(大資料)

 外部表現:改進效能、適應環境、實現自我完善等

 是人類獲取知識的重要途徑和人工智慧的重要標誌

學習系統的一般框架

  1. 自動學習資料規律 2.機器學習(分類/迴歸) 3.強化學習(預測結果自行修正模型)

按學習能力分類 監督學習(有教師學習 supervised learning)

再勵學習(強化學習或增強學習)

非監督學習(無教師學習,Unsupervised learning)

監督學習就是標明一些資料是對的,另一些資料是錯的,然後讓程式預測,新的資料是對的還是錯的。所以說,有監督學習,必須是有標籤的。

無監督學習,顧名思義,就是不對資料進行標明,讓機器自動去判斷,哪些資料比較像,歸到一類等等。

強化學習不是依賴資料的標籤進行學習,而是依賴自己積累的反饋。強化學習適合學習互動過程,比如下圍棋(AlphaGo的成功就是強化學習的力量)。

 

聚類(群分析)

特點: 1.研究樣品或指標分類問題的一種統計分析方法,所劃分的 類是未知的。 2.能幫助市場分析人員從客戶基本庫中發現不同的客戶群, 用購買模式刻畫不同客戶群特徵。生物學植物、動物分類,地 球觀測資料庫中相似地區的確定,web文件分類。 3.小於200個數據物件的小資料集合較好,但是大規模資料 樣本可能聚合結果有偏。

決策樹(Decision tree)

根據特徵進行分類,每個節點提出問題,通過判斷,將資料分為 兩類,再繼續提問;這些問題是在已知各種情況發生概率基礎上, 構成決策樹求取淨現值大於等於0的概率,再投入新資料時可根據 樹上的問題,將資料劃分到合適葉子上。 o 監管學習方法,事先確定每個樣本的屬性和類別,節點表示屬性 測試,每個分支表示測試輸出,葉節點表示類別。

o 優點: ü 易於理解和實現,學習中不需瞭解太多背景知識,直接體 現資料特點; ü 資料準備簡單或不必要,能同時處理資料型和常規型屬性; ü 易於通過靜態測試對模型評測(可信度)、邏輯表示式;

o 缺點: ü 對連續性的欄位比較難預測; ü 對有時間順序的資料,需要很多預處理工作; ü 類別太多時,錯誤可能增加比較快; ü 一般演算法分類,都只是根據一個欄位來分類;

隨機森林(Random Forest)

o 用來做市場營銷模擬的建模,統計客戶來源,保留和流失, 預測疾病風險和病患者的易感性等估計推斷對映問題。 o 基本單元為決策樹,整合學習方法(Ensemble Learning)。 o 隨機:整合所有分類投票結果,投票次數最多的類別為 最終輸出,最簡單的Bagging思想(若干個弱分類器的 分類結果投票選擇後組成強分類器)。 o任何東西扔進去可用

o 源資料中隨機選取資料,組 成幾個子集

o S矩陣是源資料,1-N條資料, A、B、C是feature,C列是類 別

o 由S隨機生成M個子矩陣

o M個子集得到 M 個決策樹:將新資料投入到這M個樹中,得 到M個分類結果,計數看預測成哪一類的數目最多,將此類 別作為最後的預測結果。

特點: 1.具有極好的準確率; 2.有效執行在大資料集上; 3.能夠處理具有高維特徵的輸入樣本,不需降維; 4.能夠評估各個特徵在分類問題上的重要性; 5.生成過程中,能獲取到內部生成誤差的一種無偏估計; 6.對於預設問題也能獲得較好結果; 7.不需要像SVM那樣做引數的除錯;

 

樸素貝葉斯

NLP 應用:一段文字返回情感分類,文字態度是positive,還是 negative

通過bayes rules變成一個比較簡單容易求得的問題(概率):單詞“love ”在 positive情況下 出現概率是 0.1 ,在negative的 情況下出現的概 率是0.001。

K近鄰演算法

o 給一個新資料時,離它最近的k個點中,哪個類別多,這個 資料就屬於哪一類。 o 例:要區分“貓”和“狗” ,通過“ claws ”和“ sound”兩 個feature來判斷的話,圓形和三角形是已知分類的了,那 麼這個“ star ”代表的是哪一類呢?k=3

Deep Learning

(通過組合底層特性形成更加抽象 的高層表示屬性類別或特徵,以發現數據的分散式特徵表示。)

深度學習:把複雜抽象形狀問 題,分解成簡單的邊、角、長 度問題。

 

機器學習:人工確定分類問題所需要的“面部特徵” 。

深度學習:自動找出分類問題所需要的“面部特徵” 。

1.首先確定哪些邊、角與分類識別關係最大; 2.基於很多的邊、角等小元素構建層級網路,找出各種組合; 3.基於層級網路的組合識別分類。

深度學習適合處理大資料,資料量小用傳統機器學習方法。

硬體依賴:深度學習計算量大(矩陣運算),依賴高階硬 件設施(GPU)

ü 特徵工程:機器學習需要行業專家訓練模型前確定特徵; 深度學習演算法自己從資料中學習特徵,降低了發現特徵的 成本。

ü 執行時間:深度學習由於太多引數需要訓練時間長(頂級算 法ResNet兩週訓練時間),機器學習一般幾秒最多幾小時完成 訓練。但深度學習訓練好後預測任務執行快,可實時檢測。

ü 可理解性:目前階段深度學習難以理解,無法解釋神經網 絡每層代表的特徵和內部規則,無法把訓練模型用於對預 測任務進行解釋。但機器學習可以明確的說明每個特徵和 規則。

解決問題方式:機器學習演算法先按模組分解問題,解決後 再組合起來;深度學習是端對端解決

學習策略

解決過擬合-->模型融合

機器學習應用

機器學習常用工具scikit-learn • Machine Learning in Python • Simple and efficient tools for data mining and data analysis • Accessible to everyone,and reusable in various contexts • Built on NumPy,SciPy and matplotlib • Open source, commercially usable-BSD license

• 機器學習系統模型 • 監督學習的輸入輸出 • 各種演算法的優缺點和適應場景 • 演算法模型的評價和驗證 • 資料的篩選和解讀 開發環境: Anaconda(jupyter notebook) Eclipse or PyCharm