機器學習工程師必懂10大算法

毫無疑問,機器學習/人工智能的子領域在過去幾年中越來越受歡迎。由於大數據是目前科技行業最熱門的趨勢,因此機器學習對於根據大量數據進行預測或計算建議非常有用。機器學習的一些最常見的例子是Netflix的算法,用於根據您過去觀看的電影製作電影建議,或亞馬遜的算法,根據您之前購買的書籍推薦書籍。

因此,如果您想了解有關機器學習的更多信息,您將如何開始?對我來說,我的第一次介紹就是我在哥本哈根留學期間參加人工智能課程。我的講師是丹麥技術大學的全職應用數學和CS教授,他的研究領域是邏輯和人工,主要側重於使用邏輯來模擬人類的計劃,推理和解決問題。該課程是對理論/核心概念和動手解決問題的討論的混合。我們使用的教科書是AI經典之作: Peter Norvig的人工智能 - 一種現代方法其中我們涉及的主要議題包括智能代理,搜索問題解決,對抗性搜索,概率論,多智能體系統,社會AI,哲學/倫理/人工智能的未來。在課程結束時,在3人團隊中,我們實施了簡單的基於搜索的代理,將虛擬環境中的運輸任務作為編程項目。

由於該課程,我學到了大量的知識,並決定繼續學習這個專業的主題。在過去的幾周裡,我在舊金山進行了多次關於深度學習,神經網絡,數據架構的技術會談 - 以及與該領域許多知名專業人士舉行的機器學習會議。最重要的是,我在6月初參加了Udacity的 機器學習入門在線課程,並且幾天前就完成了它。在這篇文章中,我想分享一些我從課程中學到的最常見的機器學習算法。

機器學習算法可以分為3大類 - 監督學習,無監督學習和強化學習。監督學習對於特定數據集(訓練集)可用屬性(標籤)但缺少並需要的情況很有用。可以預測其他情況。在挑戰是發現給定未標記的 隱式關係的情況下,無監督學習是有用的 數據集(項目未預先分配)。強化學習介於這兩個極端之間 - 每個預測步驟或操作都有某種形式的反饋,但沒有精確的標籤或錯誤信息。由於這是一個介紹課,我沒有學習強化學習,但我希望有關監督和無監督學習的10種算法足以讓你感興趣。

監督學習

1.決策樹:決策樹是一種決策支持工具,它使用樹狀圖或決策模型及其可能的後果,包括機會事件結果,資源成本和效用。看一下圖像,瞭解它的外觀。

機器學習工程師必懂10大算法


決策樹

從業務決策的角度來看,決策樹是一個人必須提出的是/否問題的最小數量,以評估在大多數情況下做出正確決策的可能性。作為一種方法,它允許您以結構化和系統化的方式處理問題,以得出合乎邏輯的結論。

2.樸素貝葉斯分類:樸素貝葉斯分類器是一類簡單概率分類器,它基於應用貝葉斯定理,在特徵之間具有強(天真)獨立假設。特徵圖像是等式 - P(A | B)是後驗概率,P(B | A)是似然,P(A)是類先驗概率,P(B)是預測先驗概率。

機器學習工程師必懂10大算法


樸素貝葉斯分類

一些現實世界的例子是:

將電子郵件標記為垃圾郵件或非垃圾郵件

對有關技術,政治或體育的新聞文章進行分類

檢查一段表達積極情緒或負面情緒的文字?

用於人臉識別軟件。

3.普通最小二乘迴歸:如果你知道統計數據,你可能之前聽說過線性迴歸。最小二乘法是一種執行線性迴歸的方法。您可以將線性迴歸視為通過一組點擬合直線的任務。有多種可能的策略可以做到這一點,“普通最小二乘”策略是這樣的 - 你可以繪製一條線,然後為每個數據點測量點和線之間的垂直距離,並添加它們; 擬合線將是這個距離總和儘可能小的線。

機器學習工程師必懂10大算法


普通最小二乘迴歸

線性是指您用來擬合數據的模型,而最小二乘是指您最小化的誤差度量。

