首頁 頭條 十大機器學習需要了解的演算法

十大機器學習需要了解的演算法

Dec 18, 2017 am 10:38 AM
學習 機器 需要

毫無疑問,近年來機器學習和人工智慧領域受到了越來越多的關注。隨著大數據成為當下工業界最熱門的技術趨勢,機器學習也藉助大數據在預測和推薦方面取得了驚人的成績。比較有名的機器學習案例包括Netflix根據用戶歷史瀏覽行為給用戶推薦電影,亞馬遜基於用戶的歷史購買行為來推薦書籍。本文主要介紹了淺談機器學習所需的了解的十大演算法,具有一定借鑒價值,需要的朋友可以參考下。

那麼,如果你想要學習機器學習的演算法,該如何入門呢?就我而言,我的入門課程是在哥本哈根留學時選修的人工智慧課程。老師是丹麥科技大學應用數學和電腦專業的全職教授,他的研究方向是邏輯學和人工智慧,主要是用邏輯學的方法來建模。課程包括了理論/核心概念的探討和動手實作兩個部分。我們使用的教材是人工智慧的經典書籍之一:PeterNorvig教授的《人工智慧——一種現代方法》,課程涉及了智慧代理、基於搜尋的求解、對抗搜尋、機率論、多代理系統、社交化人工智慧,以及人工智慧的倫理和未來等主題。在課程的後期,我們三個人也組隊做了程式設計項目,實現了基於搜尋的簡單演算法來解決虛擬環境下的交通運輸任務。

我從課程中學到了非常多的知識,並且打算在這個專題裡繼續深入學習。在過去幾週內,我參與了舊金山地區的多場深度學習、神經網路和資料架構的演講——還有一場眾多知名教授雲集的機器學習會議。最重要的是,我在六月初註冊了Udacity的《機器學習導論》線上課程,並且在幾天前學完了課程內容。在本文中,我想分享幾個我從課程中學到的常用機器學習演算法。

機器學習演算法通常可以被分成三大類-監督式學習,非監督式學習和強化學習。監督式學習主要用於一部分資料集(訓練資料)有某些可以取得的熟悉(標籤),但剩餘的樣本缺失且需要預測的場景​​。非監督式學習主要用於從未標註資料集中挖掘相互之間的隱含關係。強化學習介於兩者之間-每一步預測或行為都或多或少有一些回饋訊息,但是卻沒有準確的標籤或錯誤提示。由於這是入門級的課程,並沒有提及強化學習,但我希望監督式學習和非監督式學習的十個演算法足夠吊起你的胃口了。

監督式學習

1.決策樹:

#決策樹是一種決策支援工具,它使用樹狀圖或樹狀模型來表示決策過程以及後續得到的結果,包括機率事件結果等。請觀察下圖來理解決策樹的結構。

從商業決策的角度來看,決策樹就是盡可能少的是非判斷問題來預測決策正確的機率。這個方法可以幫你用一種結構性的、系統性的方法來得出合理的結論。

2.樸素貝葉斯分類器:

樸素貝葉斯分類器是一類基於貝葉斯理論的簡單的機率分類器,它假設特徵之前是互相獨立的。下圖所示的就是公式-P(A|B)表示後驗機率,P(B|A)是似然值,P(A)是類別的先驗機率,P(B)代表預測器的先驗機率。

現實場景中的一些例子包括:

偵測垃圾電子郵件

將新聞分為科技、政治、體育等類別

判斷一段文字表達正面的情緒還是負面的情緒

用於人臉偵測軟體

3.最小平方迴歸:

#如果你學過統計課程,也許聽過線性迴歸的概念。最小平方迴歸是求線性迴歸的一種方法。你可以把線性迴歸想成是用一條直線擬合若干個點。擬合的方法有許多種,「最小平方」的策略相當於你畫一條直線,然後計算每個點到直線的垂直距離,最後把各個距離求和;最佳擬合的直線就是距離和最小的那一條。

線性指的是用來擬合資料的模型,而最小平方指的是待最佳化的損失函數。

4.邏輯迴歸:

邏輯迴歸模型是一種強大的統計建模方式,它以一個或多個解釋性變數對二值輸出結果建模。它用邏輯史蒂函數估計機率值,以此衡量分類依賴變數和一個或多個獨立的變數之間的關係,這屬於累積的邏輯史蒂分佈。

通常來說,邏輯迴歸模型在現實場景中的應用包括:

信用評分

預測商業活動的成功機率

預測某款產品的收益

預測某一天發生地震的機率

#5.支援向量機:

