人工智能十大流行算法

導讀:本文為有志于成為數據科學家或對此感興趣的讀者們介紹最流行的機器學習算法。

作者:Fahim ul Haq

譯者:劉志勇,策劃:趙鈺瑩

來源:InfoQ(ID:infoqchina)

機器學習是該行業的一個創新且重要的領域。我們為機器學習程序選擇的算法類型,取決于我們想要實現的目標。

現在,機器學習有很多算法。因此,如此多的算法,可能對于初學者來說,是相當不堪重負的。今天,我們將簡要介紹 10 種最流行的機器學習算法,這樣你就可以適應這個激動人心的機器學習世界了!

讓我們言歸正傳!

01 線性回歸

線性回歸(Linear Regression)可能是最流行的機器學習算法。線性回歸就是要找一條直線,并且讓這條直線盡可能地擬合散點圖中的數據點。它試圖通過將直線方程與該數據擬合來表示自變量(x 值)和數值結果(y 值)。然后就可以用這條線來預測未來的值!

這種算法最常用的技術是最小二乘法(Least of squares)。這個方法計算出最佳擬合線,以使得與直線上每個數據點的垂直距離最小。總距離是所有數據點的垂直距離(綠線)的平方和。其思想是通過最小化這個平方誤差或距離來擬合模型。

例如,簡單線性回歸,它有一個自變量(x 軸)和一個因變量(y 軸)。

02 邏輯回歸

邏輯回歸(Logistic regression)與線性回歸類似,但它是用于輸出為二進制的情況(即,當結果只能有兩個可能的值)。對最終輸出的預測是一個非線性的 S 型函數,稱為 logistic function, g()。

這個邏輯函數將中間結果值映射到結果變量 Y,其值范圍從 0 到 1。然后,這些值可以解釋為 Y 出現的概率。S 型邏輯函數的性質使得邏輯回歸更適合用于分類任務。

邏輯回歸曲線圖,顯示了通過考試的概率與學習時間的關系。

03 決策樹

決策樹(Decision Trees)可用于回歸和分類任務。

在這一算法中,訓練模型通過學習樹表示(Tree representation)的決策規則來學習預測目標變量的值。樹是由具有相應屬性的節點組成的。

在每個節點上,我們根據可用的特征詢問有關數據的問題。左右分支代表可能的答案。最終節點(即葉節點)對應于一個預測值。

每個特征的重要性是通過自頂向下方法確定的。節點越高,其屬性就越重要。

決定是否在餐廳等候的決策樹示例。

04 樸素貝葉斯

樸素貝葉斯(Naive Bayes)是基于貝葉斯定理。它測量每個類的概率,每個類的條件概率給出 x 的值。這個算法用于分類問題,得到一個二進制“是 / 非”的結果。看看下面的方程式。

樸素貝葉斯分類器是一種流行的統計技術,可用于過濾垃圾郵件!

05 支持向量機(SVM)

支持向量機(Support Vector Machine,SVM)是一種用于分類問題的監督算法。支持向量機試圖在數據點之間繪制兩條線,它們之間的邊距最大。為此,我們將數據項繪制為 n 維空間中的點,其中,n 是輸入特征的數量。在此基礎上,支持向量機找到一個最優邊界,稱為超平面(Hyperplane),它通過類標簽將可能的輸出進行最佳分離。

超平面與最近的類點之間的距離稱為邊距。最優超平面具有最大的邊界,可以對點進行分類,從而使最近的數據點與這兩個類之間的距離最大化。

例如,H1 沒有將這兩個類分開。但 H2 有,不過只有很小的邊距。而 H3 以最大的邊距將它們分開了。

06 K- 最近鄰算法(KNN)

K- 最近鄰算法(K-Nearest Neighbors,KNN)非常簡單。KNN 通過在整個訓練集中搜索 K 個最相似的實例,即 K 個鄰居,并為所有這些 K 個實例分配一個公共輸出變量,來對對象進行分類。

K 的選擇很關鍵:較小的值可能會得到大量的噪聲和不準確的結果,而較大的值是不可行的。它最常用于分類,但也適用于回歸問題。

