機器學習演算法總結

2021-07-29 07:35:26 字數 4071 閱讀 8255

機器學習(machine learning, ml)是一門多領域交叉學科,涉及概率論、統計學、逼近論、凸分析、演算法複雜度理論等多門學科。專門研究計算機怎樣模擬或實現人類的學習行為,以獲取新的知識或技能,重新組織已有的知識結構使之不斷改善自身的效能。

嚴格的定義:機器學習是一門研究機器獲取新知識和新技能,並識別現有知識的學問。這裡所說的「機器」,指的就是計算機,電子計算機,中子計算機、光子計算機或神經計算機等等。

由上圖所示:機器學習分為四大塊:classification (分類)clustering (聚類),regression (回歸),dimensionality reduction (降維)

classification & regression

舉乙個簡單的例子:

給定乙個樣本特徵 x, 我們希望**其對應的屬性值 y, 如果 y 是離散的, 那麼這就是乙個分類問題,反之,如果 y 是連續的實數, 這就是乙個回歸問題。

如果給定一組樣本特徵 s=, 我們沒有對應的 y, 而是想發掘這組樣本在 d 維空間的分布, 比如分析哪些樣本靠的更近,哪些樣本之間離得很遠, 這就是屬於聚類問題。

如果我們想用維數更低的子空間來表示原來高維的特徵空間, 那麼這就是降維問題。

無論是分類還是回歸,都是想建立乙個**模型 h,給定乙個輸入 x, 可以得到乙個輸出 y:

y=h(x)

不同的只是在分類問題中, y 是離散的; 而在回歸問題中 y 是連續的。所以總得來說,兩種問題的學習演算法都很類似。所以在這個圖譜上,我們看到在分類問題中用到的學習演算法,在回歸問題中也能使用。分類問題最常用的學習演算法包括 svm (支援向量機) , sgd (隨機梯度下降演算法), bayes (貝葉斯估計), ensemble, knn 等。而回歸問題也能使用 svr, sgd, ensemble 等演算法,以及其它線性回歸演算法。

clustering

聚類也是分析樣本的屬性, 有點類似classification, 不同的就是classification 在**之前是知道 y 的範圍, 或者說知道到底有幾個類別, 而聚類是不知道屬性的範圍的。所以 classification 也常常被稱為 supervised learning, 而clustering就被稱為 unsupervised learning。

clustering 事先不知道樣本的屬性範圍,只能憑藉樣本在特徵空間的分布來分析樣本的屬性。這種問題一般更複雜。而常用的演算法包括 k-means (k-均值), gmm (高斯混合模型) 等。

dimensionality reduction

降維是機器學習另乙個重要的領域, 降維有很多重要的應用, 特徵的維數過高, 會增加訓練的負擔與儲存空間, 降維就是希望去除特徵的冗餘, 用更加少的維數來表示特徵. 降維演算法最基礎的就是pca了, 後面的很多演算法都是以pca為基礎演化而來。

機器學習領域涉及到很多的演算法和模型,這裡遴選一些常見的演算法:

整合方法是由多個較弱的模型整合模型組,其中的模型可以單獨進行訓練,並且它們的**能以某種方式結合起來去做出乙個總體**。這類演算法又稱元演算法(meta-algorithm)。最常見的整合思想有兩種bagging和boosting。

boosting

基於錯誤提公升分類器效能,通過集中關注被已有分類器分類錯誤的樣本,構建新分類器並整合。

bagging

基於資料隨機重抽樣的分類器構建方法。

演算法例項:

回歸是用於估計兩種變數之間關係的統計過程。當用於分析因變數和乙個 多個自變數之間的關係時,該演算法能提供很多建模和分析多個變數的技巧。具體一點說,回歸分析可以幫助我們理解當任意乙個自變數變化,另乙個自變數不變時,因變數變化的典型值。最常見的是,回歸分析能在給定自變數的條件下估計出因變數的條件期望。

演算法例項:

回歸演算法詳解:機器學習演算法之回歸演算法

人工神經網路是受生物神經網路啟發而構建的演算法模型。它是一種模式匹配,常被用於回歸和分類問題,但擁有龐大的子域,由數百種演算法和各類問題的變體組成。

人工神經網路(ann)提供了一種普遍而且實際的方法從樣例中學習值為實數、離散值或向量函式。人工神經網路由一系列簡單的單元相互連線構成,其中每個單元有一定數量的實值輸入,並產生單一的實值輸出。

演算法例項:

深度學習是人工神經網路的最新分支,它受益於當代硬體的快速發展。

眾多研究者目前的方向主要集中於構建更大、更複雜的神經網路,目前有許多方法正在聚焦半監督學習問題,其中用於訓練的大資料集只包含很少的標記。

演算法例項:

深度學習詳解:機器學習演算法之深度學習

