想了解機器學習?你需要知道的十個基礎算法

2020-12-16 雷鋒網

關於機器學習,你需要知道的十個基礎算法

毫無疑問,作為人工智慧的子領域—機器學習在過去的幾年中越來越受歡迎。由於大數據是目前科技行業最熱門的趨勢,基於大量的數據機器學習在提前預測和做出建議方面有巨大的潛力。一些有關機器學習常見的例子有:Netflix基於你以前看過的電影再給你做出影片的推薦,或者亞馬遜根據你以前買過的書籍再給你進行圖書推薦。

如果想了解更多有關機器學習的知識,要從哪裡開始呢?作者第一次入門是在哥本哈根海外交流時選了一門有關人工智慧的課程。這門課程的講師是丹麥科技大學(Technical University of Denmark)的應用數學以及計算機科學全職教授,他的研究領域主要是邏輯學和人工智慧方面,主要研究內容是使用邏輯來對計算機類人行為(比如計劃、推理以及問題解決等)進行建模。這門課包括理論、核心概念探討以及親自動手解決問題。作者所使用的教材是人工智慧(AI)領域的經典教材之一:Peter Norvig's Artificial Intelligence — A Modern Approach(人工智慧—現代方法),在其中我們學習的幾個主題包括:智能agents、通過搜索解決問題、社會化AI、AI的哲學/社會學/未來。在課程的結尾,作者使用簡單的基於搜索的agents來解決虛擬環境中的傳輸問題。

作者表示通過這門課程學到了相當多的知識,也決定繼續學習這個特殊的課題。在接下來的幾個星期,作者在舊金山參加了很多關於機器學習、神經網絡、數據架構的科技講座,特別是一個有很多業內知名學者參加的機器學習會議。最重要的是,作者在Udacity中選修了一門「機器學習入門」的在線課程,最近已經完成學習。在本文中,作者將在課程中學習到的機器學習算法分享給大家。

機器學習算法可以分為三個大類:監督學習、無監督學習、強化學習。其中:

監督學習對於有標籤的特定數據集(訓練集)是非常有效的,但是它需要對於其他的距離進行預測。

無監督學習對於在給定未標記的數據集(目標沒有提前指定)上發現潛在關係是非常有用的。

強化學習介於這兩者之間—它針對每次預測步驟(或行動)會有某種形式的反饋,但是沒有明確的標記或者錯誤信息。本文主要介紹有關監督學習和無監督學習的10種算法。

監督學習

1.決策樹(Decision Trees)

決策樹是一個決策支持工具,它使用樹形圖或決策模型以及序列可能性。包括各種偶然事件的後果、資源成本、功效。下圖展示的是它的大概原理:

 

從業務決策的角度來看,大部分情況下決策樹是評估作出正確的決定的概率最不需要問是/否問題的辦法。它能讓你以一個結構化的和系統化的方式來處理這個問題,然後得出一個合乎邏輯的結論。

2.樸素貝葉斯分類(Naive Bayesian classification):

樸素貝葉斯分類是一種十分簡單的分類算法,叫它樸素貝葉斯分類是因為這種方法的思想真的很樸素,樸素貝葉斯的思想基礎是這樣的:對於給出的待分類項,求解在此項出現的條件下各個類別出現的概率,哪個最大,就認為此待分類項屬於哪個類別。

它的現實使用例子有:

將一封電子郵件標記(或者不標記)為垃圾郵件

將一篇新的文章歸類到科技、政治或者運動

檢查一段文本表達的是積極情緒還是消極情緒

臉部識別軟體

3.最小二乘法(Ordinary Least Squares Regression):

如果你懂統計學的話,你可能以前聽說過線性回歸。最小二乘法是一種計算線性回歸的方法。你可以把線性回歸當做在一系列的點中畫一條合適的直線的任務。有很多種方法可以實現這個,「最小二乘法」是這樣做的 —你畫一條線,然後為每個數據點測量點與線之間的垂直距離,並將這些全部相加,最終得到的擬合線將在這個相加的總距離上儘可能最小。

4.邏輯回歸(Logistic Regression):

邏輯回歸是一種強大的統計方法,它能建模出一個二項結果與一個(或多個)解釋變量。它通過估算使用邏輯運算的概率,測量分類依賴變量和一個(或多個)獨立的變量之間的關係,這是累積的邏輯分布情況。

總的來說,邏輯回歸可以用於以下幾個真實應用場景:

信用評分

測量營銷活動的成功率

預測某一產品的收入

特定某一天是否會發生地震

5.支持向量機(Support Vector Machine):

