国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

機器學習筆記之Logistic回歸算法

2019-11-10 17:39:52
字體:
來源:轉載
供稿:網友
Logistic回歸算法:優點:計算代價不高,易于理解和實現。缺點:容易欠擬合,分類精度可能不高。適用數據類型:數值型和標稱型。算法原理:logistic回歸是一種廣義線性回歸(generalized linear model),因此與多重線性回歸分析有很多相同之處。它們的模型形式基本上相同,都具有 w'x+b,其中w和b是待求參數,其區別在于他們的因變量不同,多重線性回歸直接將w'x+b作為因變量,即y =w'x+b,而logistic回歸則通過函數L將w'x+b對應一個隱狀態p,p =L(w'x+b),然后根據p 與1-p的大小決定因變量的值。如果L是logistic函數,就是logistic回歸,如果L是多項式函數就是多項式回歸。ps:因為Logistic的幾何形狀很像一個“S”型,所以又叫 sigmoid曲線(S型曲線)算法流程:收集數據:采用任意方法收集數據。準備數據:由于需要進行距離計算,因此要求數據類型為數值型。分析數據:采用任意方法對數據進行分析。訓練算法:大部分時間將用于訓練,訓練的目的是為了找到最佳的分類回歸系數。測試算法:一旦訓練完成,分類也計算的很快。使用算法:對實際數據進行預測。Logistic函數:    它的幾何形狀:

             

    由圖我們可以看出,在處理二分類問題(0,1)時,x=0,f(x) = 0.5,但函數自變量趨近于正無窮時,函數逼近于1。反之,當函數自變量趨近于負無窮時,函數逼近于0。所以對于任意一個輸入值,我們總能得出一個在(0,1)之間的輸出結果,但輸出結果大于0.5時,我們認為輸出結果為1,反之為0。因此Logistic回歸也可以被看成是一種概率估計。

    函數確定之后我們在看一下它的輸入情況,我們可以將對條件輸入記作: 

                       

   如果采用向量的寫法可以記作:

                

   其中向量x是輸入數據,w為輸入數據的系數。

所以其實Logistic的訓練過程,其實也就是求最優回歸系數的過程。

這里我們就需要一個優化算法了,也變引出了——梯度下降(上升)算法

       梯度下降(上升)法是一個最優化算法,通常也稱為最速下降(上升)法。最速下降(上升)法是求解無約束優化問題最簡單和最古老的方法之一,雖然現在已經不具有實用性,但是許多有效算法都是以它為基礎進行改進和修正而得到的。最速下降(上升)法是用負(正)梯度方向為搜索方向的,最速下降(上升)法越接近目標值,步長越小,前進越慢。

下面便是梯度下降(上升)算法的經典圖示了:

                        

梯度下降(上升)算法的計算公式:

Logistic函數代碼:

def sigmoid(inX):    return 1.0/(1+exp(-inX))

梯度上升算法代碼:(因為我們后面需要分類的問題是沿著梯度上升方向尋找的,所以這里使用梯度上升算法)

def gradAscent(dataMatIn, classLabels):    dataMatrix = mat(dataMatIn)                 labelMat = mat(classLabels).transpose()     m,n = shape(dataMatrix)    alpha = 0.001    maxCycles = 500    weights = ones((n,1))    for k in range(maxCycles):                     h = sigmoid(dataMatrix*weights)           error = (labelMat - h)                      weights = weights + alpha * dataMatrix.transpose()* error  #梯度上升算法部分    return weights

下面我們需要一些測試數據:

圖中紅色方塊代表一種類型的數據,綠色圓圈代表另一種類型的數據。

我們嘗試使用Logistic回歸算法,將這兩組數據在這個二維面上劃分出來(對于人來說這個工作相當簡單。。。)

嗯,看來Logistic回歸算法表現的還不錯,至少有五歲小朋友的一筆畫智商了^_^...


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 西昌市| 运城市| 珠海市| 志丹县| 湾仔区| 西充县| 富川| 永善县| 桐梓县| 庆云县| 剑河县| 巨鹿县| 莎车县| 江陵县| 石台县| 抚顺市| 郎溪县| 张掖市| 晋中市| 拉孜县| 万年县| 西贡区| 宜昌市| 百色市| 柏乡县| 武城县| 南澳县| 枣阳市| 宾阳县| 永胜县| 潮安县| 隆德县| 阿克苏市| 郎溪县| 麦盖提县| 大化| 商都县| 东山县| 安化县| 三穗县| 盐源县|