国产精一区二区_午夜视频99_免费白白视频_中文字幕一区免费

熱門文章> 人工智能機器的十大算法 >

人工智能機器的十大算法

36氪企服點評小編
2021-09-17 18:31
2522次閱讀

      最常見的機器學習類型是找到最佳映射Y=f(X),并預測新X對應的Y值。這個過程被稱為預測建模或預測分析,目標是盡可能做出最準確的預測。對于渴望理解機器學習基本概念的程序員來說,我們專門整理了數據科學家最常用的十種機器學習算法,方便大家快速上手。下面就由小編為您介紹的人工智能機器的十大算法。

人工智能機器的十大算法人工智能機器的十大算法

1- 線性回歸

     線性回歸可能是統計學和機器學習中最為知名、最易于理解的一個算法。

     預測建模主要關注的是如何最小化模型的誤差,或是如何在一個可解釋性代價的基礎上做出最為準確的預測。我們將借用、重用和竊取包括統計學在內的多個不同領域的算法,并將其用于這些目的。

     線性回歸所表示的是描述一條直線的方程,通過輸入變量的特定權重系數(B)來找出輸入變量(x)和輸出變量(y)之間最適合的映射關系。

線性回歸

    例如:y = B0 + B1 * x

     給定輸入x,我們可以預測出y的值。線性回歸學習算法的目標是找到系數B0和B1的值。

    找出數據的線性回歸模型有多種不同的技巧,例如將線性代數解用于普通最小二乘法和梯度下降優化問題。

     線性回歸業已存在200多年,并已被廣泛研究過。使用該算法的一些竅門,是盡可能地去除非常相似的相關變量以及數據中的噪聲。這是一個快速、簡單而又好用的算法。

2 - 邏輯回歸

     邏輯回歸是機器學習借自統計領域的另一項技術,用于解決二元分類問題(有兩個類值的問題)。

     邏輯回歸就像線性回歸,因為它的目標是找出每個輸入變量的加權系數值。與線性回歸不同的是,邏輯回歸預測輸出值的函數是非線性的,也被稱為邏輯函數。

      邏輯回歸的函數圖像看起來是一個大的S形,并將任何值轉換至0到1的區間。這種形式非常有用,因為我們可以用一個規則把邏輯函數的值轉化成0和1(例如,如果函數值小于0.5,則輸出1),從而預測類別。

邏輯回歸

      基于模型學習的方式,邏輯回歸的輸出值也可以用來預測給定數據實例屬于類別0和類別1的概率。當你的預測需要更多依據時,這一點會非常有用。

       跟線性回歸一樣,當你剔除與輸出變量無關或與之除非常相似(相關)的屬性后,邏輯回歸的效果會更好。對于二元分類問題,它是一個易于上手、快速而又有效的模型。

3 - 線性判別分析

      一般來說,邏輯回歸僅限于二元分類問題。 但如果分類類別超過兩個,線性判別分析就成為你首選的線性分類算法。

      線性判別分析的表達式非常簡單。 它由數據的統計屬性組成,并計算每個類別的屬性值。對于單個輸入變量,它包括:

    每個類別的平均值。

     所有類別的方差。

線性判別分析

      線性判別分析通過計算每個類別的差別值,并對擁有最大值的類別進行預測。 該方法假定數據服從高斯分布(鐘形曲線),因此預測前從數據中移除異常值會是一個很好的習慣。對于分類預測問題來說,它是一個簡單而又強大的方法。

4 - 分類和回歸樹

     決策樹是用于預測建模的一種重要機器學習算法。

     決策樹模型的表現形式為二叉樹,也就是來自算法和數據結構方面的二叉樹,沒有什么特別。樹上每個節點代表一個輸入變量(x)與一個基于該變量的分離點(假定這個變量是數字)。

決策樹

     葉節點包含了用于預測的輸出變量(y)。預測是通過遍歷樹的分離點開始,直到抵達每一個葉節點,并輸出該葉節點的分類值。

     決策樹算法學習起來很快,預測速度也很快。決策樹對于各種各樣的問題都能做出準確的預測,并且無需對數據做任何特殊的預處理。

5 - 樸素貝葉斯

      樸素貝葉斯是一種簡單而又強大的預測建模算法。

     該模型由兩種概率組成,它們都能從訓練數據中直接計算出來:1)每個類別的概率; 2)對于給定的x值,每個類別的條件概率。 一旦計算出來,概率模型就可以用于使用貝葉斯定理對新的數據進行預測。 當你的數據是實值時,通常會假定一個高斯分布(鐘形曲線),這樣你就很容易計算出這些數據的概率。

樸素貝葉斯

     樸素貝葉斯假定每個輸入變量都是獨立,所以被稱為“樸素的”。這是一個強假設,對真實數據而言有點不切實際,但該方法在大范圍的復雜問題上非常有效。