SVM(Support Vector Machine)是二元分類算法。給定一組2種類型的N維的地方點,SVM(Support Vector Machine)產生一個(N - 1)維超平面到這些點分成2組。假設你有2種類型的點,且它們是線性可分的。 SVM(Support Vector Machine)將找到一條直線將這些點分成2種類型,並且這條直線會儘可能地遠離所有的點。

在規模方面,目前最大的使用支持向量機SVM(Support Vector Machine)(在適當修改的情況下)的問題是顯示廣告,人類剪接位點識別,基於圖像的性別檢測,大規模的圖像分類等。

6.組合方法(Ensemble methods):

組合方法是學習算法,它構建一系列分類,然後通過採取加權投票預測的方式來對新的數據點進行分類。原始的集成方法是貝葉斯平均法,但最近的算法包括對其糾錯輸出編碼、套袋、加速等。

那麼組合方法如何運行的呢?為什麼說它們比其他的模型要優秀?因為:

它們將偏差平均了:如果你將民主黨派的民意調查和共和黨的民意調查發在一起平均化,那麼你將得到一個均衡的結果,且不偏向任何一方。

它們減少了差異:一堆模型的總結意見沒有一個模型的單一意見那麼嘈雜。在金融領域,這就是所謂的多元化 — 有許多股票組合比一個單獨的股票的不確定性更少,這也為什麼你的模型在數據多的情況下會更好的原因。

它們不太可能過度擬合:如果你有沒有過度擬合的獨立模型,你通過一個簡單的方式(平均,加權平均,邏輯回歸)對每個獨立模型的預測進行結合,這樣的話不太可能會出現過度擬合的情況。

無監督學習

7.聚類算法(Clustering Algorithms):

聚類是一種聚集對象的任務,例如:相比其他不同的組在同一組(集群)的對象彼此更為相似。

每個聚類算法都是不同的,比如說有以下幾種:

基於質心的算法

基於連接的算法

基於密度的算法

可能性

維度縮減

神經網絡/深度學習

8.主成分分析(Principal Component Analysis,PCA):

通過正交變換將一組可能存在相關性的變量轉換為一組線性不相關的變量,轉換後的這組變量叫主成分。

一些主成分分析PCA程序的應用包括壓縮、簡化數據、可視化。注意,對於選擇是否使用主成分分析領域知識是非常重要的。當數據是嘈雜的時候(所有的組件的主成分分析有相當高的方差),它是不適合的。

9. 奇異值分解(Singular Value Decomposition):

在線性代數中,SVD是一個非常複雜矩陣的因數分解。對於一個給定的m×n矩陣M,存在一個分解,M = UΣV,其中u和v是單一矩陣,Σ是對角矩陣。

主成分分析PCA其是奇異值分解SVD的簡單應用。在計算機視覺領域,第一人臉識別算法,運用主成分分析PCA其是奇異值分解SVD來代表面孔作為一個線性組合的「特徵臉」,並對其做降維,然後通過簡單的方法匹配合適的身份;雖然現代方法更複雜,但是許多人仍然依靠類似的技術。

10.獨立成分分析(Independent Component Analysis):

獨立成分分析(Independent Component Analysis,ICA)是一種揭示構築隨機變量、技術測量、信號等隱藏因素的統計技術。ICA定義了所觀察到的多變量數據生成模型,這通常是給定為一個大型資料庫的樣本。在該模型中,數據變量被假定為一些未知潛變量的線性混合,同時混合系統也仍然未知。潛變量被假定是非高斯和相互獨立的,它們被稱為所觀察到的數據的獨立分量。

ICA與PCA是相關的,但它更強大。在這些經典的方法完全失敗的時候,ICA能夠找到源頭的潛在因素。它的應用包括數字圖像、文檔資料庫、經濟指標和心理測試。

通過以上介紹,相信大部分人對於機器學習的算法都有一定的了解。如果對這方面感興趣的話,可以接著運用你理解的算法去創造機器學習應用,為世界各地的人們創造更好的生活條件。

PS : 本文由雷鋒網(公眾號:雷鋒網)獨家編譯,未經許可拒絕轉載!

via LAB41

雷鋒網原創文章,未經授權禁止轉載。詳情見轉載須知。