用于評估實例之間相似性的距離可以是歐幾里得距離(Euclidean distance)、曼哈頓距離(Manhattan distance)或明氏距離(Minkowski distance)。歐幾里得距離是兩點之間的普通直線距離。它實際上是點坐標之差平方和的平方根。

▲KNN 分類示例

07 K- 均值

K- 均值(K-means)是通過對數據集進行分類來聚類的。例如,這個算法可用于根據購買歷史將用戶分組。它在數據集中找到 K 個聚類。K- 均值用于無監督學習,因此,我們只需使用訓練數據 X,以及我們想要識別的聚類數量 K。

該算法根據每個數據點的特征,將每個數據點迭代地分配給 K 個組中的一個組。它為每個 K- 聚類(稱為質心)選擇 K 個點。基于相似度,將新的數據點添加到具有最近質心的聚類中。這個過程一直持續到質心停止變化為止。

08 隨機森林

隨機森林(Random Forest)是一種非常流行的集成機器學習算法。這個算法的基本思想是,許多人的意見要比個人的意見更準確。在隨機森林中,我們使用決策樹集成(參見決策樹)。

為了對新對象進行分類,我們從每個決策樹中進行投票,并結合結果,然后根據多數投票做出最終決定。

  1. 在訓練過程中,每個決策樹都是基于訓練集的引導樣本來構建的。

  2. 在分類過程中,輸入實例的決定是根據多數投票做出的。

09 降維

由于我們今天能夠捕獲的數據量之大,機器學習問題變得更加復雜。這就意味著訓練極其緩慢,而且很難找到一個好的解決方案。這一問題,通常被稱為“維數災難”(Curse of dimensionality)。

降維(Dimensionality reduction)試圖在不丟失最重要信息的情況下,通過將特定的特征組合成更高層次的特征來解決這個問題。主成分分析(Principal Component Analysis,PCA)是最流行的降維技術。

主成分分析通過將數據集壓縮到低維線或超平面 / 子空間來降低數據集的維數。這盡可能地保留了原始數據的顯著特征。

可以通過將所有數據點近似到一條直線來實現降維的示例。

10 人工神經網絡(ANN)

人工神經網絡(Artificial Neural Networks,ANN)可以處理大型復雜的機器學習任務。神經網絡本質上是一組帶有權值的邊和節點組成的相互連接的層,稱為神經元。在輸入層和輸出層之間,我們可以插入多個隱藏層。人工神經網絡使用了兩個隱藏層。除此之外,還需要處理深度學習。

人工神經網絡的工作原理與大腦的結構類似。一組神經元被賦予一個隨機權重,以確定神經元如何處理輸入數據。通過對輸入數據訓練神經網絡來學習輸入和輸出之間的關系。在訓練階段,系統可以訪問正確的答案。

如果網絡不能準確識別輸入,系統就會調整權重。經過充分的訓練后,它將始終如一地識別出正確的模式。

每個圓形節點表示一個人工神經元,箭頭表示從一個人工神經元的輸出到另一個人工神經元的輸入的連接。

接下來是什么?現在,你已經了解了最流行的機器學習算法的基礎介紹。你已經準備好學習更為復雜的概念,甚至可以通過深入的動手實踐來實現它們。如果你想了解如何實現這些算法,可以參考 Educative 出品的 Grokking Data Science 課程,該課程將這些激動人心的理論應用于清晰、真實的應用程序。

祝你學習愉快!

作者介紹:

Fahim ul Haq,曾在 Facebook、Microsoft 工作。Educative.io 聯合創始人。Educative 旨在幫助學生使用交互式課程來學習編程知識。

原文鏈接:

https://towardsdatascience.com/the-top-10-ml-algorithms-for-data-science-in-5-minutes-4ffbed9c8672

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/284442.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/284442.shtml
英文地址,請注明出處:http://en.pswp.cn/news/284442.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Win7+Win10雙系統安裝全攻略

安裝雙系統,不僅能給你非凡的體驗,還可以滿足工作中因系統版本,兼容性,處理器等原因帶來的不便。本文講解Win7+Win10雙系統安裝全攻略,親測可用。 1. 硬盤分區 本文講解利用固態硬盤+機械硬盤的分區方式。 固態硬盤:為了絕對提高系統運行的速度,將固態硬盤作為雙系統的…

