總結一下工作學習中的算法,如有紕漏,請大家多多指教,一起探討共同進步!
這裏首先講解一下邏輯迴歸算法,並給出其在文本分類中的應用。
相關代碼見我的github,地址爲:https://github.com/duguiming111/Text_Classification/blob/master/lr_main.py
邏輯迴歸算法原理
邏輯迴歸(logistic regression)雖然名字是迴歸,但是它是統計學習中的經典分類方法,是一種判別學習模型。以二分類爲例:
首先大致說一下線性迴歸,詳細的線性迴歸算法見我的線性迴歸算法原理,線性模型是在給定的數據集上進行模型參數的訓練,使得模型能夠儘可能地預測實際輸出標記。引用周志華老師西瓜書上的例子:
其中,變量代表樣本(西瓜)的屬性,常量就是訓練得到的模型參數,當給定一個西瓜的屬性,就能夠判斷這個西瓜是好瓜還是壞瓜。可以看做將西瓜屬性的一個線性組合。
在邏輯迴歸中先介紹一個函數sigmoid函數,它的公式爲:
對其求導可以得到(求導過程不難可以自己推導):
那麼,邏輯迴歸函數爲:
假定:
邏輯迴歸的代價函數爲:
對其取對數,可以得到:
在這裏求代價函數的最大值,先對上式求導:
更新參數:
邏輯迴歸由條件概率分佈邏輯迴歸的應用案例比較多:
1、垃圾短信識別
2、惡性腫瘤識別
3、推薦系統召回後的排序
還有很多,在這裏就不一一列舉。在文章開頭給出了垃圾短信識別代碼,不足之處,請大家指教。
參考文獻
[1] 周志華. 機器學習
[2] 李航. 統計學方法