日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

机器学习入门系列三(关键词:逻辑回归,正则化)

發布時間:2025/3/21 编程问答 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 机器学习入门系列三(关键词:逻辑回归,正则化) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

機器學習入門系列三(關鍵詞:邏輯回歸,正則化)


目錄(?)[+]

  • 一邏輯回歸
  • 邏輯回歸
  • 假設表示
  • 決策邊界
  • 代價函數
  • 其他優化方法
  • 多元分類
  • 二正則化
  • 一、邏輯回歸

    1.邏輯回歸

    什么是邏輯回歸問題,通俗地講就是監督下的分類問題。通過前面的學習,我們已經掌握如何解決線性(非線性)回歸的問題。那面對分類問題我們是否也可以用線性回歸呢?簡單起見,我們先討論二元分類,首先讓我們來看一個例子,腫瘤的大小與是否是惡性的關系,其中紅色的×表示腫瘤大小,對應的y軸表示是否為惡性。

    我們對數據進行線性回歸,得到了一條很完美的直線。我們可以規定,當擬合出來的y值大于0.5時,為惡性1;當y值小于0.5時,為良性0。這一切看起來似乎很合理,當我們增加一個數據,即有一個腫瘤非常大,顯然它是惡性的,但是再用線性回歸時,我們可以發現為了去更好地擬合,直線的斜率變低,0.5不再是惡性與良性的分界線。除了這個問題之外,我們知道y的可取值應該是[0,1],而采用線性回歸我們發現y的可取值是[?,+]。這一系列的問題就促使我們希望尋求一個新的方法來解決分類問題。

    2.假設表示

    在線性回歸問題中,我們定義了

    hθ(x)=θTx(1) 在分類問題中,我們改變該函數,增加一個作用函數,即 hθ(x)=g(θTx)(2) 其中g(z)為sigmoid函數 g(z)=11+e?z(3)
    那么把式(3)代入式(2),得 hθ(x)=11+e?θTx(4) 為什么要使用sigmoid函數?有一系列的數學原因,感興趣的可以搜索廣義線性模型,在這里就不闡述原因了。我們來直觀地感受一下sigmoid函數,當z?時,g0;當z+時,g1

    下面我們對hθ(x)輸出的結果做一個解釋。由于它的取值范圍,我們可以把它理解為概率。若hθ(x)=0.7,在二元分類(本例)中即表示腫瘤在輸入變量x下為惡性(y=1)的概率為70%。由于是二元分類,y取值不是0就是1,因此腫瘤為良性(y=0)的概率為1?70%=30%
    由于sigmoid函數的性質,且hθ(x)(0,1),我們認為當hθ(x)0.5時,我們把數據x預測為類1即y=1;當hθ(x)<0.5時,我們把數據x預測為類0即y=0。因此當θTx0時,預測為類1;當θTx<0時,預測為類0。

    3.決策邊界

    既然是分類問題,那么對于二分類,hθ(x)一定可以做出一個決策邊界,當數據集在某一側時預測為類1,在另一側時預測為類0。為了更直觀地理解,我們來看一個這樣一個例子,訓練集分為兩類,其中紅叉表示一類,藍圈表示另一類。

    對于

    hθ(x)=g(θ0+θ1x1+θ2x2)(5) 假設我們得到的參數θ=[?311],此時決策邊界為黑線所示。由sigmoid函數我們可知,當θ0+θ1x1+θ2x20時,預測為類1,即為直線以上;當θ0+θ1x1+θ2x2<0時,預測為類0,即為直線以下。我們預先規定:紅叉為類1,藍圈為類0。
    注:這里有人可能會有疑問,假如我們規定紅叉為類0,藍圈為類1,如果我們還是認為θTx0即取得直線上方的點為為類1,θTx<0即取得直線下方的點為類0,那豈不是會分錯?學完本系列,我將給出答案,這也是我曾經學習ML時的困惑。

    4.代價函數

    在線性回歸問題中,我們是這樣定義代價函數的

    J(θ)=12mi=1m(hθ(x(i))?y(i))2(6) 那我們可不可以用這個代價函數來解決邏輯回歸?答案是否定的,因為hθ(x)中包含了一個非線性函數即sigmoid函數,這使得J(θ)不是凸函數,有很多局部最小值,很難通過梯度下降法或其他方法得到全局最優值。我們來看一下J(θ)的大致圖像。

    為了方便說明我們令 J(θ)=1mi=1mCost(hθ(x(i))y)(7) 其中 Cost(hθ(x(i))y)=12(hθ(x(i))?y(i))2(8) 現在我們該選擇一個Cost(hθ(x(i))y),使得它是凸函數。函數的選擇方法和選擇原因涉及到比較復雜的數學原理,例如最大熵原理,感興趣的可以上網自行搜索,在這里就不詳細介紹了。總之我們找到了這樣的一個完美凸函數(只有全局最小值)。
    Cost(hθ(x)y)={?log(hθ(x)),?log(1?hθ(x)),if?y=1if?y=0(9) 讓我們來直觀地感受一下。

    我們可以看到,當預測的為hθ(x)=1且實際的類別也是y=1時,代價函數取值為0;而當預測的為hθ(x)=0且實際的類別是0,意味著分類完全錯誤時,代價函數是無窮大,這個錯誤無法容忍。由于sigmoid函數的作用,hθ(x)(0,1),因此不會出現代價函數無意義的情況。這是y=1的情況,當y=0時,正好相反,我們可以自行畫出圖像,在這里就不進行解釋了。
    為了能用梯度下降法或其他方法尋找最優θ,我們需要改變一下Cost(hθ(x)y)的形式,使之更方便計算,并代入到代價函數中即 J(θ)=?1mi=1m[y(i)log(hθ(x(i)))+(1?y(i))log(1?hθ(x(i)))](10) 下面要做的就是用梯度下降法最小化代價函數,重復對所有的θj同時進行更新,方法同線性回歸一樣。
    θj=θj?α?θjJ(θ)(11) 其中 ?θjJ(θ)=1mi=1m(hθ(x(i))?y(i))x(i)j(12) 感興趣的可以自行推導上式(12),涉及偏導數最基本的知識。這么看起來邏輯回歸代價函數的偏導數和線性回歸代價函數的偏導數一致,其實不然,因為在線性回歸中的hθ(x)為式(1),而邏輯回歸中的為式(2),邏輯回歸比線性回歸多了一個sigmoid函數,這點切記!

    5.其他優化方法

    除了梯度下降法,還有共軛梯度法、BFGS、L-BFGS等等,這幾種方法收斂速度快,不用選擇步長α,但是非常復雜,很難理解。不過在matlab的庫中存在這幾種方法,我們可以通過函數fminunc自行調用,不過前提是計算好代價函數和梯度。在這里就不詳細介紹了。

    6.多元分類

    讓我們舉一個例子更直觀地進行描述。假如我們有數據集x,并且分為三類:1,2,3。訓練時我們可以這樣做,先把注意力集中在類1,于是當前的任務是把類別1與類別2、3進行分類;然后再把注意力集中在類2,于是當前的任務是把類別2與類別1、3進行分類;最后把注意力集中在類3,于是當前的任務是把類別3與類別1、2進行分類。這樣就把多元分類問題轉化為二元分類問題,各個擊破。現在我們得到了三個分類器,三組θ。若給定一個未知類別的數據,通過計算hθj(x),對于第一個分類器(j=1),我們得到的是未知類別是類1的概率;對于第二個分類器(j=2),我們得到的是未知類別是類2的概率;對于第三個分類器(j=3),我們得到的是未知類別是類3的概率。比較這三個概率,哪個概率最大,當然位置數據就屬于這個類別。

    注:回到前文所示的那個問題。假如我們規定紅叉為類0,藍圈為類1,如果我們還是認為θTx0即取得直線上方的點為類1,θTx<0即取得直線下方的點為類0,那豈不是會分錯?其實不然,當我們規定的類別相反時,分類器給出的θ也正好相反,因為是最小化代價函數,如果分類徹底分反,代價函數則取得極大值。而且最關鍵一點,對于二維來說,θTx0不代表一定是取得直線上方的點。因此當θ取反時,θTx亦取反,于是當θTx0時,取得的是類別1,而且是黑色的決策邊界下方,符合。所以訓練集類別的設定絲毫不會對結果產生影響,無論怎樣對訓練集設定類1還是類0,當θTx時,一定選擇的是類1,一定符合訓練集即是訓練集標注的類別1。

    二、正則化

    首先我們來了解一下什么是欠擬合和過擬合。欠擬合,顧名思義,擬合的所用的參數過少,導致無法準確擬合訓練數據,準確度比較低。而過擬合意味著所用的參數太多導致雖然可以非常準確地擬合訓練集,但是無法進行泛化(generalization),即無法掌握訓練集的規律。下圖左1為欠擬合,右1為過擬合,中間的擬合是我們所需要的。

    線性回歸和邏輯回歸等問題中,如果問題比較復雜,并且特征(參數)較多,我們很難去選擇一個很好的參數數量去防止欠擬合和過擬合,這時就需要對我們的代價函數進行正則化(regularization),即在后面增加一個才”懲罰項”,當參數的值較大時代價函數較大,這樣訓練出來的模型會盡可能地使參數變小,即模型較為簡單,避免出現過擬合。增加的一項為:

    λj=1nθ2j(13) 注意:λ0,而且在這里我們沒有考慮偏置項θ0,因為偏置項與特征數的選取無關。

    對于線性回歸,我們修改它的代價函數如下:

    J(θ)=12mi=1m(hθ(x(i))?y(i))2+λ2mj=1nθ2j(14) 我們可以看到如果訓練集特征數較多時,當λ減小,”懲罰項”趨近于0,即出現過擬合現象。當λ增加,”懲罰項”增加,如果想要最小化代價函數就要使θ盡量小,即此時會出現欠擬合現象。
    因此對于權值θ的更新也要進行相應的改變,同樣對于θ0我們不進行正則化。
    ???????????θ0=θ0?α1mi=1m(hθ(x(i))?y(i))x(i)0θj=θj?α(1mi=1m(hθ(x(i))?y(i))x(i)1+λmθj)(y=1,2,3,?)(15) 線性回歸中的正規方程,我們進行這樣的改變: θ=(XTX+λ?????????011?1?????????(n+1)×(n+1))?1XTy(16) 注:正規方程中進行正則化之后,經過嚴格的數學證明可以得知矩陣一定可逆!

    對于邏輯回歸,我們修改它的代價函數如下:

    J(θ)=?1mi=1m[y(i)log(hθ(x(i)))+(1?y(i))log(1?hθ(x(i)))]+λ2mj=1nθ2j(17) 權值更新的式子與線性回歸的式(15)一致,除了注意hθ(x)是要作用在sigmoid函數上。

    總結

    以上是生活随笔為你收集整理的机器学习入门系列三(关键词:逻辑回归,正则化)的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。