機器學習十大演算法(二)

來源:互聯網
上載者:User

標籤:自動完成   新聞   多級   使用   文章   變數   翻譯   體驗   屬性   

文章來源:https://www.dezyre.com/article/top-10-machine-learning-algorithms/202

  本人自行翻譯,如有錯誤,還請指出。後續會繼續補充執行個體及代碼實現。

3.機器學習演算法概述3.1 樸素貝葉斯分類器演算法

手動分類網頁,文檔,電子郵件或任何其他冗長的文本注釋將是困難且實際上不可能的。 這是樸素貝葉斯分類器機器學習演算法來解決。 分類器是從可用類別之一分配總體的元素值的函數。 例如,垃圾郵件過濾是樸素貝葉斯分類器演算法的流行應用程式。 此處的垃圾郵件過濾器是一種分類器,可為所有電子郵件分配“垃圾郵件”或“不垃圾郵件”標籤。

樸素貝葉斯分類器演算法是最受歡迎的學習方法之一,按照相似性分類,用流行的貝葉斯機率定理來建立機器學習模型,特別是用於疾病預測和文檔分類。 它是基於貝葉斯機率定理的單詞的內容的主觀分析的簡單分類。

什麼時候使用機器學習演算法 - 樸素貝葉斯分類器?

(1)如果您有一個中等或大的訓練資料集。

(2)如果執行個體具有幾個屬性。

(3)給定分類參數,描述執行個體的屬性應該是條件獨立的。

  A.樸素貝葉斯分類器的應用

   

(1)情感分析 - 用於Facebook分析表示積極或消極情緒的狀態更新。

(2)文檔分類 - Google使用文檔分類來索引文檔並尋找相關性分數,即PageRank。 PageRank機制考慮在使用文檔分類技術解析和分類的資料庫中標記為重要的頁面。

(3)樸素貝葉斯演算法也用於分類關於技術,娛樂,體育,政治等的新聞文章。

(4)電子郵件垃圾郵件過濾 - Google Mail使用Na?veBayes演算法將您的電子郵件歸類為垃圾郵件或非垃圾郵件。

B.樸素貝葉斯分類器機器學習演算法的優點

(1)當輸入變數是分類時,樸素貝葉斯分類器演算法執行得很好。

(2)當樸素貝葉斯條件獨立假設成立時,樸素貝葉斯分類器收斂更快,需要相對較少的訓練資料,而不像其他判別模型,如羅吉斯迴歸。

(3)使用樸素貝葉斯分類器演算法,更容易預測測試資料集的類。 多等級預測的好賭注。

(4)雖然它需要條件獨立假設,但是樸素貝葉斯分類器在各種應用領域都表現出良好的效能。

Python中的資料科學庫實現Na?veBayes - Sci-Kit學習

資料科學圖書館在R實施樸素貝葉斯 - e1071

3.2 K均值聚類演算法

K-means是用於群集的普遍使用的無監督機器學習演算法。 K-Means是一種非確定性和迭代的方法。 該演算法通過預定數量的簇k對給定資料集進行操作。 K Means演算法的輸出是具有在簇之間分割的輸入資料的k個簇。

例如,讓我們考慮維基百科搜尋結果的K均值聚類。 維基百科上的搜尋字詞“Jaguar”將返回包含Jaguar這個詞的所有頁面,它可以將Jaguar稱為Car,Jaguar稱為Mac OS版本,Jaguar作為動物。 K均值聚類演算法可以應用於對描述類似概念的網頁進行分組。 因此,演算法將把所有談論捷豹的網頁作為一個動物分組到一個叢集,將捷豹作為一個汽車分組到另一個叢集,等等。

A.使用K-means聚類機學習演算法的優點

(1)在球狀簇的情況下,K-Means產生比層級聚類更緊密的簇。

(2)給定一個較小的K值,K-Means聚類計算比大量變數的層次聚類更快。

B.K-Means聚類的應用

K Means Clustering演算法被大多數搜尋引擎(如Yahoo,Google)用於通過相似性對網頁進行聚類,並識別搜尋結果的“相關率”。 這有助於搜尋引擎減少使用者的計算時間。

