scikit-learn/sklearn學習|套索回歸Lasso解讀

【1】引言

前序學習進程中,對用scikit-learn表達線性回歸進行了初步解讀。
線性回歸能夠將因變量yyy表達成由自變量xxx、線性系數矩陣www和截距bbb組成的線性函數式:
y=∑i=1nwi?xi+b=wTx+by=\sum_{i=1}^{n}w_{i}\cdot x_{i}+b=w^T{x}+by=i=1n?wi??xi?+b=wTx+b實際上很多時候數據之間不一定是理想化的線性關系,所以需要對線性關系式進行修正,這個時候就可以考慮嶺回歸。

嶺回歸是修正后的線性回歸,相對于普通線性回歸,增加了一個參數:均方誤差。

【2】線性回歸均方誤差

對于線性回歸,均方誤差的計算式子為:
L(w,b)=∑i=1n(yi?yi^)2=∑i=1n(yi?(wTxi+b))2L(w,b)=\sum_{i=1}^{n}(y_{i}-\hat{y_{i}})^2=\sum_{i=1}^{n}(y_{i}-(w^Tx_{i}+b))^2L(w,b)=i=1n?(yi??yi?^?)2=i=1n?(yi??(wTxi?+b))2在這里,yyy是第i個樣本的真實值,y^\hat{y}y^?是第i個樣本的預測值。
線性回歸的均方誤差將真實值和預測值作差后求平方和即可。

【3】嶺回歸均方誤差

嶺回歸相對于線性回歸,均方誤差的計算式子增加了對參數權重平方和的計算,稱之為L2正則化懲罰項:
L(w,b)=∑i=1n(yi?yi^)2+α∑j=1mwj2=∑i=1n(yi?(wTxi+b))2+α∑j=1mwj2L(w,b)=\sum_{i=1}^{n}(y_{i}-\hat{y_{i}})^2+\alpha\sum_{j=1}^{m}w_{j}^{2}=\sum_{i=1}^{n}(y_{i}-(w^Tx_{i}+b))^2+\alpha\sum_{j=1}^{m}w_{j}^{2}L(w,b)=i=1n?(yi??yi?^?)2+αj=1m?wj2?=i=1n?(yi??(wTxi?+b))2+αj=1m?wj2?在這里,yyy是第i個樣本的真實值,y^\hat{y}y^?是第i個樣本的預測值。
新增加的L2正則化懲罰項為α∑j=1mwj2,其中α≥0\alpha\sum_{j=1}^{m}w_{j}^{2},其中\alpha\geq0αj=1m?wj2?,其中α0

實際上根據上述說明,從線性回歸到嶺回歸主要的變化發生在均方誤差的定義上。
嶺回歸大名鼎鼎,在均方誤差項里面增加了一個L2正則化懲罰項。既然可以有L2正則化,顯然也可以有L1正則化,這就是Lasso套索回歸方。

【4】套索回歸Lasso

嶺回歸相對于普通線性回歸,區別在于添加了L2正則化懲罰項,這一變化解決了普通線性回歸至少兩個問題:多重共線性和過擬合。

套索回歸Lasso相對于普通線性回歸,添加L1正則化懲罰項,此時的均方誤差公式為:
L(w,b)=12n∑i=1n(yi?yi^)2+α∑j=1n∣wj∣=12n∑i=1n(yi?(wTxi+b))2+α∑j=1n∣wj∣L(w,b)=\frac{1}{2n}\sum_{i=1}^{n}(y_{i}-\hat{y_{i}})^2+\alpha\sum_{j=1}^{n}\left | w_{j} \right |=\frac{1}{2n}\sum_{i=1}^{n}(y_{i}-(w^Tx_{i}+b))^2+\alpha\sum_{j=1}^{n}\left | w_{j} \right |L(w,b)=2n1?i=1n?(yi??yi?^?)2+αj=1n?wj?=2n1?i=1n?(yi??(wTxi?+b))2+αj=1n?wj?
新增加的L1正則化懲罰項為α∑j=1m∣wj∣\alpha\sum_{j=1}^{m}\left | w_{j} \right |αj=1m?wj?,其中:
α≥0\alpha \geq0α0是L1正則化懲罰項強度,可以控制對后面部分懲罰的力度;
∑j=1n∣wj∣\sum_{j=1}^{n}\left | w_{j}\right |j=1n?wj?是所有線性系數絕對值的和。
α>0\alpha >0α>0時,隨著α\alphaα增加,正則化強度增加,會增強對系數絕對值和的約束,使得w→0w \rightarrow 0w0
α=0\alpha=0α=0,懲罰項不起作用,Lasso回歸退回到普通線性回歸。