[矩形并-掃描線-線段樹]Picture

最近在補數學和幾何&#xff0c;沒啥好寫的&#xff0c;因為已經決定每天至少寫一篇了&#xff0c;今天隨便拿個題水水。 題目大意&#xff1a;給你N個邊平行于坐標軸的矩形&#xff0c;求它們并的周長。(N<5000) 思路&#xff1a;這個數據范圍瞎暴力就過了&#xff0c;但我…

聊聊研發團隊中的“人”

大家好&#xff0c;我是Z哥。漢字博大精深&#xff0c;很多時候我們可以通過拆字來更形象地理解一個詞的含義。比如“團隊”這個詞的兩個字"團"和“隊”單獨看也都是表示一種由多人組成的組織。再做一下拆字就是“口”“才”和“耳”“人”。前者表示一個人才如果沒有…

[轉]【分布式系統】唯一ID生成策略總結

文章目錄 全局唯一id介紹 全局唯一id特點:常見全局唯一id生成策略 1、數據庫自增長序列或字段生成id 2、UUID 3、Redis生成ID 4、zookeeper生成ID 5、Twitter的snowflake算法全局唯一id介紹 系統唯一id是我們在設計階段常常遇到的問題。在復雜的分布式系統中&#…

shell在一個大文件找出想要的一段字符串操作技巧

昨天端午&#xff0c;晚上的時候接了一個電話&#xff0c;我朋友的公司&#xff0c;數據庫被兩個工作沒多久的phper給弄壞了&#xff0c;具體就是把一個字段值&#xff0c;給全表弄成一個了名字了&#xff0c;當然這個是可以配置了禁止全表更新數據庫,這下可急壞了&#xff0c;…

CentOS7安裝EPEL源

CentOS7安裝EPEL [lijiayuncentos-*** ~]$ yum install epel-release已加載插件&#xff1a;fastestmirror, langpacks您需要 root 權限執行此命令。[lijiayuncentos-*** ~]$ su密碼&#xff1a;[rootcentos-*** lijiayun]# yum install epel-release已加載插件&#xff1a;fas…

超全的開源Winform UI庫,滿足你的一切桌面開發需求!

本文有dotnet9站長整理 網址&#xff1a;https://dotnet9.com/本站曾介紹過一款Winform開源控件庫HZHControls&#xff0c;Winform在大家心中的地位還是挺高的&#xff0c;今天小編再分享一款新鮮出爐的 Winform UI庫——SunnyUI&#xff0c;一起跟 Dotnet9 往下看吧。項目名稱…

告別國外 IDE,阿里 螞蟻自研 IDE 研發框架 OpenSumi 正式開源

經歷近 3 年時間&#xff0c;在阿里集團及螞蟻集團共建小組的努力下&#xff0c;OpenSumi 作為國內首個強定制性、高性能&#xff0c;兼容 VS Code 插件體系的 IDE 研發框架&#xff0c;今天正式對外開源。 一 OpenSumi 是什么&#xff1f; OpenSumi 是一款面向垂直領域&#…

window-memcache技術隨筆

memcached.exe軟件放置到非中文,非空格的目錄,把MSVCR71.DLL文件放在memcached.exe同目錄下啟動,控制面板中打開window功能-Telnet客戶端memcache服務方法一:管理員身份打開黑窗口 d:(mem的所在盤)cd memmemcached.exe -p 11211方法二: 安裝為Windows的系統服務memcached.exe -…

將不確定變為確定~老趙寫的CodeTimer是代碼性能測試的利器

首先&#xff0c;非常感謝趙老大的CodeTimer&#xff0c;它讓我們更好的了解到代碼執行的性能&#xff0c;從而可以讓我們從性能的角度來考慮問題&#xff0c;有些東西可能我們認為是這樣的&#xff0c;但經理測試并非如何&#xff0c;這正應了我之前的那名話&#xff1a;“機器…

聊聊 C++ 中的幾種智能指針(下)

一&#xff1a;背景 上一篇我們聊到了C 的 auto_ptr &#xff0c;有朋友說已經在 C 17 中被棄用了&#xff0c;感謝朋友提醒&#xff0c;今天我們來聊一下 C 11 中引入的幾個智能指針。unique_ptrshared_ptrweak_ptr看看它們都怎么玩。二&#xff1a;三大智能指針詳解 1. uniq…