Python中的資料科學庫實現K均值聚類 - SciPy,Sci-Kit學習,Python封裝

資料科學庫中的R實現K均值聚類 - 統計

3.3 支援向量機學習演算法

支援向量機是一種分類或迴歸問題的監督機器學習演算法,其中資料集教導關於類的SVM,以便SVM可以對任何新資料進行分類。 它通過找到將訓練資料集分成類的線(超平面)將資料分類到不同的類中來工作。 由於存在許多這樣的線性超平面,SVM演算法嘗試最大化所涉及的各種類之間的距離,並且這被稱為邊際最大化。 如果識別出最大化類之間的距離的線,則增加對未看見資料良好推廣的機率。

A.SVM分為兩類:

線性SVM - 線上性SVM中,訓練資料,即分類器由超平面分離。

非線性SVM在非線性SVM中,不可能使用超平面來分離訓練資料。 例如,用於面部檢測的訓練資料由作為面部的一組映像和不是面部的另一組映像(換句話說,除了面部之外的所有其他映像)組成。 在這種條件下,訓練資料太複雜,不可能找到每個特徵向量的表示。 將面的集合與非面的集線性分離是複雜的任務。

B.使用SVM的優點

(1)SVM對訓練資料提供最佳分類效能(精度)。

(2)SVM為未來資料的正確分類提供了更高的效率。

(3)SVM的最好的事情是它不對資料做任何強有力的假設。

(4)它不會過度學習資料。

C.支援向量機的應用

(1)SVM通常用於各種金融機構的股票市場預測。 例如,它可以用來比較股票相對於同一行業中其他股票的表現的相對錶現。 股票的相對比較有助於管理基於由SVM學習演算法做出的分類的投資決策。

(2)Python中的資料科學庫實現支援向量機-SciKit學習,PyML,SVMStruct Python,LIBSVM

(3)R中的資料科學庫實現支援向量機 - klar,e1071

3.4 Apriori機器學習演算法

Apriori演算法是無監督機器學習演算法,其從給定資料集產生關聯規則。 關聯規則意味著如果項目A出現,則項目B也以一定機率出現。 產生的大多數關聯規則採用IF_THEN格式。 例如,如果人們買了一個iPad,他們還買了一個iPad保護套。 為了得到這樣的結論的演算法,它首先觀察購買iPad的人購買iPad的人數。 這樣一來,比例就像100個購買iPad的人一樣,85個人還購買了一個iPad案例。

A.Apriori機器學習演算法的基本原理:

如果項集合頻繁出現,則項集合的所有子集也頻繁出現。

如果項集合不經常出現,則項集合的所有超集都不經常出現。

B.先驗演算法的優點

(1)它易於實現並且可以容易地並行化。

(2)Apriori實現使用大項目集屬性。

C.Apriori演算法應用

檢測不良藥物反應

Apriori演算法用於關於醫學資料的關聯分析,例如患者服用的藥物,每個患者的特徵,不良的不良反應患者體驗,初始診斷等。該分析產生關聯規則,其協助識別患者特徵和藥物的組合 導致藥物的不良副作用。

市場籃子分析

許多電子商務巨頭如亞馬遜使用Apriori來繪製資料洞察,哪些產品可能是一起購買,哪些是最響應促銷。 例如,零售商可能使用Apriori預測購買糖和麵粉的人很可能購買雞蛋來烘烤蛋糕。

自動完成應用程式

Google自動完成是Apriori的另一個流行的應用程式,其中 - 當使用者鍵入單詞時,搜尋引擎尋找人們通常在特定單詞之後鍵入的其他相關聯的單詞。

Python中的資料科學庫實現Apriori機器學習演算法 - 在PyPi中有一個python實現Apriori

資料科學庫在R中實現Apriori機器學習演算法 – arules

3.5 線性迴歸機器學習演算法

線性迴歸演算法顯示了2個變數之間的關係,以及一個變數中的變化如何影響另一個變數。 該演算法顯示了在改變自變數時對因變數的影響。 自變數被稱為解釋變數,因為它們解釋了因變數對因變數的影響。 依賴變數通常被稱為感興趣的因子或預測因子。

