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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python 线性回归与逻辑回归区别(有监督学习【分类、回归】、无监督学习【聚类、强化学习】、损失函数、梯度下降、学习率、过拟合、欠拟合、正则化)

發布時間:2025/3/19 python 22 豆豆

引用文章1
https://blog.csdn.net/viewcode/article/details/8794401

引用文章2:一、線性回歸和邏輯回歸

一、什么是機器學習

利用大量的數據樣本,使得計算機通過不斷的學習獲得一個模型,用來對新的未知數據做預測。

  • 有監督學習(分類、回歸)
    同時將數據樣本和標簽輸入給模型,模型學習到數據和標簽的映射關系,從而對新數據進行預測。

    分類問題和回歸問題本質上是一樣的,分類問題輸入數據,輸出分類;回歸問題輸入時間,輸出(預測)數據

  • 無監督學習(聚類)
    只有數據,沒有標簽,模型通過總結規律,從數據中挖掘出信息。

  • 強化學習
    強化學習會在沒有任何標簽的情況下,通過先嘗試做出一些行為得到一個結果,通過這個結果是對還是錯的反饋,調整之前的行為,就這樣不斷的調整,算法能夠學習到在什么樣的情況下選擇什么樣的行為可以得到最好的結果。

就好比你有一只還沒有訓練好的小狗,每當它把屋子弄亂后,就減少美味食物的數量(懲罰),每次表現不錯時,就加倍美味食物的數量(獎勵),那么小狗最終會學到一個知識,就是把客廳弄亂是不好的行為。

二、線性回歸

利用大量的樣本D=(xi,yi)i=1N\mathit{D}=\left ( x_{i},y_{i} \right )_{i=1}^{N}D=(xi?,yi?)i=1N?,通過有監督的學習,學習到由x到y的映射f\mathit{f}f,利用該映射關系對未知的數據進行預估,因為y為連續值,所以是回歸問題。

  • 單變量情況:
  • 多變量情況:
    二維空間的直線,轉化為高維空間的平面

2.1 線性回歸的表達式

機器學習是數據驅動的算法,數據驅動=數據+模型,模型就是輸入到輸出的映射關系。

模型=假設函數(不同的學習方式)+優化

1. 假設函數

2. 優化方法

監督學習的優化方法=損失函數+對損失函數的優化

3. 損失函數

如何衡量已有的參數θ的好壞?

利用損失函數來衡量,損失函數度量預測值和標準答案的偏差,不同的參數有不同的偏差,所以要通過最小化損失函數,也就是最小化偏差來得到最好的參數。

解釋:因為有m個樣本,所以要平均,分母的2是為了求導方便

損失函數:凸函數

4. 損失函數的優化

損失函數如右圖所示,是一個凸函數,我們的目標是達到最低點,也就是使得損失函數最小。

多元情況下容易出現局部極值


求極值的數學思想,對公式求導=0即可得到極值,但是工業上計算量很大,公式很復雜,所以從計算機的角度來講,求極值是利用梯度下降法。




參數更新示例:

對每個theta都進行更新:

學習率:

① 學習率太大,會跳過最低點,可能不收斂
② 學習率太小收斂速度過慢

5. 過擬合和欠擬合

過擬合的原因:

① 如果我們有很多的特征或模型很復雜,則假設函數曲線可以對訓練樣本擬合的非常好,學習能力太強了,但是喪失了一般性。
② 眼見不一定為實,訓練樣本中肯定存在噪聲點,如果全都學習的話肯定會將噪聲也學習進去。

過擬合造成什么結果:

過擬合是給參數的自由空間太大了,可以通過簡單的方式讓參數變化太快,并未學習到底層的規律,模型抖動太大,很不穩定,variance變大,對新數據沒有泛化能力。

6. 利用正則化解決過擬合問題

正則化的作用:

① 控制參數變化幅度,對變化大的參數懲罰

② 限制參數搜索空間

添加正則化的損失函數:

三、邏輯回歸


為什么使用sigmoid函數:


3.1 邏輯回歸的損失函數

線性回歸的損失函數為平方損失函數,如果將其用于邏輯回歸的損失函數,則其數學特性不好,有很多局部極小值,難以用梯度下降法求最優。


邏輯回歸損失函數:對數損失函數

