毫無疑問,近些年機器學習和人工智能領域受到了越來越多的關注。隨著大數據成為當下工業界最火爆的技術趨勢,機器學習也借助大數據在預測和推薦方面取得了驚人的成績。比較有名的機器學習案例包括Netflix根據用戶歷史瀏覽行為給用戶推薦電影,亞馬遜基于用戶的歷史購買行為來推薦圖書。那么,如果你想要學習機器學習的算法,該如何入門呢?就我而言,我的入門課程是在哥本哈根留學時選修的人工智能課程。老師是丹麥科技大學應用數學和計算機專業的全職教授,他的研究方向是邏輯學和人工智能,主要是用邏輯學的方法來建模。課程包括了理論/核心概念的探討和動手實踐兩個部分。我們使用的教材是人工智能的經典書籍之一:Peter Norvig教授的《人工智能——一種現代方法》,課程涉及到了智能代理、基于搜索的求解、對抗搜索、概率論、多代理系統、社交化人工智能,以及人工智能的倫理和未來等話題。在課程的后期,我們三個人還組隊做了編程項目,實現了基于搜索的簡單算法來解決虛擬環境下的交通運輸任務。我從課程中學到了非常多的知識,并且打算在這個專題里繼續深入學習。在過去幾周內,我參與了舊金山地區的多場深度學習、神經網絡和數據架構的演講 —— 還有一場眾多知名教授云集的機器學習會議。最重要的是,我在六月初注冊了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.獨立成分分析:獨立成分分析是一種利用統計原理進行計算來揭示隨機變量、測量值或者信號背后的隱藏因素的方法。獨立成分分析算法給所觀察到的多變量數據定義了一個生成模型,通常這些變量是大批量的樣本。在該模型中,數據變量被假定為一些未知的潛變量的線性混合,而且混合系統也未知。潛變量被假定是非高斯和相互獨立的,它們被稱為所觀察到的數據的獨立分量。
獨立成分分析與主成分分析有關聯,但它是一個更強大的技術。它能夠在這些經典方法失效時仍舊找到數據源的潛在因素。它的應用包括數字圖像、文檔數據庫、經濟指標和心理測量。現在,請運用你所理解的算法,去創造機器學習應用,改善全世界人們的生活質量吧。
-
機器學習
+關注
關注
66文章
8377瀏覽量
132406
原文標題:機器學習工程師需要了解的十種算法(轉載)
文章出處:【微信號:gh_0d472ef09794,微信公眾號:Zero機器學習與人工智能】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論