支援向量機是一種監督式學習 (supervised learning)的方法,主要用在統計分類 (classification)問題和回歸分析 (regression)問題上。支援向量機屬於一般化線性分類器,也可以被認為是提克洛夫規範化(tikhonov regularization)方法的乙個特例。這族分類器的特點是他們能夠同時最小化經驗誤差與最大化幾何邊緣區,因此支援向量機也被稱為最大邊緣區分類器。現在多簡稱為svm。

給定一組訓練事例,其中每個事例都屬於兩個類別中的乙個,支援向量機(svm)訓練演算法可以在被輸入新的事例後將其分類到兩個類別中的乙個,使自身成為非概率二進位制線性分類器。

svm 模型將訓練事例表示為空間中的點,它們被對映到一幅圖中,由一條明確的、盡可能寬的間隔分開以區分兩個類別。

演算法詳解:機器學習演算法之支援向量機

所謂的降維就是指採用某種對映方法,將原高維空間中的資料點對映到低維度的空間中。降維的本質是學習乙個對映函式 f : x->y,其中x是原始資料點的表達,目前最多使用向量表達形式。 y是資料點對映後的低維向量表達,通常y的維度小於x的維度(當然提高維度也是可以的)。f可能是顯式的或隱式的、線性的或非線性的。

這一演算法可用於視覺化高維資料或簡化接下來可用於監督學習中的資料。許多這樣的方法可針對分類和回歸的使用進行調整。

演算法例項:

聚類演算法是指對一組目標進行分類,屬於同一組(亦即乙個類,cluster)的目標被劃分在一組中,與其他組目標相比,同一組目標更加彼此相似。

優點是讓資料變得有意義,缺點是結果難以解讀,針對不同的資料組,結果可能無用。

演算法例項:

聚類演算法詳解:機器學習演算法之聚類演算法

貝葉斯定理(英語:bayes' theorem)是概率論中的乙個定理,它跟隨機變數的條件概率以及邊緣概率分布有關。在有些關於概率的解說中,貝葉斯定理(貝葉斯更新)能夠告知我們如何利用新證據修改已有的看法。貝葉斯方法是指明確應用了貝葉斯定理來解決如分類和回歸等問題的方法。

演算法例項:

關聯規則學習方法能夠提取出對資料中的變數之間的關係的最佳解釋。比如說一家超市的銷售資料中存在規則 => ,那說明當一位客戶同時購買了洋蔥和土豆的時候,他很有可能還會購買漢堡肉。有點類似於聯想演算法。

演算法例項:

關聯規則學習演算法:關聯規則學習演算法

圖模型(graphicalmodels)在概率論與圖論之間建立起了聯姻關係。它提供了一種自然工具來處理應用數學與工程中的兩類問題——不確定性(uncertainty)和複雜性(complexity)問 題,特別是在機器學習演算法的分析與設計中扮演著重要角色。圖模型的基本理念是模組化的思想,複雜系統是通過組合簡單系統建構的。概率論提供了一種粘合劑使 系統的各個部分組合在一起,確保系統作為整體的持續一致性,提供了多種資料介面模型方法。

圖模型或概率圖模型(pgm/probabilistic graphical model)是一種概率模型,乙個圖(graph)可以通過其表示隨機變數之間的條件依賴結構(conditional dependence structure)。

演算法例項:

圖模型詳解:機器學習演算法之圖模型

參考:機器學習10大演算法

機器學習斯坦福公開課

深度學習

演算法http

blog

神經網路

機器學習 十六 機器學習演算法總結(1)

監督學習 knn演算法計算測試樣本與訓練集的各樣本的距離,按從小到大取前k個距離排序,然後選擇這k個最相似資料中出現次數最多的分類作為新資料的分類。樸素貝葉斯實現的是概率量化計算的模型,它的解釋是通過對樣本的統計,然後算出某件事a發生的概率和某件事b發生的概率之間的量化關係。決策樹實現的是通過選擇合...

機器學習演算法總結(二)

svm上 這個演算法應該是機器學習這門課裡最重要的部分了。首先是svm的思想 找到超平面,將兩類中距離最近的點分的越開越好 直至二者相等 然後是函式間隔和幾何間隔的定義,二者之間的區別。接著是超平面模型的建立,看看它是如何將問題轉化為凸優化問題的。svm第乙個難點 拉格朗日對偶。由kkt條件可知,起...

機器學習 高階演算法課程學習總結

作為乙個機器學習方面的小白,在閔老師課上學的兩個聚類演算法,即經典的k means聚類和基於隨機遊走的聚類演算法,是我學習到的頭兩個與機器學習相關的演算法。演算法課上,閔老師先講了簡單但是經典的k means聚類演算法,讓我們對聚類演算法有了乙個初步的理解,緊接著又花了大量的時間剖析了基於隨機遊走的...