4. Logistic迴歸:Logistic迴歸是一種使用一個或多個解釋變量對二項式結果建模的強大統計方法。它通過使用邏輯函數(累積邏輯分佈)估計概率來測量分類因變量與一個或多個自變量之間的關係。

機器學習工程師必懂10大算法


Logistic迴歸

通常,迴歸可用於實際應用,例如:

信用評分

衡量營銷活動的成功率

預測某種產品的收入

某一天會發生地震嗎?

5.支持向量機:SVM是二元分類算法。給定N維位置中的2種類型的點集,SVM生成(N-1)維超平面以將這些點分成2組。假設您在紙張中有兩種類型的點可線性分離。SVM將找到一條直線,將這些點分成兩種類型,並儘可能遠離所有這些點。

機器學習工程師必懂10大算法


支持向量機

在規模方面,使用SVM(具有適當修改的實現)解決的一些最大問題是顯示廣告,人體拼接站點識別,基於圖像的性別檢測,大規模圖像分類......

6.集合方法:集合方法是學習算法,其構造一組分類器,然後通過對其預測進行加權投票來對新數據點進行分類。最初的集成方法是貝葉斯平均,但最近的算法包括糾錯輸出編碼,裝袋和增強。

機器學習工程師必懂10大算法


集成學習算法

那麼整體方法如何運作?為什麼它們優於單個模型?

他們平均偏見:如果你把一堆民主傾向的民意調查和共和黨傾向的民意調查結合在一起,那麼你將得到一個平均的東西。

它們減少了方差:一組模型的總體意見比其中一個模型的單一意見噪音小。在金融領域,這被稱為多樣化 - 許多股票的混合投資組合變化遠不如僅僅一隻股票。這就是為什麼你的模型會有更多的數據點而不是更少的數據點。

它們不太可能過度擬合:如果您有單獨的模型沒有過度擬合,並且您正在以簡單的方式(平均,加權平均,邏輯迴歸)組合每個模型的預測,那麼就沒有空間可以結束-配件。

無監督學習

7.聚類算法:聚類是對一組對象進行分組的任務,使得同一組(聚類)中的對象彼此更相似,而不是與其他組中的對象相似。

機器學習工程師必懂10大算法


聚類算法

每個聚類算法都不同,這裡有幾個:

基於質心的算法

基於連接的算法

基於密度的算法

概率

維度降低

神經網絡/深度學習

8.主成分分析:PCA是一種統計程序,它使用正交變換將可能相關變量的一組觀察值轉換為一組稱為主成分的線性不相關變量值。

機器學習工程師必懂10大算法


主成分分析

PCA的一些應用包括壓縮,簡化數據以便於學習和可視化。請注意,在選擇是否繼續使用PCA時,領域知識非常重要。它不適用於數據有噪聲的情況(PCA的所有組件都有很高的變化)。

9.奇異值分解:在線性代數中,SVD是真實複雜矩陣的分解。對於給定的 m * n 矩陣M,存在分解使得M =UΣV,其中U和V是酉矩陣並且Σ是對角矩陣。

機器學習工程師必懂10大算法


奇異值分解

PCA實際上是SVD的簡單應用。在計算機視覺中,第一個人臉識別算法使用PCA和SVD來表示人臉作為“特徵臉”的線性組合,進行降維,然後通過簡單的方法將人臉與身份相匹配; 雖然現代方法要複雜得多,但許多仍然依賴於類似的技術。

10.獨立分量分析:ICA是一種統計技術,用於揭示隱藏因素,這些因素構成隨機變量,測量或信號的基礎。ICA定義了觀察到的多變量數據的生成模型,該模型通常作為大型樣本數據庫給出。在該模型中,假設數據變量是一些未知潛在變量的線性混合,並且混合系統也是未知的。假設潛在變量是非高斯的並且相互獨立,並且它們被稱為觀察數據的獨立分量。

機器學習工程師必懂10大算法


獨立成分分析

ICA與PCA有關,但它是一種更強大的技術,能夠在這些經典方法完全失敗時找到源的潛在因素。其應用包括數字圖像,文檔數據庫,經濟指標和心理測量。

現在,您將瞭解算法,以創建機器學習應用程序,為各地的人們提供更好的體驗。


分享到:


相關文章: