<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                # 機器學習算法迷你課程 > 原文: [https://machinelearningmastery.com/machine-learning-algorithms-mini-course/](https://machinelearningmastery.com/machine-learning-algorithms-mini-course/) 機器學習算法是機器學習的重要組成部分。 您必須了解他們如何努力在該領域取得任何進展。 在這篇文章中,您將發現一個14部分的機器學習算法迷你課程,您可以遵循該課程以最終理解機器學習算法。 我們將在本課程中介紹很多內容,您將度過一段美好的時光。讓我們開始吧。 ![Machine Learning Algorithms Mini-Course](img/0bdf58a585ba4b46d0ce9e3e008db60a.jpg) 機器學習算法迷你課程 攝影: [Jared Tarbell](https://www.flickr.com/photos/generated/3881682653/) ,保留一些權利。 ## 這門課程是誰? 在我們開始之前,讓我們確保您在正確的位置。 * 本課程適合初學者對機器學習算法的好奇心。 * 本課程不假設您知道如何編寫代碼。 * 本課程不假設數學背景。 * 本課程不假設機器學習理論的背景。 這個迷你課程將帶您參考基礎的機器學習算法和10種頂級技術。 我們將訪問每個算法,讓您了解它是如何工作的,但不要過于深入地保持移動。 ## 迷你課程概述 讓我們來看看我們將在接下來的14節課中介紹的內容。 您可能需要一次又一次地回到此帖子,因此您可能想要將其加入書簽。 這個迷你課程分為四個部分:算法基礎,線性算法,非線性算法和集合算法。 ### 算法基礎 * **第1課**:如何在機器學習中談論數據 * **第2課**:支持所有算法的原則 * **第3課**:參數和非參數算法 * **第4課**:偏見,差異和權衡 ### 線性算法 * **第5課**:線性回歸 * **第6課**:Logistic回歸 * **第7課**:線性判別分析 ### 非線性算法 * **第8課**:分類和回歸樹 * **第9課**:樸素貝葉斯 * **第10課**:k-最近鄰居 * **第11課**:學習向量量化 * **第12課**:支持向量機 ### 集合算法 * **第13課**:套袋和隨機森林 * **第14課**:提升和AdaBoost ## 獲取免費算法思維導圖 ![Machine Learning Algorithms Mind Map](img/2ce1275c2a1cac30a9f4eea6edd42d61.jpg) 方便的機器學習算法思維導圖的樣本。 我已經創建了一個由類型組織的60多種算法的方便思維導圖。 下載,打印并使用它。 ## 第1課:如何在機器學習中討論數據 數據在機器學習中起著重要作用。 在談論數據時,理解并使用正確的術語非常重要。 您如何看待數據?想想電子表格。您有列,行和單元格。 機器學習的統計視角在機器學習算法旨在學習的假設函數(f)的上下文中構建數據。給定一些輸入變量(輸入),該函數回答關于預測輸出變量(輸出)的問題。 輸出= f(輸入) 輸入和輸出可以稱為變量或向量。 計算機科學觀點使用一行數據來描述實體(如人)或關于實體的觀察。因此,行的列通常稱為觀察的屬性,行本身稱為實例。 ## 第2課:支持所有算法的原則 有一個共同的原則是所有監督機器學習算法的基礎,用于預測建模。 機器學習算法被描述為學習目標函數(f),其最佳地將輸入變量(X)映射到輸出變量(Y)。 Y = f(X) 這是一個通用的學習任務,我們希望在未來(Y)中給出預測輸入變量(X)的新例子。我們不知道函數(f)的外觀或形式。如果我們這樣做,我們將直接使用它,我們不需要使用機器學習算法從數據中學習它。 最常見的機器學習類型是學習映射Y = f(X)來預測新X的Y.這稱為預測建模或預測分析,我們的目標是使最準確的預測成為可能。 ## 第3課:參數和非參數算法 什么是參數化機器學習算法?它與非參數機器學習算法有什么不同? 假設可以大大簡化學習過程,但也可以限制可以學習的內容。將函數簡化為已知形式的算法稱為參數機器學習算法。 算法包括兩個步驟: 1. 選擇功能的表單。 2. 從訓練數據中學習函數的系數。 參數機器學習算法的一些示例是線性回歸和邏輯回歸。 不對映射函數的形式做出強有力假設的算法稱為非參數機器學習算法。通過不做出假設,他們可以自由地從訓練數據中學習任何功能形式。 非參數方法通常更靈活,實現更高的準確性,但需要更多的數據和訓練時間。 非參數算法的示例包括支持向量機,神經網絡和決策樹。 ## 第4課:偏見,差異和權衡 通過偏差 - 方差權衡的鏡頭可以最好地理解機器學習算法。 偏差是模型所做的簡化假設,使目標函數更容易學習。 通常,參數算法具有較高的偏差,使得它們學習起來快速且易于理解,但通常不太靈活。反過來,它們對復雜問題的預測表現較低,而這些復雜問題無法滿足算法偏差的簡化假設。 決策樹是低偏差算法的示例,而線性回歸是高偏差算法的示例。 方差是如果使用不同的訓練數據,目標函數的估計將改變的量。目標函數是通過機器學習算法從訓練數據估計的,因此我們應該期望算法具有一些方差,而不是零方差。 k-Nearest Neighbors算法是高方差算法的一個例子,而線性判別分析是低方差算法的一個例子。 任何預測建模機器學習算法的目標是實現低偏差和低方差。反過來,該算法應該實現良好的預測表現。機器學習算法的參數化通常是平衡偏差和方差的斗爭。 * 增加偏差會減少差異。 * 增加方差將減少偏差。 ## 第5課:線性回歸算法 線性回歸可能是統計學和機器學習中最知名且易于理解的算法之一。 這不是一項統計技術嗎? 預測建模主要關注最小化模型的誤差或使可能性最準確的預測,但代價是可解釋性。我們將借用,重用和竊取來自許多不同領域的算法,包括統計數據并將其用于這些目的。 線性回歸的表示是通過找到稱為系數(B)的輸入變量的特定權重來描述最符合輸入變量(x)和輸出變量(y)之間關系的線的等式。 例如: y = B0 + B1 * x 我們將在給定輸入x的情況下預測y,并且線性回歸學習算法的目標是找到系數B0和B1的值。 可以使用不同的技術從數據中學習線性回歸模型,例如用于普通最小二乘和梯度下降優化的線性代數解。 線性回歸已經存在了200多年,并且已經被廣泛研究。使用此技術時,一些好的經驗法則是刪除非常相似(相關)的變量,并盡可能消除數據中的噪音。 這是一種快速而簡單的技術和良好的第一種算法。 ## 第6課:Logistic回歸算法 邏輯回歸是統計領域機器學習所借用的另一種技術。它是二元分類問題的首選方法(具有兩個類值的問題)。 邏輯回歸就像線性回歸一樣,目標是找到加權每個輸入變量的系數的值。 與線性回歸不同,使用稱為邏輯函數的非線性函數來轉換輸出的預測。 邏輯函數看起來像一個大S,并將任何值轉換為0到1的范圍。這很有用,因為我們可以將一個規則應用于邏輯函數的輸出,以將值捕捉到0和1(例如IF小于0.5然后輸出1)并預測一個類值。 由于學習模型的方式,邏輯回歸所做的預測也可以用作屬于0級或1級的給定數據實例的概率。這對于需要給出更多理由的問題非常有用。一個預測。 與線性回歸一樣,當您刪除與輸出變量無關的屬性以及彼此非常相似(相關)的屬性時,邏輯回歸確實更有效。 這是一個學習二元分類問題的快速模型。 ## 第7課:線性判別分析算法 邏輯回歸是一種傳統上僅限于兩類分類問題的分類算法。如果您有兩個以上的類,則線性判別分析算法是首選的線性分類技術。 LDA的代表非常簡單。它包含數據的統計屬性,為每個類計算。對于單個輸入變量,這包括: 1. 每個班級的平均值。 2. 在所有類別中計算的方差。 通過計算每個類的判別值并對具有最大值的類進行預測來進行預測。 該技術假設數據具有高斯分布(鐘形曲線),因此最好事先從數據中刪除異常值。 它是分類預測建模問題的一種簡單而強大的方法。 ## 第8課:分類和回歸樹 決策樹是用于預測建模機器學習的重要算法類型。 決策樹模型的表示是二叉樹。這是來自算法和數據結構的二叉樹,沒什么太花哨的。每個節點表示單個輸入變量(x)和該變量上的分割點(假設變量是數字)。 樹的葉節點包含用于進行預測的輸出變量(y)。通過遍歷樹的分裂直到到達葉節點并在該葉節點處輸出類值來進行預測。 樹木學習速度快,預測速度非常快。它們通常也可以解決各種問題,并且不需要對數據進行任何特殊準備。 決策樹具有很大的方差,并且在集合中使用時可以產生更準確的預測,我們將在第13課和第14課中討論這個主題。 ## 第9課:樸素貝葉斯算法 Naive Bayes是一種簡單但令人驚訝的強大的預測建模算法。 該模型由兩種類型的概率組成,可以直接從您的訓練數據中計算出來: 1. 每個班級的概率。 2. 給出每個x值的每個類的條件概率。 一旦計算,概率模型可用于使用貝葉斯定理對新數據進行預測。 當您的數據是實值時,通常假設高斯分布(鐘形曲線),以便您可以輕松估計這些概率。 樸素貝葉斯被稱為樸素,因為它假設每個輸入變量是獨立的。這是一個強有力的假設,對于實際數據是不現實的,然而,該技術對于大范圍的復雜問題非常有效。 ## 第10課:K-Nearest Neighbors算法 KNN算法非常簡單且非常有效。 KNN的模型表示是整個訓練數據集。簡單吧? 通過搜索K個最相似的實例(鄰居)的整個訓練集并總結那些K個實例的輸出變量,對新數據點進行預測。對于回歸,這可能是平均輸出變量,在分類中,這可能是模式(或最常見)類值。 訣竅在于如何確定數據實例之間的相似性。如果您的屬性具有相同的比例(例如,以英寸為單位),則最簡單的技術是使用歐幾里德距離,您可以根據每個輸入變量之間的差異直接計算該數字。 KNN可能需要大量內存或空間來存儲所有數據,但僅在需要預測時才進行計算(或學習),及時。您還可以隨著時間的推移更新和策劃您的訓練實例,以保持預測準確。 距離或接近度的概念可以在非常高的維度(許多輸入變量)中分解,這會對算法在您的問題上的表現產生負面影響。這被稱為維度的詛咒。它建議您僅使用與預測輸出變量最相關的輸入變量。 ## 第11課:學習向量量化 K-Nearest Neighbors的缺點是你需要堅持整個訓練數據集。 學習向量量化算法(或簡稱LVQ)是一種人工神經網絡算法,允許您選擇要掛起的訓練實例數量,并準確了解這些實例應該是什么樣子。 LVQ的表示是碼本向量的集合。這些是在開始時隨機選擇的,并且適于在學習算法的多次迭代中最佳地總結訓練數據集。 在學習之后,可以使用碼本向量來進行與K-Nearest Neighbors類似的預測。通過計算每個碼本向量和新數據實例之間的距離來找到最相似的鄰居(最佳匹配碼本向量)。然后返回最佳匹配單元的類值或(回歸情況下的實際值)作為預測。 如果將數據重新縮放到相同范圍(例如0到1之間),則可獲得最佳結果。 如果您發現KNN在您的數據集上提供了良好的結果,請嘗試使用LVQ來降低存儲整個訓練數據集的內存要求。 ## 第12課:支持向量機 支持向量機可能是最流行和最受關注的機器學習算法之一。 超平面是分割輸入變量空間的線。在SVM中,選擇超平面以最好地將輸入變量空間中的點與其類(0級或1級)分開。 在二維中,您可以將其可視化為一條線,并假設我們的所有輸入點都可以被此線完全分開。 SVM學習算法找到導致超平面最好地分離類的系數。 超平面與最近數據點之間的距離稱為邊距。可以將兩個類分開的最佳或最佳超平面是作為最大邊距的線。 只有這些點與定義超平面和分類器的構造有關。 這些點稱為支持向量。它們支持或定義超平面。 實際上,優化算法用于找到使裕度最大化的系數的值。 SVM可能是最強大的開箱即用分類器之一,值得嘗試使用您的數據集。 ## 第13課:套袋和隨機森林 隨機森林是最流行和最強大的機器學習算法之一。它是一種稱為Bootstrap Aggregation或bagging的集成機器學習算法。 引導程序是一種用于從數據樣本中估計數量的強大統計方法。比如一個意思。您可以獲取大量的數據樣本,計算平均值,然后平均所有平均值,以便更好地估計真實平均值。 在裝袋中,使用相同的方法,但是用于估計整個統計模型,最常見的是決策樹。 獲取訓練數據的多個樣本,然后為每個數據樣本構建模型。當您需要對新數據進行預測時,每個模型都會進行預測,并對預測進行平均以更好地估計真實輸出值。 隨機森林是對這種方法的一種調整,其中創建決策樹,使得不是選擇最佳分裂點,而是通過引入隨機性來進行次優分割。 因此,為每個數據樣本創建的模型與其他情況相比更加不同,但仍然以其獨特和不同的方式準確。結合他們的預測可以更好地估計真實的基礎產值。 如果使用具有高方差的算法(如決策樹)獲得良好的結果,通常可以通過裝袋算法獲得更好的結果。 ## 第14課:提升和AdaBoost Boosting是一種集合技術,試圖從許多弱分類器中創建一個強分類器。 這是通過從訓練數據構建模型,然后創建第二個模型來嘗試從第一個模型中糾正錯誤來完成的。添加模型直到完美預測訓練集或添加最大數量的模型。 AdaBoost是第一個為二元分類開發的真正成功的增強算法。這是理解助力的最佳起點。現代助推方法建立在AdaBoost上,最著名的是隨機梯度增強機。 AdaBoost用于短決策樹。在創建第一個樹之后,每個訓練實例上的樹的表現用于加權創建的下一個樹應該關注每個訓練實例的注意力。難以預測的訓練數據被賦予更多權重,而易于預測的實例被賦予更少的權重。 模型一個接一個地順序創建,每個模型更新訓練實例上的權重,這些權重影響序列中下一個樹所執行的學習。 構建完所有樹之后,將對新數據進行預測,并根據訓練數據的準確性對每棵樹的表現進行加權。 因為通過算法如此關注糾正錯誤,所以必須刪除帶有異常值的干凈數據。 ## 迷你課程評論 你做到了。做得好!花點時間回顧一下你走了多遠: * 您發現了如何在機器學習中討論數據以及所有預測建模算法的基本原理。 * 您發現了參數和非參數算法之間的差異以及偏差和方差引入的誤差之間的差異。 * 您發現了三種線性機器學習算法:線性回歸,Logistic回歸和線性判別分析。 * 你被介紹了5種非線性算法:分類和回歸樹,樸素貝葉斯,K-最近鄰,學習向量量化和支持向量機。 * 最后,您發現了兩種最流行的集成算法:使用決策樹進行裝袋和使用AdaBoost進行提升。 不要輕視這一點,你在很短的時間內走了很長的路。這只是機器學習算法之旅的開始。繼續練習和發展你的技能。 你喜歡這個迷你課嗎? 您有任何問題或疑點嗎? 發表評論并告訴我。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看