A.線性迴歸機器學習演算法的優點

(1)它是最可解釋的機器學習演算法之一,使得它很容易解釋給別人。

(2)它便於使用,因為它需要最小的調諧。

(3)它是最廣泛使用的機器學習技術運行快。

B.線性迴歸演算法應用

估計銷售額

線性迴歸在業務中有很大的用途,基於趨勢的銷售趨勢預測。如果公司每月的銷售額穩步增長 - 對月度銷售資料的線性迴歸分析有助於公司預測未來幾個月的銷售額。

風險評估

線性迴歸有助於評估涉及保險或金融領域的風險。健康保險公司可以對每個客戶的索賠數量與年齡進行線性迴歸分析。這種分析有助於保險公司發現,老年顧客傾向於提出更多的保險索賠。這樣的分析結果在重要的商業決策中起著至關重要的作用,並且是為瞭解決風險。

Python中的資料科學庫實現線性迴歸 - statsmodel和SciKit

R中的資料科學庫實現線性迴歸 - 統計

3.6 決策樹機器學習演算法

你正在製作一個周末計劃,去訪問最好的餐館在城裡,因為你的父母訪問,但你是猶豫的決定在哪家餐廳選擇。每當你想去一家餐館,你問你的朋友提利昂如果他認為你會喜歡一個特定的地方。為了回答你的問題,提利昂首先要找出,你喜歡的那種餐館。你給他一個你去過的餐館列表,告訴他你是否喜歡每個餐廳(給出一個標記的訓練資料集)。當你問提利昂你是否想要一個特定的餐廳R,他問你各種問題,如“是”R“屋頂餐廳?”,“餐廳”R“服務意大利菜嗎?”,現場音樂?“,”餐廳R是否營業至午夜?“等等。提利昂要求您提供幾個資訊問題,以最大限度地提高資訊收益,並根據您對問卷的答案給予YES或NO回答。這裡Tyrion是你最喜歡的餐廳偏好的決策樹。

決策樹是一種圖形表示,其使用分支方法來基於某些條件來例示決策的所有可能的結果。在決策樹中,內部節點表示對屬性的測試,樹的每個分支表示測試的結果,分葉節點表示特定類標籤,即在計算所有屬性之後作出的決定。分類規則通過從根到分葉節點的路徑來表示。

A.決策樹的類型

(1)分類樹 - 這些被視為用於基於響應變數將資料集分成不同類的預設種類的決策樹。 這些通常在響應變數本質上是分類時使用。

(2)迴歸樹 - 當響應或目標變數是連續或數字時,使用迴歸樹。 與分類相比,這些通常用於預測類型的問題。

根據目標變數的類型 - 連續變數決策樹和二進位變數決策樹,決策樹也可以分為兩種類型。 它是有助於決定對於特定問題需要什麼樣的決策樹的目標變數。

B.為什麼選擇決策樹演算法?

 

(1)這些機器學習演算法有助於在不確定性下作出決策,並協助您改善溝通,因為他們提供了決策情況的可視化表示。

(2)決策樹機器學習演算法協助資料科學家捕獲這樣的想法:如果採取了不同的決策,那麼情境或模型的操作性質將如何劇烈變化。

(3)決策樹演算法通過允許資料科學家遍曆前向和後向計算路徑來協助做出最佳決策。

C.何時使用決策樹機器學習演算法

(1)決策樹對錯誤是魯棒的,並且如果訓練資料包含錯誤,則決策樹演算法將最適合於解決這樣的問題。

(2)決策樹最適合於執行個體由屬性值對錶示的問題。

(3)如果訓練資料具有缺失值,則可以使用決策樹,因為它們可以通過查看其他列中的資料來很好地處理丟失的值。

(4)當目標函數具有離散輸出值時,決策樹是最適合的。

D.決策樹的優點

(1)決策樹是非常本能的,可以向任何人輕鬆解釋。來自非技術背景的人,也可以解釋從決策樹繪製的假設,因為他們是不言自明的。

(2)當使用決策樹機器學習演算法時,資料類型不是約束,因為它們可以處理分類和數值變數。