6 - K-最近鄰算法

     K-最近鄰算法是一種非常簡單和有效。它的模型所表示是整個訓練數據集,看上去很簡單,對吧?

      對于給定的訓練數據,通過搜索整個數據集中K個最相似的實例(鄰居),匯總這K個實例的輸出變量可以預測新的數據點。對于回歸問題,它可能是輸出變量的平均值;對于分類問題,它可能是模式(或最常見的)類別值。

      使用K-最近鄰算法的訣竅,是在于如何確定數據實例之間的相似性。最簡單的方法,如果你的屬性在歐幾里德距離上尺度相同(例如均以英寸為單位),那么基于每個輸入變量之間的差異,你就可以直接計算其數值來確定相似性。

      K-最近鄰算法可能需要大量的內存或存儲空間來儲存所有數據,但只有在預測時才會執行計算(或學習)。你也可以隨時更新和管理你的訓練實例,以保持預測的準確性。

      距離或緊密度的概念在非常高的維度(大量的輸入變量)中可能會失效,因為輸入變量的數量對于算法性能有著很大的負面影響。這就是維度災難。這就要求你只使用那些與預測輸出變量最相關的輸入變量。

7 - 學習向量量化

      K-最近鄰算法的一個缺點是你需要使用整個訓練數據集。而作為人工神經網絡,學習向量量化算法(簡稱LVQ)允許你選擇訓練實例的數量,并能準確地學習這些實例所應有的特征。

學習向量量化

       學習向量量化算法所表示的是碼本向量的集合。這些向量在初始化的時候隨機選擇出來,并在學習算法的多次迭代中優化成最能概括訓練數據集的集合。在學習完成后,碼本向量可以像K-最近鄰算法一樣進行預測。通過計算每個碼本向量和新數據實例之間的距離來找到最相似的鄰居(最佳匹配碼本向量),然后返回最佳匹配單元的類別值或(在回歸情況下的實際值)作為預測。如果能重新調整數據使其處于相同的區間(如0到1之間),則可以獲得最佳的預測結果。

     如果K-最近鄰算法在你的數據集上已經給出了很好的預測結果,那么可以嘗試用學習向量量化算法來減少整個訓練數據集的內存存儲需求。

8 - 支持向量機

     支持向量機可能是最受歡迎、討論最為廣泛的機器學習算法之一。

      超平面是輸入變量空間內的一條分割線。在支持向量機中,超平面可以通過類別(0類或1類)最佳分割輸入變量空間。在二維空間內,超平面可被視為一條線,我們假設所有的輸入點都可以被該線完全分開。支持向量機的目標是找到一個分離系數,讓一個超平面能夠對不同類別的數據進行最佳分割。

支持向量機

      超平面與最近的數據點之間的距離被稱為邊距。在分離兩個類上具有最大邊距的超平面被稱為最佳超平面。超平面的確定只跟這些點及分類器的構造有關。這些點被稱為支持向量,它們支持并定義超平面。在實踐中,可以使用優化算法來找到能夠最大化邊距的系數。

     支持向量機可能是最為強大的“開箱即用”分類器之一,值得你嘗試。

9 - bagging算法和隨機森林

     隨機森林是最流行、最強大的機器學習算法之一。它是一種被稱為Bootstrap Aggregation或Bagging的機器學習集成算法。

      Bootstrap是一種從數據樣本中估算數量的強大統計方法。換句話說,你需要抽取大量的數據樣本、計算平均值,然后再計算所有均值的平均,以便更好地估計整體樣本的真實平均值。

      bagging算法也使用相同的方式,但用于估計整個統計模型的最常見方法是決策樹。訓練數據中的多個樣本將被取樣,然后對每個數據樣本建模。對新數據進行預測時,每個模型都會進行預測,并對每個預測結果進行平均,以更好地估計真實的輸出值。

隨機森林

      隨機森林是對bagging算法的一種調整,它不是選擇最佳分割點來創建決策樹,而是通過引入隨機性來得到次優分割點。

    因此,針對每個數據樣本所創建的模型,會與其他方式有所不同,但仍能以其獨特和不同的方式準確預測。結合所有模型的預測,可以更好地估計潛在的真實輸出。

     如果用方差較高的算法(如決策樹)能夠獲得較好的結果,那么通過bagging算法通常可以獲得更好的結果。

10 - Boosting和AdaBoost算法

      Boosting是一項從多個弱分類器中構建強分類器的集成預測技術。它從訓練數據中構建模型,然后通過修正前一個模型的錯誤創造出第二個模型。

       以此類推,模型不斷疊加,直至能夠完美預測訓練數據集,或達到可添加的模型的數量上限。在針對二元分類所開發的boosting算法中,AdaBoost是第一個成功的。它是理解boosting算法的最佳起點。現代boosting方法基于AdaBoost而構建,最典型的例子是隨機梯度加速器。以上內容就是小編為您介紹的人工智能機器的十大算法。

[免責聲明]

文章標題: 人工智能機器的十大算法

文章內容為網站編輯整理發布,僅供學習與參考,不代表本網站贊同其觀點和對其真實性負責。如涉及作品內容、版權和其它問題,請及時溝通。發送郵件至36dianping@36kr.com,我們會在3個工作日內處理。

消息通知
咨詢入駐
商務合作