【5】套索回歸Lasso的特點

嶺回歸和線性回歸都是線性關系式的推演,但嶺回歸通過L2正則化懲罰項讓線性系數wjw_{j}wj?保持在合理且較小的范圍,讓回歸模型更穩健、更準確。
套索回歸Lasso會讓部分線性系數直接精確約束至0,即自動剔除不重要的特征,是的模型最終只保留少數非零系數特征,這個特性讓Lasso非常適合高維數據的降維和變量篩選;

此外L1正則化懲罰項的存在,很顯然對線性系數發揮約束作用可以防止線性回歸過擬合。
此外應該強調的是,較小的α\alphaα可以保留相對多的特征,特征多可能過擬合,所以使用Lasso回歸應對L1正則化懲罰項的系數α\alphaα進行選取嘗試,已實現獲取最佳效果。

【6】總結

初步學習了套索回歸Lasso的基本概念,了解了套索回歸在對高維數據降維上的優勢和防止數據過擬合應該采取的措施。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/93384.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/93384.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/93384.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

暴雨服務器:以定制化滿足算力需求多樣化

在數字經濟與實體經濟深度融合的浪潮下,互聯網行業正經歷著前所未有的技術變革。大數據分析、云計算服務、人工智能算法等技術的快速演進,推動著企業對于高性能計算基礎設施的需求呈現指數級增長。據IDC數據顯示,互聯網行業已成為全球服務器采…

JavaScript字符串詳解