(3)決策樹機器學習演算法不需要對資料中的線性進行任何假設,因此可以在參數非線性相關的情況下使用。這些機器學習演算法不對分類器結構和空間分布做出任何假設。

(4)這些演算法在資料探索中是有用的。決策樹隱式執行特徵選取,這在預測性分析中非常重要。當決策樹適合於訓練資料集時,在其上分割決策樹的頂部的節點被認為是給定資料集內的重要變數,並且預設情況下完成特徵選取。

(5)決策樹有助於節省資料準備時間,因為它們對缺失值和異常值不敏感。缺少值不會阻止您拆分構建決策樹的資料。離群值也不會影響決策樹,因為基於分裂範圍內的一些樣本而不是準確的絕對值發生資料分裂。

E.決策樹的缺點

(1)樹中決策的數量越多,任何預期結果的準確性越小。

(2)決策樹機器學習演算法的主要缺點是結果可能基於預期。當即時做出決策時,收益和產生的結果可能與預期或計劃不同。有機會,這可能導致不現實的決策樹導致錯誤的決策。任何不合理的期望可能導致決策樹分析中的重大錯誤和缺陷,因為並不總是可能計劃從決策可能產生的所有可能性。

(3)決策樹不適合連續變數,並導致不穩定性和分類高原。

(4)與其他決策模型相比,決策樹很容易使用,但是建立包含幾個分支的大決策樹是一個複雜和耗時的任務。

(5)決策樹機器學習演算法一次只考慮一個屬性,並且可能不是最適合於決策空間中的實際資料。

(6)具有多個分支的大尺寸決策樹是不可理解的,並且造成若干呈現困難。

F.決策樹機器學習演算法的應用

(1)決策樹是流行的機器學習演算法之一,它在財務中對期權定價有很大的用處。

(2)遙感是基於決策樹的模式識別的應用領域。

(3)銀行使用決策樹演算法按貸款申請人違約付款的機率對其進行分類。

(4)Gerber產品公司,一個流行的嬰兒產品公司,使用決策樹機器學習演算法來決定他們是否應繼續使用塑料PVC(聚氯乙烯)在他們的產品。

(5)Rush大學醫學中心開發了一個名為Guardian的工具,它使用決策樹機器學習演算法來識別有風險的患者和疾病趨勢。

Python語言中的資料科學庫實現決策樹機器學習演算法是 - SciPy和Sci-Kit學習。

R語言中的資料科學庫實現決策樹機器學習演算法是插入符號。

3.7 隨機森林機器學習演算法

讓我們繼續我們在決策樹中使用的同樣的例子,來解釋隨機森林機器學習演算法如何工作。提利昂是您的餐廳偏好的決策樹。然而,提利昂作為一個人並不總是準確地推廣你的餐廳偏好。要獲得更準確的餐廳推薦,你問一對夫婦的朋友,並決定訪問餐廳R,如果大多數人說你會喜歡它。而不是只是問Tyrion,你想問問Jon Snow,Sandor,Bronn和Bran誰投票決定你是否喜歡餐廳R或不。這意味著您已經構建了決策樹的合奏分類器 - 也稱為森林。

你不想讓所有的朋友給你相同的答案 - 所以你提供每個朋友略有不同的資料。你也不確定你的餐廳偏好,是在一個困境。你告訴提利昂你喜歡開頂屋頂餐廳,但也許,只是因為它是在夏天,當你訪問的餐廳,你可能已經喜歡它。在寒冷的冬天,你可能不是餐廳的粉絲。因此,所有的朋友不應該利用你喜歡開啟的屋頂餐廳的資料點,以提出他們的建議您的餐廳偏好。

通過為您的朋友提供略微不同的餐廳偏好資料,您可以讓您的朋友在不同時間向您詢問不同的問題。在這種情況下,只是稍微改變你的餐廳偏好,你是注入隨機性在模型層級(不同於決策樹情況下的資料層級的隨機性)。您的朋友群現在形成了您的餐廳偏好的隨機森林。