解釋:如果一個樣本為正樣本,那么我們希望將其預測為正樣本的概率p越大越好,也就是決策函數的值越大越好,則logp越大越好,邏輯回歸的決策函數值就是樣本為正的概率;

如果一個樣本為負樣本,那么我們希望將其預測為負樣本的概率越大越好,也就是(1-p)越大越好,即log(1-p)越大越好。

為什么要用log:

樣本集中有很多樣本,要求其概率連乘,概率為(0,1)間的數,連乘越來越小,利用log變換將其變為連加,不會溢出,不會超出計算精度。

邏輯回歸損失函數:



3.2 邏輯回歸實現多分類


四、LR的特點

可解釋性高,工業中可控度高。

五、 為什么邏輯回歸比線性回歸好

雖然邏輯回歸能夠用于分類,不過其本質還是線性回歸。它僅在線性回歸的基礎上,在特征到結果的映射中加入了一層sigmoid函數(非線性)映射,即先把特征線性求和,然后使用sigmoid函數來預測。

這主要是由于線性回歸在整個實數域內敏感度一致,而分類范圍,需要在[0,1]之內。而邏輯回歸就是一種減小預測范圍,將預測值限定為[0,1]間的一種回歸模型,其回歸方程與回歸曲線如下圖所示。邏輯曲線在z=0時,十分敏感,在z>>0或z<<0處,都不敏感,將預測值限定為(0,1)。

  • LR在線性回歸的實數范圍輸出值上施加sigmoid函數將值收斂到0~1范圍, 其目標函數也因此從差平方和函數變為對數損失函數, 以提供最優化所需導數(sigmoid函數是softmax函數的二元特例, 其導數均為函數值的f*(1-f)形式)。請注意, LR往往是解決二元0/1分類問題的, 只是它和線性回歸耦合太緊, 不自覺也冠了個回歸的名字(馬甲無處不在). 若要求多元分類,就要把sigmoid換成大名鼎鼎的softmax了。

  • 首先邏輯回歸和線性回歸首先都是廣義的線性回歸,其次經典線性模型的優化目標函數是最小二乘,而邏輯回歸則是似然函數,另外線性回歸在整個實數域范圍內進行預測,敏感度一致,而分類范圍,需要在[0,1]。邏輯回歸就是一種減小預測范圍,將預測值限定為[0,1]間的一種回歸模型,因而對于這類問題來說,邏輯回歸的魯棒性比線性回歸的要好。

  • 邏輯回歸的模型本質上是一個線性回歸模型,邏輯回歸都是以線性回歸為理論支持的。但線性回歸模型無法做到sigmoid的非線性形式,sigmoid可以輕松處理0/1分類問題。

  • 六、 LR和SVM的關系

    1、LR和SVM都可以處理分類問題,且一般都用于處理線性二分類問題(在改進的情況下可以處理多分類問題)

    2、兩個方法都可以增加不同的正則化項,如l1、l2等等。所以在很多實驗中,兩種算法的結果是很接近的。

    區別:

    1、LR是參數模型,SVM是非參數模型。

    2、從目標函數來看,區別在于邏輯回歸采用的是logistical loss,SVM采用的是hinge loss,這兩個損失函數的目的都是增加對分類影響較大的數據點的權重,減少與分類關系較小的數據點的權重。

    3、SVM的處理方法是只考慮support vectors,也就是和分類最相關的少數點,去學習分類器。而邏輯回歸通過非線性映射,大大減小了離分類平面較遠的點的權重,相對提升了與分類最相關的數據點的權重。

    4、邏輯回歸相對來說模型更簡單,好理解,特別是大規模線性分類時比較方便。而SVM的理解和優化相對來說復雜一些,SVM轉化為對偶問題后,分類只需要計算與少數幾個支持向量的距離,這個在進行復雜核函數計算時優勢很明顯,能夠大大簡化模型和計算。

    5、logic 能做的 svm能做,但可能在準確率上有問題,svm能做的logic有的做不了。

    總結

    以上是生活随笔為你收集整理的python 线性回归与逻辑回归区别(有监督学习【分类、回归】、无监督学习【聚类、强化学习】、损失函数、梯度下降、学习率、过拟合、欠拟合、正则化)的全部內容,希望文章能夠幫你解決所遇到的問題。

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