iOS回顧筆記( 02 ) -- 由九宮格布局引發的一系列“慘案”

iOS回顧筆記&#xff08; 02 &#xff09; -- 由九宮格布局引發的一系列“慘案” 前言&#xff08;扯幾句淡先&#xff09; 回顧到學習UI過程中的九宮格布局時&#xff0c;發現當時學的東西真是不少。 這個階段最大的特點就是&#xff1a;知識點繁多且瑣碎。 我們的目標就是要將…

【GlobalMapper精品教程】007:如何加載谷歌衛星影像?

“Global Mapper支持所有OGC標準數據源類型,例如用于流式柵格地圖的WMS / WMTS,用于矢量數據集的WFS和用于為指定區域下載單個數據文件的WCS。預先切片的圖像和地形數據集也可以使用OSM(OpenStreetMaps)、TMS(Tiled Map Service)和Google Maps瓦片架構支持。您只需要選擇適當…

LVS/keepalived配置

LVS/DR keepalived配置注意&#xff1a;前面雖然我們已經配置過一些操作&#xff0c;但是下面我們使用keepaliave操作和之前的操作是有些沖突的&#xff0c;所以若是之前配置過DR&#xff0c;請首先做如下操作&#xff1a;dr上執行&#xff1a;$ipv -Cifconfig eth0:0 down前…

Mysql清空表(truncate)與刪除表中數據(delete)的區別

2019獨角獸企業重金招聘Python工程師標準>>> 為某基于wordpress搭建的博客長久未除草&#xff0c;某天升級的時候發現已經被插入了幾萬條垃圾留言&#xff0c;如果一條條刪除那可真是累人的活。遂考慮直接進入mysql直接清空表或者刪除表中數據。 本文記錄一下這2種操…

[轉]云原生到底是什么?

&#x1f4cb; 個人簡介 &#x1f496; 作者簡介&#xff1a;大家好&#xff0c;我是阿牛&#x1f61c; &#x1f4dd; 個人主頁&#xff1a;館主阿牛&#x1f525; &#x1f389; 支持我&#xff1a;點贊&#x1f44d;收藏??留言&#x1f4dd; &#x1f4ac;格言&#xf…

【GlobalMapper精品教程】008:如何根據指定區域(shp、kml、cad)下載衛星影像?

本文講解在Globalmapper中根據指定的范圍(shp、kml、cad等格式)進行在線衛星影像的下載方法。 文章目錄 一、根據shp范圍下載谷歌影像1. 加載谷歌影像2. 加載shp矢量范圍3. 根據范圍導出影像二、根據kml范圍下載谷歌影像1. 生成研究區范圍kml2. 根據kml范圍下載影像三、根據CAD…

膛目結舌的代碼技巧!一看就是冷暴力~~~~

你見過哪些令你膛目結舌的代碼技巧&#xff1f; 代碼世界有很多令人大呼小叫的技巧&#xff01;有的代碼像魔術師一樣巧妙地隱藏了自己&#xff0c;有的像魔法師一樣讓你眼花繚亂&#xff0c;還有的像瑜伽大師一樣靈活自如。它們讓我們驚嘆不已&#xff0c;讓我們覺得自己仿佛置…

聯合線程

聯合線程實際上就是把多線程又聯合成了一個線程&#xff0c;但這里還是要比單線程靈活很多&#xff0c;比如說&#xff0c;我可以讓一個線程到運行到某一個條件再聯合其他線程。當前線程與其他線程聯合在一起&#xff0c;又一種讓出cpu&#xff0c;而且直到別個線程運行完&…

Kafka學習征途:不再依賴ZK的KRaft

【Kafka】| 總結/Edison Zhou1新的KRaft架構在Kafka 2.8之前&#xff0c;Kafka重度依賴于Zookeeper集群做元數據管理和集群的高可用&#xff08;即所謂的共識服務&#xff09;。在Kafka 2.8之后&#xff0c;引入了基于Raft協議的KRaft模式&#xff0c;支持取消對Zookeeper的依賴…