相關焦點

  • 想了解機器學習?這 3 種算法你必須要知道
    點擊上方「CSDN」,選擇「置頂公眾號」關鍵時刻,第一時間送達!
  • 五分鐘了解機器學習十大算法
    本文為有志於成為數據科學家或對此感興趣的讀者們介紹最流行的機器學習算法。機器學習是該行業的一個創新且重要的領域。我們為機器學習程序選擇的算法類型,取決於我們想要實現的目標。現在,機器學習有很多算法。因此,如此多的算法,可能對於初學者來說,是相當不堪重負的。
  • 機器學習算法基礎(使用Python代碼)
    今天,作為一名數據科學家,我可以用每小時幾美元的成本,用複雜算法構建數據處理機器。但是實現這並不容易!因為我需要面臨度過無數個黑暗的日日夜夜。機器學習算法類型從廣義上講,有3種類型的機器學習算法。現在使用這個方程,我們可以求出重量,而知道一個人的身高。創建本指南背後的想法是簡化世界各地有抱負的數據科學家和機器學習愛好者的旅程。通過本指南,我將幫助您解決機器學習問題並從經驗中獲益。我提供了對各種機器學習算法的高級理解以及運行它們的R&Python代碼。這些應該足以弄髒你的手。
  • 常見的機器學習算法,你知道幾個?
    誕生於1956年的人工智慧,由於受到智能算法、計算速度、存儲水平等因素的影響,在六十多年的發展過程中經歷了多次高潮和低谷。最近幾年,得益於數據量的上漲、運算力的提升,特別是機器學習新算法的出現,人工智慧迎來了大爆發的時代。提到機器學習這個詞時,有些人首先想到的可能是科幻電影裡的機器人。
  • 算法應用|機器學習python應用,初識機器學習是怎樣滴感受?
    2、必須非常深入地學習和理解在scikit- learn中使用的機器學習的理論和算法。實際上也不需要,除非你是這一方向的碩士甚至博士學位的學習者。機器學習不同的算法涉及的知識點是非常廣闊的,要做到每一種算法的理論知識的學習都非常深入,是比較難的,實際上簡單的機器學習應用中,只需要了解不同算法的基礎知識就可以使用了。
  • 如何選擇正確的機器學習算法
    2 - 了解數據在為正確的問題選擇正確的算法的過程中,數據的理解過程起著關鍵的作用。一些算法可以處理較小的樣本集,而另一些算法則需要大量的樣本。某些算法處理分類數據,而另一些算法則喜歡處理數值輸入。3-K-means假設你有很多數據點(水果的測量值),你想把它們分成蘋果和梨兩組。K均值聚類是一種聚類算法,用於自動將大組劃分為更小的組。
  • Python入門5大機器學習算法(附代碼),你知道哪幾個?
    下面我們看下Python的5個機器學習算法(附代碼)1、線性回歸線性回歸通常用於根據連續變量估計實際數值(房價、呼叫次數、總銷售額等)。我們通過擬合最佳直線來建立自變量和因變量的關係。這條最佳直線叫做回歸線,並且用 Y= a *X + b 這條線性等式來表示。
  • 機器學習算法一覽
    把問題解決思路和方法應用建議提前到這裡的想法也很簡單,希望能提前給大家一些小建議,對於某些容易出錯的地方也先給大家打個預防針,這樣在理解後續相應機器學習算法之後,使用起來也有一定的章法。2.機器學習算法簡述按照不同的分類標準,可以把機器學習的算法做不同的分類。
  • 【機器學習終極盤點】你不知道的機器學習算法優缺點(匯總篇)
    主要回顧下幾個常用算法的適應場景及其優缺點!機器學習算法太多了,分類、回歸、聚類、推薦、圖像識別領域等等,要想找到一個合適算法真的不容易,所以在實際應用中,我們一般都是採用啟發式學習方式來實驗。但是如果你只是在尋找一個「足夠好」的算法來解決你的問題,或者這裡有些技巧可以參考,下面來分析下各個算法的優缺點,基於算法的優缺點,更易於我們去選擇它。1.天下沒有免費的午餐在機器學習領域,一個基本的定理就是「沒有免費的午餐」。
  • 機器學習基礎圖表:概念、原理、歷史、趨勢和算法
    四大會計師事務所之一的普華永道(PwC)發布了多份解讀機器學習基礎的圖表,其中介紹了機器學習的基本概念、原理、歷史、未來趨勢和一些常見的算法。為便於讀者閱讀,機器之心對這些圖表進行了編譯和拆分,分三大部分對這些內容進行了呈現,希望能幫助你進一步擴展閱讀。
  • 10大機器學習算法及應用,你知道幾個?
    來源:kdnuggets作者:James Le翻譯:序媛本文導讀:本文將為大家盤點,機器學習領域都有哪些常用的算法。毫無疑問,在過去兩年中,機器學習和人工智慧的普及度都得到了大幅提升。機器學習算法可分為三個大類:有監督學習、無監督學習和強化學習。
  • 終極算法:機器學習裡的「牛頓三定律」
    你為即將到來的行程查找到一個航班,但決定推遲購買機票,因為必應旅行(Bing Travel)預測票價很快會下降。也許你沒有意識到以上這些,要不是機器學習幫助你,你可能要馬不停蹄地親自做很多事情。你在休息時間查看自己的共同基金,大部分基金利用學習算法來選股,其中的某些基金完全由學習系統運作。午餐時間到了,你走在大街上,想找個吃飯的地方,這時候用手機上的Yelp點評應用程式來幫助你。
  • 【機器學習】監督式和非監督式機器學習算法
  • 學習機器學習,你需要了解這5點
    想要了解機器學習你需要知道以下幾點:從實際的應用場景出發,要訓練出來一個能夠適應某場景的模型需要經過以下幾步:場景解析就是將業務邏輯,抽象成為通過算法能夠解決的問題。特徵工程是機器學習中最重要的一部分,因為根據已有的訓練數據,可選用的算法是有限的;那麼在同樣的算法下特徵的選取是不同的,100個人對一件事情會有100種看法,也就有100種特徵,最後特徵的質量決定模型的好壞。
  • 應聘機器學習工程師?這是你需要知道的12個基礎面試問題
    如果想應聘機器學習工程師崗位,你可能會遇到技術面試,這是面試官掂量你對技術的真正理解的時候,所以還是相當重要的。近日,JP Tech 發表了一篇文章,介紹了他們面試新人時可能會提出的 12 個面試問題。問題很基礎,但卻值得一看。這些問題是我在面試 AI 工程師崗位時常問到的問題。事實上,並非所有面試都需要用到所有這些問題,因為這取決於面試者的經驗以及之前做過的項目。
  • 資料| 《 機器學習數學基礎 》
    一旦得到恰當的形式化,我們就可以使用數學工具推導出機器學習算法設計的選擇結果。這幫助我們理解正在解決的任務,同時了解智能的本質。全球數學專業的學生常見的一種抱怨是數學話題似乎與實際問題沒有什麼相關。我們認為機器學習是促使人們學習數學的直接動力。本書旨在作為構建現代機器學習基礎的大量數學文獻的指南。我們通過直接指出數學概念在基礎機器學習問題中的有用性來促進對數學概念學習的需求。
  • 「3步套路」快速掌握機器學習算法和模型 | 極客時間
    然而,機器學習領域浩如煙海,各類教材和入門課程層出不窮。特別是機器學習基礎需要不少的數學知識,這對於想進入這一領域的工程師而言,無疑是一個比較高的門檻。今天,我來和你聊一聊如何學習和掌握機器學習基礎知識,又如何通過核心的知識脈絡快速掌握更多的機器學習算法和模型。
  • 新手必看的十種機器學習算法
    當然,算法必須適合於你的問題。就比如說,如果你想清掃你的房子,你需要吸塵器,掃帚,拖把。而不是拿起鏟子去開始挖地。大的原則不過,對於預測建模來說,有一條通用的原則適用於所有監督學習算法。機器學習算法可以描述為學習一個目標函數 f,它能夠最好地映射出輸入變量 X 到輸出變量 Y。有一類普遍的學習任務。我們要根據輸入變量 X 來預測出 Y。我們不知道目標函數 f 是什麼樣的。如果早就知道,我們就可以直接使用它,而不需要再通過機器學習算法從數據中進行學習了。
  • 我的機器學習算法之路
    掌握人工智慧技術,需要從基礎的機器學習算法開始學習,逐漸建立機器學習知識體系。本篇文章 :1.帶大家克服心理上對於機器學習的敬畏,繞開彎路(本人入過很多坑),進入機器學習領域。2.從基本概念和機器學習的應用領域入手,幫助大家建立機器學習的概念模型。3.用最基本的線性回歸和邏輯回歸算法,讓大家掌握機器學習神秘的「三板斧」方法論。
  • 想學習深度學習需要什麼樣的基礎?
    很多小夥伴對深度學習的理解都有一些誤解,今天就為你一一解答。 很多人第一反應是深度學習特別高大上,需要一定基礎才能學習,但是關於需要學習深度學習所需要的基礎其實存在很多誤區。迷茫於在網上雖然能找到各類深度學習課程和資料,但是是不是適合自己,如何能在一堆裡面找到系統的、深入的、落地的學習內容,這對很多人來說都是橫在學習面前的一道坎。