<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>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                # 機器學習的Logistic回歸教程 > 原文: [https://machinelearningmastery.com/logistic-regression-tutorial-for-machine-learning/](https://machinelearningmastery.com/logistic-regression-tutorial-for-machine-learning/) Logistic回歸是用于二元分類的最流行的機器學習算法之一。這是因為它是一種簡單的算法,可以很好地解決各種各樣的問題。 在這篇文章中,您將逐步發現二元分類的邏輯回歸算法。閱讀這篇文章后你會知道: * 如何計算物流函數。 * 如何使用隨機梯度下降來學習邏輯回歸模型的系數。 * 如何使用邏輯回歸模型進行預測。 這篇文章是為開發人員編寫的,不承擔統計或概率的背景。打開電子表格并按照說明進行操作。如果您對Logistic回歸有任何疑問,請在評論中提出,我會盡力回答。 讓我們開始吧。 **2016年11月更新**:修正了b0更新方程中的一個小錯字。 ![Logistic Regression Tutorial for Machine Learning](img/703ec066a22749619c753bfcc77f4213.jpg) 機器學習的Logistic回歸教程 照片由 [Brian Gratwicke](https://www.flickr.com/photos/briangratwicke/6118345858) 拍攝,保留一些權利。 ## 教程數據集 在本教程中,我們將使用一個人為的數據集。 該數據集有兩個輸入變量(X1和X2)和一個輸出變量(Y)。輸入變量是從高斯分布中提取的實值隨機數。輸出變量有兩個值,使問題成為二元分類問題。 原始數據如下所示。 ```py X1 X2 Y 2.7810836 2.550537003 0 1.465489372 2.362125076 0 3.396561688 4.400293529 0 1.38807019 1.850220317 0 3.06407232 3.005305973 0 7.627531214 2.759262235 1 5.332441248 2.088626775 1 6.922596716 1.77106367 1 8.675418651 -0.2420686549 1 7.673756466 3.508563011 1 ``` 下面是數據集的圖表。您可以看到它完全是人為的,我們可以輕松地繪制一條線來分隔類。 這正是我們要采用邏輯回歸模型的方法。 ![Logistic Regression Tutorial Dataset](img/1b9a5032b58df3ac16965ac5efe3582d.jpg) Logistic回歸教程數據集 ## 物流功能 在我們深入研究邏輯回歸之前,讓我們來看一下邏輯函數,它是邏輯回歸技術的核心。 邏輯函數定義為: 變換= 1 /(1 + e ^ -x) 其中e是數值常數Euler的數字,x是輸入,我們插入函數。 讓我們插入從-5到+5的一系列數字,看看邏輯函數如何轉換它們: ```py X Transformed -5 0.006692850924 -4 0.01798620996 -3 0.04742587318 -2 0.119202922 -1 0.2689414214 0 0.5 1 0.7310585786 2 0.880797078 3 0.9525741268 4 0.98201379 5 0.9933071491 ``` 您可以看到所有輸入都已轉換為范圍[0,1],并且最小的負數導致值接近零,而較大的正數導致值接近1。您還可以看到0轉換為0.5或新范圍的中點。 由此我們可以看出,只要我們的平均值為零,我們就可以將正值和負值插入到函數中,并始終對新范圍進行一致的轉換。 ![Logistic Function](img/b27eff2d941d0d8e50b42686be5aaca9.jpg) 物流功能 ## 獲取免費算法思維導圖 ![Machine Learning Algorithms Mind Map](img/2ce1275c2a1cac30a9f4eea6edd42d61.jpg) 方便的機器學習算法思維導圖的樣本。 我已經創建了一個由類型組織的60多種算法的方便思維導圖。 下載,打印并使用它。 ## Logistic回歸模型 邏輯回歸模型采用實值輸入并對輸入屬于默認類(類0)的概率進行預測。 如果概率&gt; 0.5我們可以將輸出作為默認類(類0)的預測,否則預測是針對另一個類(類1)。 對于此數據集,邏輯回歸有三個系數,就像線性回歸一樣,例如: output = b0 + b1 * x1 + b2 * x2 學習算法的工作是基于訓練數據發現系數(b0,b1和b2)的最佳值。 與線性回歸不同,使用邏輯函數將輸出轉換為概率: p(class = 0)= 1 /(1 + e ^( - 輸出)) 在您的電子表格中,這將寫為: p(class = 0)= 1 /(1 + EXP(-output)) ## 隨機梯度下降的Logistic回歸 我們可以使用隨機梯度下降來估計系數的值。 這是一個簡單的過程,可以被機器學習中的許多算法使用。它通過使用模型來計算訓練集中每個實例的預測并計算每個預測的誤差。 我們可以將隨機梯度下降應用于尋找邏輯回歸模型系數的問題如下: 給出每個訓練實例: 1. 使用系數的當前值計算預測。 2. 根據預測誤差計算新系數值。 重復該過程,直到模型足夠準確(例如,誤差下降到某個期望的水平)或者固定次數的迭代。您繼續更新訓練實例的模型并更正錯誤,直到模型足夠準確或者無法使其更準確。將示出的訓練實例的順序隨機化到模型中以混合所做的校正通常是個好主意。 通過更新每種訓練模式的模型,我們稱之為在線學習。還可以在所有訓練實例上收集模型的所有更改,并進行一次大型更新。這種變化稱為批量學習,如果您喜歡冒險,可能會對本教程做出很好的擴展。 ### 計算預測 讓我們從為每個系數分配0.0并計算屬于0級的第一個訓練實例的概率開始。 B0 = 0.0 B1 = 0.0 B2 = 0.0 第一個訓練實例是:x1 = 2.7810836,x2 = 2.550537003,Y = 0 使用上面的等式,我們可以插入所有這些數字并計算預測: 預測= 1 /(1 + e ^( - (b0 + b1 * x1 + b2 * x2))) 預測= 1 /(1 + e ^( - (0.0 + 0.0 * 2.7810836 + 0.0 * 2.550537003))) 預測= 0.5 ### 計算新系數 我們可以使用簡單的更新方程計算新的系數值。 b = b + alpha *(y - 預測)*預測*(1 - 預測)* x 其中b是我們正在更新的系數,預測是使用模型進行預測的輸出。 Alpha是您必須在訓練開始時指定的參數。這是學習率并控制系數(以及模型)每次更新時的變化或學習量。在線學習中使用較大的學習率(當我們更新每個訓練實例的模型時)。良好的值可能在0.1到0.3的范圍內。我們使用0.3的值。 您會注意到等式中的最后一項是x,這是系數的輸入值。您會注意到B0沒有輸入。該系數通常稱為偏差或截距,我們可以假設它的輸入值始終為1.0。當使用向量或數組實現算法時,此假設可能有所幫助。 讓我們使用前一節中的預測(0.5)和系數值(0.0)來更新系數。 b0 = b0 + 0.3 *(0-0.5)* 0.5 *(1-0.5)* 1.0 b1 = b1 + 0.3 *(0-0.5)* 0.5 *(1-0.5)* 2.7810836 b2 = b2 + 0.3 *(0-0.5)* 0.5 *(1-0.5)* 2.550537003 要么 b0 = -0.0375 b1 = -0.104290635 b2 = -0.09564513761 ### 重復這個過程 我們可以重復此過程并更新數據集中每個訓練實例的模型。 通過訓練數據集的單次迭代稱為迭代。對于固定數量的迭代重復隨機梯度下降過程是常見的。 在迭代的末尾,您可以計算模型的誤差值。因為這是一個分類問題,所以很容易了解模型在每次迭代時的準確度。 下圖顯示了模型在10個時期內的準確度圖。 ![Logistic Regression with Gradient Descent Accuracy versus Iteration](img/a7031b0865ce5bdb6a761d9cf76a625a.jpg) 具有梯度下降精度與迭代的Logistic回歸 您可以看到模型很快就能在訓練數據集上實現100%的準確性。 在隨機梯度下降的10個時期之后計算的系數是: b0 = -0.4066054641 b1 = 0.8525733164 b2 = -1.104746259 ### 作出預測 現在我們已經訓練了模型,我們可以用它來進行預測。 我們可以對訓練數據集進行預測,但這可以很容易地成為新數據。 使用10個時期之后學習的上述系數,我們可以計算每個訓練實例的輸出值: ```py 0.2987569857 0.145951056 0.08533326531 0.2197373144 0.2470590002 0.9547021348 0.8620341908 0.9717729051 0.9992954521 0.905489323 ``` 這些是屬于class = 0的每個實例的概率。我們可以使用以下方法將它們轉換為清晰的類值: 預測= IF(輸出&lt; 0.5)然后0 Else 1 通過這個簡單的過程,我們可以將所有輸出轉換為類值: ```py 0 0 0 0 0 1 1 1 1 1 ``` 最后,我們可以在訓練數據集上計算模型的準確度: 準確度=(正確的預測/數字預測)* 100 準確度=(10/10)* 100 準確度= 100% ## 摘要 在這篇文章中,您了解了如何從頭開始逐步實現邏輯回歸。你了解到: * 如何計算物流函數。 * 如何使用隨機梯度下降來學習邏輯回歸模型的系數。 * 如何使用邏輯回歸模型進行預測。 您對此帖子或邏輯回歸有任何疑問嗎? 發表評論并提出問題,我會盡力回答。
                  <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>

                              哎呀哎呀视频在线观看