支援向量機是一種二分類演算法。在N維空間中給定兩類點,支援向量機產生一個(N-1)維的超平面將這些點分成兩類。舉個例子,例如在紙上有兩類線性可分的點。支援向量機會尋找一條直線將這兩類點區分開來,並且與這些點的距離都盡可能遠。

利用支援向量機(結合具體應用場景做了改進)解決的大規模問題包括展示廣告、人體結合部位識別、基於圖像的性別檢查、大規模影像分類等…

6.整合方法:

整合方法是先建構一組分類器,然後用各個分類器帶權重的投票來預測新數據的演算法。最初的整合方法是貝葉斯平均,但最新的演算法包括誤差修正輸出編碼和提升演算法。

那麼整合模型的原理是什麼,以及為什麼它比獨立模型的效果好呢?

它們消除了偏置的影響:例如把民主黨的問捲和共和黨的問卷混合,從中得到的將是一個不倫不類的偏中立的信息。

它們能減少預測的變異數:多個模型聚合後的預測結果比單一模型的預測結果更穩定。在金融界,這被稱為是多樣化——多個股票的混合產品波動總是遠小於單一股票的波動。這也解釋了為何增加訓練數據,模型的效果會變得更好。

它們不容易產生過擬合:如果單一模型不會產生過擬合,那麼將每個模型的預測結果簡單地組合(取平均值、加權平均、邏輯迴歸),沒有理由產生過擬合。

非監督學習

7.聚類演算法:

#聚類演算法的任務是將一群物件聚集成多個群組,分到同一個組(簇)的物體比其它組的物體更相似。

每個聚類演算法都各不相同,這裡列舉了幾種:

基於類心的聚類演算法

#基於連接的聚類演算法

基於密度的聚類演算法

機率型演算法

#降維演算法

神經網路/深度學習

8.主成分分析:

主成分分析屬於統計的方法,過正交變換將一組可能存在相關性的變數轉換為一組線性不相關的變量,轉換後的這組變數叫做主成分。

主成分分析的一些實際應用包括資料壓縮,簡化資料表示,資料視覺化等。值得一提的是需要領域知識來判斷是否適合使用主成分分析演算法。如果資料的雜訊太大(即各個成分的變異數都很大),就不適合使用主成分分析演算法。

9.奇異值分解:

奇異值分解是線性代數中重要的矩陣分解,是矩陣分析中正規矩陣酉對角化的推廣。對於給定的m*n矩陣M,可以將其分解為M=UΣV,其中U和V是m×m階酉矩陣,Σ是半正定m×n階對角矩陣。

主成分分析其實就是一種簡單的奇異值分解演算法。在電腦視覺領域中,第一例人臉辨識演算法使用了主成分分析和奇異值分解將人臉表示為一組「特徵臉(eigenfaces)」的線性組合,經過降維,然後利用簡單的方法匹配候選人臉。儘管現代的方法更加精細,許多技術還是於此很相似。

10.獨立成分分析:

獨立成分分析是一種利用統計原理進行計算來揭示隨機變數、測量值或訊號背後的隱藏因素的方法。獨立成分分析演算法為所觀察到的多變量資料定義了一個生成模型,通常這些變數是大批量的樣本。在這個模型中,資料變數被假定為一些未知的潛在變數的線性混合,而且混合系統也未知。潛變數被假定是非高斯和相互獨立的,它們被稱為所觀察到的資料的獨立分量。

獨立成分分析與主成分分析有關聯,但它是一個更強大的技術。它能夠在這些經典方法失效時仍舊找到資料來源的潛在因素。它的應用包括數位影像、文件資料庫、經濟指標和心理測量。

現在,請運用你所理解的演算法,去創造機器學習應用,改善全世界人們的生活品質。

相關推薦:

微信小程式機器人自動客服功能

php開發微信支付與聊天機器人

PHP機器學習庫php-ml的實例教學

#
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

學會徹底卸載pip,使用Python更有效率 學會徹底卸載pip,使用Python更有效率 Jan 16, 2024 am 09:01 AM

不再需要pip?快來學習如何有效卸載pip!引言:pip是Python的套件管理工具之一,它可以方便地安裝、升級和卸載Python套件。然而,有時候我們可能需要卸載pip,可能是因為我們希望使用其他的套件管理工具,或者因為我們需要完全清除Python環境。本文將介紹如何有效地卸載pip,並提供具體的程式碼範例。一、卸載pip的方法下面將介紹兩種常見的卸載pip的方法

深入研究matplotlib的色彩映射表 深入研究matplotlib的色彩映射表 Jan 09, 2024 pm 03:51 PM

