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

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                # 機器學習的線性判別分析 > 原文: [https://machinelearningmastery.com/linear-discriminant-analysis-for-machine-learning/](https://machinelearningmastery.com/linear-discriminant-analysis-for-machine-learning/) 邏輯回歸是一種傳統上僅限于兩類分類問題的分類算法。 如果您有兩個以上的類,則線性判別分析是首選的線性分類技術。 在這篇文章中,您將發現用于分類預測建模問題的線性判別分析(LDA)算法。閱讀這篇文章后你會知道: * 邏輯回歸的局限性和線性判別分析的必要性。 * 從數據中學習的模型表示,可以保存到文件中。 * 如何根據您的數據估算模型。 * 如何從學習的LDA模型中進行預測。 * 如何準備數據以充分利用LDA模型。 本文面向對應用機器學習感興趣的開發人員,模型如何工作以及如何使用它們。因此,不需要統計學或線性代數的背景,盡管如果您了解分布的[平均值](https://en.wikipedia.org/wiki/Mean)和[方差](https://en.wikipedia.org/wiki/Variance),它確實有幫助。 LDA是制備和應用中的簡單模型。關于如何設置模型以及如何推導出預測方程,背后有一些有趣的統計數據,但本文未對此進行介紹。 讓我們開始吧。 ![Linear Discriminant Analysis for Machine Learning](img/22b3c2c5fa8914da52405573a5198cc6.jpg) 機器學習的線性判別分析 照片由 [Jamie McCaffrey](https://www.flickr.com/photos/15609463@N03/14898932531) 拍攝,保留一些權利。 ## Logistic回歸的局限性 Logistic回歸是一種簡單而強大的線性分類算法。它還有一些限制,表明需要備用線性分類算法。 * **兩類問題**。 Logistic回歸旨在用于兩類或二元分類問題。它可以擴展為多類分類,但很少用于此目的。 * **不穩定,分離良好**。當類很好地分離時,邏輯回歸可能變得不穩定。 * **不穩定的幾個例子**。當幾乎沒有用于估計參數的示例時,邏輯回歸可能變得不穩定。 線性判別分析確實解決了這些問題,并且是多類分類問題的首選線性方法。即使存在二元分類問題,嘗試邏輯回歸和線性判別分析也是一個好主意。 ## LDA模型的表示 LDA的代表是直截了當的。 它包含數據的統計屬性,為每個類計算。對于單個輸入變量(x),這是每個類的變量的均值和方差。對于多個變量,這是通過多元高斯計算的相同屬性,即均值和協方差矩陣。 這些統計特性根據您的數據估算并插入LDA方程式進行預測。這些是您將保存為模型文件的模型值。 我們來看看如何估算這些參數。 ## 獲取免費算法思維導圖 ![Machine Learning Algorithms Mind Map](img/2ce1275c2a1cac30a9f4eea6edd42d61.jpg) 方便的機器學習算法思維導圖的樣本。 我已經創建了一個由類型組織的60多種算法的方便思維導圖。 下載,打印并使用它。 ## 學習LDA模型 LDA對您的數據做了一些簡化的假設: 1. 您的數據是高斯數據,每個變量在繪制時形狀像鐘形曲線。 2. 每個屬性具有相同的方差,每個變量的值在均值周圍平均變化相同的量。 通過這些假設,LDA模型可以估算每個類別數據的均值和方差。在具有兩個類的單變量(單輸入變量)情況下,很容易想到這一點。 通過將值的總和除以值的總數,可以以正常方式估計每個類(k)的每個輸入(x)的平均值(μ)。 muk = 1 / nk * sum(x) 其中muk是類k的x的平均值,nk是類k的實例數。在所有類別中計算方差,作為每個值與平均值的平均平方差。 sigma ^ 2 = 1 /(n-K)* sum((x-mu)^ 2) 其中sigma ^ 2是所有輸入(x)的方差,n是實例的數量,K是類的數量,mu是輸入x的平均值。 ## 用LDA進行預測 LDA通過估計一組新輸入屬于每個類的概率來進行預測。獲得概率最高的類是輸出類,并進行預測。 該模型使用貝葉斯定理來估計概率。簡言之[貝葉斯定理](https://en.wikipedia.org/wiki/Bayes%27_theorem)可用于估計輸出類別(k)的概率,給定輸入(x)使用每個類別的概率和屬于每個類別的數據的概率: P(Y = x | X = x)=(PIk * fk(x))/ sum(PIl * fl(x)) 其中PIk指的是訓練數據中觀察到的每個類別(k)的基本概率(例如,對于兩類問題中的50-50分裂,則為0.5)。在貝葉斯定理中,這稱為先驗概率。 PIk = nk / n 上面的f(x)是屬于該類的x的估計概率。高斯分布函數用于f(x)。將高斯插入上述方程并簡化我們最終得到下面的等式。這被稱為判別函數,并且類被計算為具有最大值將是輸出分類(y): Dk(x)= x *(muk / siga ^ 2) - (muk ^ 2 /(2 * sigma ^ 2))+ ln(PIk) Dk(x)是給定輸入x的類k的判別函數,muk,sigma ^ 2和PIk都是根據您的數據估計的。 ## 如何為LDA準備數據 本節列出了在準備用于LDA的數據時可能會考慮的一些建議。 * **分類問題**。這可能不言而喻,但LDA旨在用于輸出變量是分類的分類問題。 LDA支持二進制和多類分類。 * **高斯分布**。該模型的標準實現假設輸入變量的高斯分布。考慮檢查每個屬性的單變量分布并使用變換使它們看起來更加高斯(例如,指數分布的log和root以及偏斜分布的Box-Cox)。 * **刪除異常值**。考慮從數據中刪除異常值。這些可能會扭曲用于在LDA中分離類的基本統計數據,例如均值和標準差。 * **相同的差異。 LDA** 假設每個輸入變量具有相同的方差。在使用LDA之前標準化數據幾乎總是一個好主意,因此它的平均值為0,標準差為1。 ## LDA的擴展 線性判別分析是一種簡單有效的分類方法。因為它很簡單并且很容易理解,所以該方法有許多擴展和變化。一些流行的擴展包括: * **二次判別分析(QDA)**:每個類使用自己的方差估計(或有多個輸入變量時的協方差)。 * **靈敏判別分析(FDA)**:使用非線性輸入組合,如樣條曲線。 * **正則化判別分析(RDA)**:將正則化引入方差估計(實際上是協方差),緩和不同變量對LDA的影響。 最初的發展被稱為線性判別分析或Fisher判別分析。多類版本被稱為多判別分析。現在,這些都被簡稱為線性判別分析。 ## 進一步閱讀 如果您希望更深入,本節提供了一些額外的資源。我不得不相信這本書[統計學習簡介:在R](http://www.amazon.com/dp/1461471370?tag=inspiredalgor-20) 中的應用程序,本文中的一些描述和符號取自本文,它非常好。 ### 圖書 * [統計學習導論:應用于R](http://www.amazon.com/dp/1461471370?tag=inspiredalgor-20) ,第4章,第138頁。 * [現代多元統計技術:回歸,分類和流形學習](http://www.amazon.com/dp/0387781889?tag=inspiredalgor-20),第8章 * [Applied Predictive Modeling](http://www.amazon.com/dp/1461468485?tag=inspiredalgor-20) ,第12章,第287頁 ### 其他 * [線性判別分析一點一點](http://sebastianraschka.com/Articles/2014_python_lda.html)(Python的例子) * [線性判別分析維基百科頁面](https://en.wikipedia.org/wiki/Linear_discriminant_analysis)(我沒有發現它有用) * [線性判別分析](http://www.saedsayad.com/lda.htm)(包括指向交互式LDA接口的鏈接) ## 摘要 在這篇文章中,您發現了線性判別分析,用于分類預測建模問題。你了解到: * LDA的模型表示以及學習模型的實際區別。 * 如何從訓練數據估計LDA模型的參數。 * 如何使用該模型對新數據進行預測。 * 如何準備數據以充分利用該方法。 你對這篇文章有任何疑問嗎? 發表評論并詢問,我會盡力回答。
                  <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>

                              哎呀哎呀视频在线观看