隨機森林是一種機器學習演算法,它使用裝袋方法來建立一堆隨機資料子集的決策樹。模型在資料集的隨機樣本上進行多次訓練,以從隨機森林演算法中獲得良好的預測效能。在該整體學習方法中,將隨機森林中所有決策樹的輸出結合起來進行最終預測。隨機森林演算法的最終預測通過輪詢每個決策樹的結果或者僅僅通過使用在決策樹中出現最多次的預測來匯出。

例如,在上面的例子 - 如果5個朋友決定你會喜歡餐廳R,但只有2個朋友決定你不會喜歡的餐廳,然後最後的預測是,你會喜歡餐廳R多數總是勝利。

A.為什麼使用隨機森林機器學習演算法?

(1)有很多好的開源,在Python和R中可用的演算法的自由實現。

(2)它在缺少資料時保持準確性,並且還能抵抗異常值。

(3)簡單的使用作為基本的隨機森林演算法可以實現只用幾行代碼。

(4)隨機森林機器學習演算法協助資料科學家節省資料準備時間,因為它們不需要任何輸入準備,並且能夠處理數字,二進位和分類特徵,而無需縮放,變換或修改。

(5)隱式特徵選取,因為它給出了什麼變數在分類中是重要的估計。

B.使用隨機森林機器學習演算法的優點

(1)與決策樹機器學習演算法不同,過擬合對隨機森林不是一個問題。沒有必要修剪隨機森林。

(2)這些演算法很快,但不是在所有情況下。隨機森林演算法當在具有100個變數的資料集的800MHz機器上運行時,並且50,000個案例在11分鐘內產生100個決策樹。

(3)隨機森林是用於各種分類和迴歸任務的最有效和通用的機器學習演算法之一,因為它們對雜訊更加魯棒。

(4)很難建立一個壞的隨機森林。在隨機森林機器學習演算法的實現中,容易確定使用哪些參數,因為它們對用於運行演算法的參數不敏感。一個人可以輕鬆地建立一個體面的模型沒有太多的調整

(5)隨機森林機器學習演算法可以並行生長。

(6)此演算法在大型資料庫上高效運行。

(7)具有較高的分類精度。

C.使用隨機森林機器學習演算法的缺點

 

他們可能很容易使用,但從理論上分析它們是很困難的。

隨機森林中大量的決策樹可以減慢演算法進行即時預測。

如果資料由具有不同層級數量的分類變數組成,則演算法會偏好具有更多層級的那些屬性。 在這種情況下,可變重要性分數似乎不可靠。

當使用RandomForest演算法進行迴歸任務時,它不會超出訓練資料中響應值的範圍。

D.隨機森林機器學習演算法的應用

(1)隨機森林演算法被銀行用來預測貸款申請人是否可能是高風險。

(2)它們用於汽車工業中以預測機械組件的故障或故障。

(3)這些演算法用於醫學保健行業以預測患者是否可能發展成慢性疾病。

(4)它們還可用於迴歸任務,如預測社交媒體份額和績效分數的平均數。

(5)最近,該演算法也已經被用於預測語音辨識軟體中的模式並對映像和文本進行分類。

Python語言中的資料科學庫實現隨機森林機器學習演算法是Sci-Kit學習。

R語言的資料科學庫實現隨機森林機器學習演算法randomForest。

3.8羅吉斯迴歸

這個演算法的名稱可能有點混亂,在羅吉斯迴歸機器學習演算法是分類任務,而不是迴歸問題的意義上。名稱“迴歸”在這裡意味著線性模型擬合到特徵空間中。該演算法將邏輯函數應用於特徵的線性組合,以基於預測變數來預測分類依賴變數的結果。

描述單個實驗的結果的幾率或機率被建模為解釋變數的函數。羅吉斯迴歸演算法有助於基於給定的預測變數估計落入分類依賴變數的特定層級的機率。

假設你想預測明天在紐約是否會有降雪。這裡,預測的結果不是連續的數字,因為將存在降雪或沒有降雪,因此不能應用線性迴歸。這裡的結果變數是幾個類別之一,並使用羅吉斯迴歸有協助。

(剩餘內容等待更新後繼續補充)

 

機器學習十大演算法(二)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.