創建字符串: 1.使用字面量(推薦): 這是最常用、最直接的方式。你可以用單引號 ()、雙引號 (") 或反引號 () 把文本包起來 let singleQuote 單引號; let doubleQuote "雙引號"; let templateLiteral 反引號;2.使用String 構造函數&…

Kiro Preview 應用評測

Kiro應用評測 Kiro 是一個由亞馬遜推出的 AI 驅動的智能開發環境,從原型到生產全程陪伴您的開發過程。它將"靈感編程"的流暢性與規范的清晰性相結合,幫助您更快地構建更好的軟件。 昨天收到了Kiro的試用郵件,收到郵件后第一時間下載…

Flink2.0學習筆記:Flink服務器搭建與flink作業提交

一,下載flink:Downloads | Apache Flink,解壓后放入IDE工作目錄:我這里以1.17版本為例 可以看到,flink后期的版本中沒有提供window啟動腳本:start-cluster.bat 所以這里要通過windows自帶的wsl 系統啟動它 打開終端依次運行下列命令完成w…

MySQL鎖的分類

MySQL鎖可以按照多個維度進行分類,下面我用最清晰的方式為你梳理所有分類方式:一、按鎖的粒度分類(最常用分類)鎖類型作用范圍特點適用引擎示例場景表級鎖整張表開銷小、加鎖快,并發度低MyISAM, MEMORY數據遷移、全表統…

電腦上搭建HTTP服務器在局域網內其它客戶端無法訪問的解決方案

在電腦上開發一套HTTP服務器的程序在調試時,在本機內訪問正常,但是在本機外訪問就不正常,外部客戶端無法訪問或無法連接到本機的服務器的問題,這可能涉及網絡配置、防火墻、端口轉發或服務綁定等問題,在這里提供了解決…

雙指針和codetop2(最短路問題BFS)

雙指針和codetop21.雙指針1.[復寫0](https://leetcode.cn/problems/duplicate-zeros/)2.動態規劃1.[珠寶的最高價值](https://leetcode.cn/problems/li-wu-de-zui-da-jie-zhi-lcof/description/)2.[解碼方法](https://leetcode.cn/problems/decode-ways/)3.[下降路徑最小和](ht…

基于K鄰近算法(KNN)的數據回歸預測模型

一、作品詳細簡介 1.1附件文件夾程序代碼截圖 全部完整源代碼,請在個人首頁置頂文章查看: 學行庫小秘_CSDN博客https://blog.csdn.net/weixin_47760707?spm1000.2115.3001.5343 1.2各文件夾說明 1.2.1 main.m主函數文件 該MATLAB代碼實現了一個基于…

【123頁PPT】化工行業數字化解決方案(附下載方式)

篇幅所限,本文只提供部分資料內容,完整資料請看下面鏈接 https://download.csdn.net/download/2501_92808859/91654005 資料解讀:【123頁PPT】化工行業數字化解決方案 詳細資料請看本解讀文章的最后內容。化工行業作為國民經濟的重要支柱之…

c++--文件頭注釋/doxygen

文件頭注釋 開源項目: /*** file robot_base.cpp* author Mr.Wu* date 2025-05-28* version 1.0.0* brief Robot basic drive to communicate with controller** copyright Copyright (c) 2025 google.** Licensed under the Apache License, Version 2.…

【教程】筆記本安裝FnOS設置合蓋息屏不休眠

重裝FnOS好幾次了,合蓋后屏幕關閉但不休眠的問題每次都要網上找參差不齊的教程,麻煩死了,索性記錄一下方便以后復制粘貼。 使用root登錄 sudo -i修改系統配置文件編輯logind.conf文件: 打開終端,輸入以下命令以編輯log…

深入解析 Monkey OCR:本地化、多語言文本識別的利器與實踐指南

在信息爆炸的時代,從圖片、掃描文檔中高效提取結構化文本的需求日益迫切。OCR(光學字符識別)技術成為解決這一問題的核心工具。盡管市面上有 Abbyy FineReader、Adobe Acrobat 等商業巨頭,以及 Tesseract、PaddleOCR 等開源方案&a…

動態規劃法 - 53. 最大子數組和

什么是動態規劃法? 簡單說,動態規劃(Dynamic Programming,簡稱 DP) 是一種**「把復雜問題拆解成小問題,通過解決小問題來解決大問題」**的方法。 核心思路有兩個: 1.拆分問題:把原問…

STM32CUBEMX配置stm32工程

1.新建工程2.選擇芯片3.配置各種片上外設和時鐘4.創建工程5.根據文件內容進行修改工程注意:最好根據工程規范來做,因為有時我們需要更改配置并重新生成,如果不按規范來會導致部分代碼會被系統清除,在工程中中有很多成對的BEGIN和E…

Day07 緩存商品 購物車

緩存菜品問題說明用戶端小程序展示的菜品數據都是通過查詢數據庫獲得,如果用戶端訪問量比較大,數據庫訪問壓力隨之增大。結果:系統響應慢,用戶體驗差實現思路通過 Redis 來緩存菜品數據,減少數據庫查詢操作。緩存邏輯分…

Jenkins(集群與流水線配置)

Jenkins(集群與流水線配置) Jenkins集群 集群化構建可以提升構建效率,也可以并發在多臺機器上執行構建。 安裝前提:內存至少512MB、Java 17 以上、Maven環境、Git環境 配置集群步驟 配置節點菜單新建節點查看節點配置狀態 新建完節…

深入剖析ROS參數服務器通信機制 ——共享全局數據的“云端倉庫”實現原理

?1. 核心概念:分布式數據共享容器? ?定位?:ROS參數服務器(Parameter Server)是ROS架構中的全局共享存儲系統,相當于機器人的“云端倉庫”。 ?作用?: 存儲多節點共享的靜態配置參數(如機器…

21.AlexNet

雖然LeNet在手寫數字識別上取得了不錯的結果,但是他在對于更大的數據集效果就十分有限。 一方面,對于更大尺寸的圖像效果有限 另一方面,對于更多分類的任務效果有限 自LeNet后的十幾年,計算機視覺領域步入寒冬,神經網絡…

Shell腳本-條件判斷相關參數

一、前言在 Shell 腳本編程中,條件判斷 是實現流程控制的核心機制之一。無論是判斷文件是否存在、字符串是否相等,還是數值大小比較,都離不開條件判斷語句。本文將帶你全面掌握 Shell 腳本中與條件判斷相關的參數和語法,包括&…

何為“低空經濟”?

低空經濟(Low-Altitude Economy)是指以1000米以下空域(部分場景可延伸至3000米)為核心,以無人機(UAV)、電動垂直起降飛行器(eVTOL)、直升機、通航飛機等航空器為載體&…