1.分類問題
案例:
在分類問題中,我們嘗試預測的是結果是否屬于某一個類(例如正確或錯誤)。分類問題的例子有:判斷一封電子郵件是否是垃圾郵件;判斷一次金融交易是否是欺詐;之前我們也談到了腫瘤分類問題的例子,區(qū)別一個腫瘤是惡性的還是良性的。
二元分類問題:
將因變量(dependent variable)可能屬于的兩個類分別稱為負向類(negative class)和正向類(positive class),則因變量 y屬于1 0,其中 0 表示負向類,1 表示正向類。
邏輯回歸算法的性質是:它的輸出值永遠在 0 到 1 之間。但邏輯回歸算法實際上是一種分類算法,它適用于標簽 ?? 取值離散的情況,如:1 0 0 1。
分類問題屬于監(jiān)督學習中的一個核心問題,其目標是根據已知樣本的某些特征,判斷一個新的樣本屬于哪種已知的樣本類。根據類別的數量,分類問題可以分為二元分類和多元分類。例如,在郵件管理中,將一封郵件歸類為“垃圾郵件”或者“非垃圾郵件”就是一個典型的二元分類問題;銀行對信用卡客戶進行信用等級分類和上市公司股票類型的劃分則屬于多元分類問題。
在分類問題的解決過程中,首先需要對數據進行預處理,包括數據清洗、相關分析和數據轉換等步驟。數據清洗主要解決噪聲和數據遺失的問題,相關分析用于去除無關屬性和冗余屬性,數據轉換則根據分類方法的要求對數據進行相應轉換。
分類算法有很多種,如決策樹、貝葉斯、SVM、邏輯回歸等。這些算法的性能指標包括預測準確度、計算復雜度和模型的簡潔度等。在實際應用中,需要根據具體問題和數據特征選擇合適的分類算法。
分類問題的應用非常廣泛,包括銀行領域的客戶分類、非法入侵檢測、圖像領域的人臉檢測、手寫識別、搜索領域的網頁抓取和排序等。通過分類問題,人們可以對大量數據進行有效處理和預測,從而更好地理解數據和做出決策。
2.假說表示
問題:在分類問題中,能用什么樣的函數來表示我們的假設?
需求:希望想出一個滿足某個性質的假設函數,這個性質是它的預測值要在 0 和 1 之間。
如果用概率大于等于0.5,預測值取1,概率小于0.5,預測值取0。這種方法有個弊端,當概率是0.5作為閾值時,這個時候是不太適用的??梢钥闯?,線性回歸模型,因為其預測的值可以超越[0,1]的范圍,并不適合解決這樣的問題。
所以引入一個新的模型,邏輯回歸,該模型的輸出變量范圍始終在 0 和 1 之間。 邏輯回歸模型的假設是:
其中: ?? 代表特征向量 ?? 代表邏輯函數(logistic function)是一個常用的邏輯函數為 S 形函數(Sigmoid function),公式為:
???(??)的作用是,對于給定的輸入變量,根據選擇的參數計算輸出變量=1 的可能性(estimated probablity)即???(??) = ??(?? = 1|??; ??)。例如:???
(??)的作用是,對于給定的輸入變量,根據選擇的參數計算輸出變量=1 的可能性(estimated probablity)即???(??) = ??(?? = 1|??; ??)。
3.判定邊界
其實就是求函數的邊界函數或者邊界值。
在邏輯回歸中,我們預測:
當???(??) >= 0.5時,預測 ?? = 1。
當???(??) < 0.5時,預測 ?? = 0 。
根據上面繪制出的 S 形函數圖像,我們知道當
?? = 0 時 ??(??) = 0.5
?? > 0 時 ??(??) > 0.5
?? < 0 時 ??(??) < 0.5
并且參數?? 是向量[-3 1 1]。 則當?3 + ??1 + ??2 ≥ 0,即??1 + ??2 ≥ 3時,模型將預測 ?? =1。 我們可以繪制直線??1 + ??2 = 3,這條線便是我們模型的分界線,將預測為 1 的區(qū)域和預測為 0 的區(qū)域分隔開。
4.代價函數
問題:如何選擇擬合邏輯回歸模型的參數??。
具體來說,定義用來擬合參數的優(yōu)化目標或者叫代價函數,這便是監(jiān)督學習問題中的邏輯回歸模型的擬合問題。
(選擇合適的擬合參數??)
對于線性回歸模型,定義的代價函數是所有模型誤差的平方和。理論上來說,也可以對邏輯回歸模型沿用這個定義,但是問題在于,當我們將???(??) 帶入到這樣定義了的代價函數中時,我們得到的代價函數將是一個非凸函數(non-convexfunction)。
可以看到代價函數有許多局部最小值,這將影響梯度下降算法尋找全局最小值。
選擇合適的代價函數:
這樣構建的????????(???(??), ??)函數的特點是:當實際的 ?? = 1 且???(??)也為 1 時誤差為 0,當 ?? = 1 但???(??)不為 1 時誤差隨著???(??)變小而變大;當實際的 ?? = 0 且???(??)也為 0 時,代價為 0,當?? = 0 但???(??)不為 0 時誤差隨著 ???(??)的變大而變大。
在得到這樣一個代價函數以后,我們便可以用梯度下降算法來求得能使代價函數最小的參數。算法為:
定義了單訓練樣本的代價函數,凸性分析的內容是超出這門課的范
圍的,但是可以證明我們所選的代價值函數會給我們一個凸優(yōu)化問題。代價函數??(??)會是一個凸函數,并且沒有局部最優(yōu)值。
除了梯度下降算法以外,還有一些常被用來令代價函數最小的算法,這些算法更加復雜和優(yōu)越,而且通常不需要人工選擇學習率,通常比梯度下降算法要更加快速。這些算法有:共軛梯度(Conjugate Gradient),局部優(yōu)化法(Broyden fletcher goldfarb shann,BFGS)和有限內存局部優(yōu)化法(LBFGS) ,fminunc 是 matlab 和 octave中都帶的一個最小值優(yōu)化函數,使用時我們需要提供代價函數和每個參數的求導。
5.簡化的成本函數和梯度下降
目的是找出一種稍微簡單一點的方法來寫代價函數,來替換我們現在用的方法。同時我們還要弄清楚如何運用梯度下降法,來擬合出邏輯回歸的參數。
實際上還是去求J(??)最小值。
要想獲得J(??)的最小值,實際上還是需要獲得某個參數??。所以,接下來就是弄清楚如何最大限度地最小化代價函數??(??),作為一個關于??的函數,這樣我們才能為訓練集擬合出參數??。
最小化代價函數的方法,是使用梯度下降法(gradient descent)。這是我們的代價函數:
如果我們要最小化這個關于??的函數值,這就是我們通常用的梯度下降法的模板。
我把它寫在這里,將后面這個式子,在 ?? = 1 到 ?? 上求和,其實就是預測誤差乘以
我們就可以將梯度下降算法寫作如下形式:
補充內容:
因此,即使更新參數的規(guī)則看起來基本相同,但由于假設的定義發(fā)生了變化,所以邏輯函數的梯度下降,跟線性回歸的梯度下降實際上是兩個完全不同的東西。
之前在談線性回歸時講到的特征縮放,我們看到了特征縮放是如何
提高梯度下降的收斂速度的,這個特征縮放的方法,也適用于邏輯回歸。如果你的特征范圍差距很大的話,那么應用特征縮放的方法,同樣也可以讓邏輯回歸中,梯度下降收斂更快。
6.高級優(yōu)化
問題:什么優(yōu)化方法使通過梯度下降,進行邏輯回歸的速度大大提高?
有個代價函數??(??),而我們想要使其最小化,那么我們需要做的是編寫代碼,當輸入參數 ?? 時,它們會計算出兩樣東西:??(??) 以及?? 等于 0、1 直到 ?? 時的偏導數項。
那么這些算法就是為我們優(yōu)化代價函數的不同方法,共軛梯度法 BFGS (變尺度法) 和 L-BFGS (限制變尺度法) 就是其中一些更高級的優(yōu)化算法,它們需要有一種方法來計算 ??(??),以及需要一種方法計算導數項,然后使用比梯度下降更復雜的算法來最小化代價函數。
7.多類別分類:一對多
問題:如何使用邏輯回歸 (logistic regression)來解決多類別分類問
題?
具體來說,通過一個叫做"一對多" (one-vs-all) 的分類算法。
案例:
第一個例子:假如說你現在需要一個學習算法能自動地將郵件歸類到不同的文件夾里,或者說可以自動地加上標簽,那么,你也許需要一些不同的文件夾,或者不同的標簽來完成這件事,來區(qū)分開來自工作的郵件、來自朋友的郵件、來自家人的郵件或者是有關興趣愛好的郵件,那么,我們就有了這樣一個分類問題:其類別有四個,分別用?? = 1、?? = 2、?? = 3、?? = 4 來代表。
第二個例子是有關藥物診斷的,如果一個病人因為鼻塞來到你的診所,他可能并沒有生病,用 ?? = 1 這個類別來代表;或者患了感冒,用 ?? = 2 來代表;或者得了流感用?? = 3來代表。
第三個例子:如果你正在做有關天氣的機器學習分類問題,那么你可能想要區(qū)分哪些天是晴天、多云、雨天、或者下雪天,對上述所有的例子,?? 可以取一個很小的數值,一個相對"謹慎"的數值,比如 1 到 3、1 到 4 或者其它數值,以上說的都是多類分類問題,順便一提的是,對于下標是 0 1 2 3,還是 1 2 3 4 都不重要,我更喜歡將分類從 1 開始標而不是0,其實怎樣標注都不會影響最后的結果。
多分類問題圖示:
3 種不同的符號來代表 3 個類別,問題就是給出 3 個類型的數據集,我們如何得到一個學習算法來進行分類呢?
二元分類,可以使用邏輯回歸,對于直線或許你也知道,可以將數據集一分為二為正類和負類。用一對多的分類思想,我們可以將其用在多類分類問題上。
最后,在我們需要做預測時,我們將所有的分類機都運行一遍,然后對每一個輸入變量,都選擇最高可能性的輸出變量。
然后訓練邏輯回歸分類器:
一對多多類別分類解決方法:
選擇一個分類器可信度最高效果最好,那么就可認為得到一個正確的分類,無論??值是多少,我們都有最高的概率值,我們預測??就是那個值。
8.過擬合的問題
正則化(regularization)的技術,它可以改善或者減少過度擬合問題。
如果我們有非常多的特征,我們通過學習得到的假設可能能夠非常好地適應訓練集(代價函數可能幾乎為 0),但是可能會不能推廣到新的數據。
回歸模型的例子:第一個模型是一個線性模型,欠擬合,不能很好地適應我們的訓練集;第三個模型是一個四次方的模型,過于強調擬合原始數據,而丟失了算法的本質:預測新數據。我們可以看出,若給出一個新的值使之預測,它將表現的很差,是過擬合,雖然能非常好地適應我們的訓練集但在新輸入變量進行預測時可能會效果不好;而中間的模型似乎最合適。
分類問題中也存在這樣的問題:
就以多項式理解,?? 的次數越高,擬合的越好,但相應的預測的能力就可能變差。
這些都是過擬合問題。
怎么解決過擬合問題?
1.丟棄一些不能幫助我們正確預測的特征??梢允鞘止みx擇保留哪些特征,或者使用一些模型選擇的算法來幫忙(例如 PCA)
2.正則化。 保留所有的特征,但是減少參數的大?。╩agnitude)。
過擬合是指模型在訓練數據上表現良好,但在測試數據上表現較差的情況。這通常是由于模型過于復雜,并且對訓練數據進行了過多的擬合,導致模型泛化能力下降。過擬合問題主要表現在以下幾個方面:
訓練誤差和測試誤差的差距過大:過擬合的模型在訓練數據上的誤差通常很小,但在測試數據上的誤差很大。這意味著模型沒有很好地泛化到新的數據集上。
模型復雜度過高:過擬合往往是由于模型復雜度過高導致的。如果模型過于復雜,它可能會嘗試擬合訓練數據中的噪聲和異常值,而不是真正的學習數據的內在規(guī)律和模式。這會導致模型在新的、未見過的數據上表現不佳。
數據量不足:當訓練數據量不足時,模型可能會將訓練數據中的噪聲和異常值視為重要特征,并進行過度擬合。因此,過擬合問題可以通過增加訓練數據量來解決。
特征選擇不當:如果選擇的特征與目標變量無關或相關性較弱,那么模型可能無法從中學習到有用的信息,導致過擬合問題。因此,需要進行特征選擇和特征工程,以選擇與目標變量高度相關的特征,并消除無關特征的影響。
為了解決過擬合問題,可以采用以下方法:
增加訓練數據量:通過增加訓練數據量,可以使得模型更好地泛化到新的數據集上,減少過擬合問題。
減少模型復雜度:可以通過簡化模型、減少特征數量等方法降低模型復雜度,從而避免過擬合問題。
正則化:正則化是一種常用的方法,用于防止過擬合。它通過對模型的參數施加懲罰項,從而使得模型更加簡單,避免了過擬合問題。常用的正則化方法包括L1正則化、L2正則化和dropout等。
早停法:早停法是一種防止過擬合的技術,通過監(jiān)視驗證集的誤差來停止迭代。當驗證集的誤差開始增加時,意味著模型開始過擬合,此時停止迭代可以避免過擬合問題。
集成學習:集成學習是一種通過結合多個模型的預測結果來提高整體性能的技術。通過將多個簡單的模型組合起來,可以降低單一模型的過擬合風險。常用的集成學習方法包括隨機森林、梯度提升等。
9.代價函數
高次項導致了過擬合的產生,所以如果我們能讓這些高次項的系數接近于 0 的話,我們就能很好的擬合了。所以我們要做的就是在一定程度上減小這些參數?? 的值,這就是正則化的基本方法。我們決定要減少??3和??4的大小,我們要做的便是修改代價函數,在其中??3和??4 設置一點懲罰。這樣做的話,我們在嘗試最小化代價時也需要將這個懲罰納入考慮中,并最終導致選擇較小一些的??3和??4。
若 λ 的值太大了,那么??(不包括??0)都會趨近于 0,這樣我們所得到的只能是一條平行于??軸的直線。選擇合適的?? 的值,這樣才能更好的應用正則化。
10.正則化線性回歸
線性回歸的求解,我們之前推導了兩種學習算法:一種基于梯度下降,一種基于正規(guī)方程。
正則化線性回歸的代價函數為:
11.正則化的邏輯回歸模型
已經學習過兩種優(yōu)化算法:我們首先學習了使用梯度下降法來優(yōu)化代價函數??(??),接下來學習了更高級的優(yōu)化算法,這些高級優(yōu)化算法需要你自己設計代價函數??(??)。
注意:
- 雖然正則化的邏輯回歸中的梯度下降和正則化的線性回歸中的表達式看起來一樣,但由于兩者的???(??)不同所以還是有很大差別。
- ??0不參與其中的任何一個正則化。
正則化的邏輯回歸模型是在邏輯回歸的基礎上,通過添加正則化項來防止過擬合的一種機器學習模型。正則化項通常包括L1正則化和L2正則化,它們通過對模型參數施加懲罰,以減少模型復雜度并提高模型的泛化能力。
在正則化的邏輯回歸模型中,代價函數通常包括兩部分:一個是邏輯回歸的代價函數,另一個是正則化項。邏輯回歸的代價函數是用于衡量模型的預測誤差的,而正則化項是用來控制模型的復雜度的。正則化項的系數決定了模型復雜度的懲罰程度,這個系數通常被稱為正則化參數。
在訓練正則化的邏輯回歸模型時,我們需要最小化代價函數。這個過程通常需要迭代地更新模型參數,以逐漸減小代價函數的值。常用的優(yōu)化算法包括梯度下降、隨機梯度下降等。文章來源:http://www.zghlxwxcb.cn/news/detail-821824.html
正則化的邏輯回歸模型在許多領域都有廣泛的應用,例如文本分類、二分類問題、回歸分析等。它能夠很好地處理各種數據類型和問題規(guī)模,并且具有簡單、快速、穩(wěn)定等優(yōu)點。然而,正則化的邏輯回歸模型也有一些局限性,例如對非線性關系的處理能力較弱等。因此,在實際應用中,需要根據具體問題和數據特征選擇合適的機器學習模型。文章來源地址http://www.zghlxwxcb.cn/news/detail-821824.html
到了這里,關于邏輯回歸(Logistic Regression)和正則化的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!