深入學習matplotlib顏色表,需要具體程式碼範例一、引言matplotlib是一個功能強大的Python繪圖庫,它提供了豐富的繪圖函數和工具,可以用於創建各種類型的圖表。而顏色表(colormap)是matplotlib中一個重要的概念,它決定了圖表的配色。深入學習matplotlib色表,將幫助我們更好地掌握matplotlib的繪圖功能,使繪

Pygame入門指南:全面安裝與設定教學課程 Pygame入門指南:全面安裝與設定教學課程 Feb 19, 2024 pm 10:10 PM

從零開始學習Pygame:完整的安裝和配置教程,需要具體程式碼範例引言:Pygame是一個使用Python程式語言開發的開源遊戲開發庫,它提供了豐富的功能和工具,使得開發者可以輕鬆創建各種類型的遊戲。本文將帶您從零開始學習Pygame,並提供完整的安裝和配置教程,以及具體的程式碼範例,讓您快速入門。第一部分:安裝Python和Pygame首先,確保您的電腦上已

揭秘C語言的吸引力: 發掘程式設計師的潛質 揭秘C語言的吸引力: 發掘程式設計師的潛質 Feb 24, 2024 pm 11:21 PM

學習C語言的魅力:解鎖程式設計師的潛力隨著科技的不斷發展,電腦程式設計已經成為了一個備受關注的領域。在眾多程式語言中,C語言一直以來都備受程式設計師的喜愛。它的簡單、高效以及廣泛應用的特點,使得學習C語言成為了許多人進入程式設計領域的第一步。本文將討論學習C語言的魅力,以及如何透過學習C語言來解鎖程式設計師的潛力。首先,學習C語言的魅力在於其簡潔性。相較於其他程式語言而言,C語

一起學習word根號輸入方法 一起學習word根號輸入方法 Mar 19, 2024 pm 08:52 PM

在word編輯文字內容時,有時會需要輸入公式符號。有的小夥子們不知道在word根號輸入的方法,小面就讓小編跟小夥伴們一起分享下word根號輸入的方法教學。希望對小夥伴們有幫助。首先,開啟電腦上的Word軟體,然後開啟要編輯的文件,並將遊標移到需要插入根號的位置,參考下方的圖片範例。 2.選擇【插入】,再選擇符號裡的【公式】。如下方圖片紅色圈的部分內容所示:3.接著選擇下方的【插入新公式】。如下方圖片紅色圈的部分內容所示:4.選擇【根式】,再選擇適當的根號。如下方圖片紅色圈的部分內容所示:

從零開始學習Go語言中的main函數 從零開始學習Go語言中的main函數 Mar 27, 2024 pm 05:03 PM

標題:從零開始學習Go語言中的main函數Go語言作為一種簡潔、高效的程式語言,備受開發者青睞。在Go語言中,main函數是一個入口函數,每個Go程式都必須包含main函數作為程式的入口點。本文將從零開始介紹如何學習Go語言中的main函數,並提供具體的程式碼範例。一、首先,我們需要安裝Go語言的開發環境。可前往官方網站(https://golang.org

實現流暢運行CAD所需的配置是什麼? 實現流暢運行CAD所需的配置是什麼? Jan 01, 2024 pm 07:17 PM

流暢使用cad需要什麼配置要想順利運用CAD軟體,需要滿足以下配置要求:處理器要求:為了能夠流暢運行《文字玩出花》,您需要至少配備一台IntelCorei5或AMDRyzen5以上的處理器。當然,如果您選擇更高效能的處理器,將能夠獲得更快的處理速度和更好的效能。記憶體是電腦中一個非常重要的元件,它對於電腦的效能和使用體驗有著直接的影響。一般來說,我們建議至少8GB的內存,這樣可以滿足大部分日常使用的需求。但是,為了獲得更好的效能和更流暢的使用體驗,建議選擇16GB或以上的記憶體配置。這樣可以確保在

快速學會pip安裝,從零開始掌握技巧 快速學會pip安裝,從零開始掌握技巧 Jan 16, 2024 am 10:30 AM

從零開始學習pip安裝,快速掌握技巧,需要具體程式碼範例概述:pip是Python套件管理工具,能夠輕鬆安裝、升級和管理Python套件。對於Python開發者來說,掌握pip的使用技巧是非常重要的。本文將從零開始介紹pip的安裝方法,並給出一些實用的技巧和具體的程式碼範例,幫助讀者快速掌握pip的使用。一、安裝pip在使用pip之前,首先需要安裝pip。 pip的