機器學習實戰筆記 Logistic回歸

2021-08-29 05:39:30 字數 1662 閱讀 4080

這裡我們會提到sigmoid函式,而且這個函式(梯度上公升法和梯度下降法)就像是神經網路的乙個神經元(個人這麼看而已),也像二極體的0.7v電壓,這裡面會提到梯度下降法,也會了解資料中缺失的處理。

logistics回歸會讓我們接觸最優化演算法。其實我們生活中這樣的問題很多,例如如何在最短時間內從a地到b地?如何在投入少的情況下,獲得最大收益?這個我們以前的解決方案就是使用動態規劃的演算法,或者是使用遞迴的方式進行處理。

接下來我們介紹幾個最優化演算法,並利用它們訓練出乙個非線性函式用於分類。

假設現在有一些資料點,我們用一條曲線對這些點進行擬合(該線稱為最佳擬合曲線),這個擬合過程就叫回歸!利用logistic回歸進行分類的主要思想是:根據現有資料對分類邊界線建立回歸公式,以此類推。訓練分類器時的做法就是尋找最佳擬合引數,使用的是最優化演算法。

logistic回歸的一般過程

收集資料

準備資料:由於需要進行距離計算,因此要求資料是數值型。另外,結構化資料格式最佳。

分析資料

訓練演算法:大部分時間用於訓練,訓練的目的是為了找到最佳的分類回歸係數。

測試演算法

使用演算法:使用演算法進行分類。

後面會介紹一些最優化演算法,其中包括基本的梯度上公升法和乙個改進的隨機梯度上公升法,這些最優化演算法將用於分類器的訓練。

sigmoid函式上面也提到了,這類函式都稱為單位階躍函式。這種函式就是實現0到1的躍遷,這就是容易欠擬合的原因。除了sigmoid函式,還有乙個函式叫海維塞德階躍函式,這種0到1的越變非常快。sigmoid函式如下:

為了實現logistic回歸分類器,我們可以在每個特徵上都乘以乙個回歸係數,然後把所有的結果相加,將這個和帶入sigmoid函式中,值大於0.5歸於1類,否則歸為0類。所以logistic回歸也可以被看成是一種概率統計。

現在的問題是:最佳回歸係數是多少?

其實一切資料的出發前提就是如何將資料的距離拉開,就是要有明顯的差距才可以,否則很多事情不太好處理。

我們可以採取向量的寫法:

這個公式可以寫成

其中向量x就是輸入資料,向量w就是需要找到的最佳引數(係數),從而使得分類器盡可能地精簡。為了找到最佳引數,需要用到最優化理論的一些知識。比如梯度上公升法、

梯度上公升法基於的思想是:要找到某函式的最大值,最好的方法就是沿著該函式的梯度方向進行探索。如果梯度記為

這個梯度意味著要沿x方向移動

梯度運算元總是指向函式值增長最快的方向,這裡所說的是移動方向,而未提到移動量的大小。該量值稱為步長,記做

注意這裡的w是多種特徵組成的向量,例如上面的

之後的例子也是通過這個公式進行的優化迭代。

具體的公式推導過程,如這篇文章寫得,非常清晰。

機器學習實戰筆記

在 機器學習實戰 的決策樹的儲存這方面內容學習過程中,進行 除錯時遇到以下兩個錯誤 1 typeerror write argument must be str,not bytes 2 unicodedecodeerror gbk codec can t decode byte 0x80 in po...

《機器學習實戰》學習筆記

很久沒寫過部落格了,一重開就給自己挖了這麼乙個大坑 最近一段時間看了 機器學習實戰 這本書,感覺寫得不錯,認真看了看。關於這本書的書評及購買事宜請移步豆瓣 京東 亞馬遜等 這裡不多說。不過有一點,感覺這本書有個很好的地方是給出了各個演算法的python實現 和講解,要求不高的話可以拿來用了 懶 在這...

《機器學習實戰》學習筆記

目錄 第2章 k 近鄰演算法 第3章 決策樹 第4章 基於概率論的分類方法 樸素貝葉斯 第5章 logistic回歸 第7章 利用adaboost元演算法提高分類效能 第8章 數值型資料 回歸 1.python console匯入knn.py檔案 import knn1.reload的使用方法 fr...