《Python大規模機器學習》 —2.3.3Scikit-learn的SGD實現

      網友投稿 931 2025-03-31

      2.3.3Scikit-learn的SGD實現

      Scikit-learn軟件包含許多在線學習算法。并不是所有機器學習算法都有在線學習算法,但是在線算法種類一直在穩步增長。在監督學習方面,我們將可用學習器分成分類器和回歸器,并列舉它們。

      對于分類器有以下幾點說明:

      sklearn.naive_bayes.MultinomialNB

      sklearn.naive_bayes.BernoulliNB

      sklearn.linear_model.Perceptron

      sklearn.linear_model.PassiveAggressiveClassifier

      sklearn.linear_model.SGDClassifier

      《Python大規模機器學習》 —2.3.3Scikit-learn的SGD實現

      回歸器有兩種選擇:

      sklearn.linear_model.PassiveAggressiveRegressor

      sklearn.linear_model.SGDRegressor

      它們都可以增量學習,逐實例更新自己,但只有SGDClassifier和SGDRegressor是基于我們之前描述的隨機梯度下降優化算法,本章重點介紹它們。對于所有大型問題,SGD學習器都為最優,因為其復雜度為O(k*n*p),其中k為數據遍歷次數,n為實例數量,p為特征數(如果使用稀疏矩陣為非零特征):一個完全線性時間學習器,學習時間與所顯示的實例數量成正比。

      其他在線算法將被用作比較基準。此外,基于在線學習的partial_fit 算法和mini-batch(傳輸更大塊非單個實例)的所有算法都使用相同API。共享相同API便于這些學習技術在你的學習框架中任意互換。

      擬合方法能使用所有可用數據進行即時優化,與之相比,partial_fit基于傳遞的每個實例進行局部優化。即使數據集全傳遞給partial_fit,它也不會處理整批數據,而是處理每個元素,以保證學習操作的復雜度呈線性。此外,在partial_fit后,學習器可通過后續調用partial_fit來不斷更新,這樣的方法非常適合于從連續數據流進行在線學習。

      分類時,唯一要注意的是,第一次初始化時需要知道要學習的種類數及其標記方法。可以使用類參數來完成,并指出標簽數值的列表。這就需要事先進行探索,疏理數據流以記錄問題的標簽,并在不平衡情況下關注其分布——相對其他類,該類在數值上會太大或太小(但是Scikit-learn提供了一種自動處理問題的方法)。如果目標變量為數值變量,則了解其分布仍然很有用,但是這對于成功運行學習算法來說不是必需的。

      Scikit-learn中有兩個實現——一個用于分類問題(SGDClassfier),一個用于回歸問題(SGDRegressor)。分類實現使用一對多(OVA)策略處理多類問題。這個策略就是,給定k個類,就建立k個模型,每個類針對其他類的所有實例都會建立一個模型,因此總共創建k個二進制分類。這就會產生k組系數和k個向量的預測及其概率。最后,與其他類比較每類的發生概率,將分類結果分配給概率最高的類。如果要求給出多項式分布的實際概率,只要簡單地與其相除就能對結果歸一化。(神經網絡中的softmax層就會這么處理,下一章會看到詳細介紹。)

      Scikit-learn中實現分類和SGD回歸時都會有不同的損失函數(成本函數,隨機梯度下降優化法的核心)。

      可以按照以下內容用損失參數表示分類:

      loss='log':經典邏輯回歸

      loss='hinge':軟邊界,即線性支持向量機

      loss='modified_huber':平滑hinge loss

      回歸有三個損失函數:

      loss='squared_loss':普通最小二乘法線性回歸(OLS)

      loss='huber': 抗噪強的魯棒回歸抗Huberloss

      loss='epsilon_insensitive':線性支持向量回歸

      我們將給出一些使用經典統計損失函數的實例,例如對數損失和OLS。下一章討論hinge loss和支持向量機(SVMS),并詳細介紹其功能。

      作為提醒(這樣讀者就不必再查閱其他機器學習輔助書籍),如果回歸函數定義為h,其預測由h(x)給出,因為X為特征矩陣,那么其公式如下:

      因此,最小化的OLS成本函數如下:

      在邏輯回歸中,將二進制結果0/1變換為優勢比,пy為正結果的概率,公式如下:

      因此,對數損失函數定義如下:

      Tensorflow python 機器學習

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:什么是表單設計
      下一篇:OpenMP在NUMA架構下的調優
      相關文章
      亚洲中文字幕无码久久| 亚洲va久久久久| 亚洲不卡无码av中文字幕| 伊人久久亚洲综合影院首页| 亚洲欧洲自拍拍偷午夜色| 久久久无码精品亚洲日韩蜜臀浪潮 | 亚洲午夜激情视频| 亚洲国产成人精品无码久久久久久综合| 亚洲一区二区三区深夜天堂| 久久狠狠爱亚洲综合影院| 亚洲1234区乱码| 亚洲综合久久精品无码色欲| 亚洲最大的成人网| 亚洲人成电影网站色| 亚洲av无码专区国产不乱码| 欧美激情综合亚洲一二区| 夜色阁亚洲一区二区三区| 亚洲国产成人精品久久久国产成人一区二区三区综 | 亚洲视频一区在线观看| 亚洲美女视频一区二区三区| 亚洲精品午夜在线观看| 亚洲av永久无码精品三区在线4| 中文文字幕文字幕亚洲色| 亚洲人成色777777老人头| 亚洲Av永久无码精品一区二区| 狼人大香伊蕉国产WWW亚洲| 亚洲国产精品激情在线观看| 亚洲国产成人久久综合一区77| 国产亚洲精品国看不卡| 国产成A人亚洲精V品无码性色| 亚洲欧洲日产国码久在线观看| 亚洲精品无码久久久久久久| 亚洲一级大黄大色毛片| 亚洲综合色婷婷在线观看| 综合一区自拍亚洲综合图区| 亚洲精品无码久久久| 亚洲va无码va在线va天堂| 亚洲精品视频专区| 亚洲综合久久精品无码色欲| 国产99久久亚洲综合精品| 亚洲色成人网站WWW永久|