機器學習之線性回歸的入門學習

????????線性回歸是一種監督學習算法,用于解決回歸問題。它的目標是找到一個線性關系(一條直線或一個超平面),能夠最好地描述一個或多個自變量(特征)與一個因變量(目標)之間的關系。利用回歸方程對一個或多個自變量(特征值)和因變量(目標值)之間的關系進行建模的一種分析方式。

一.線性回歸的簡單介紹

目標:?根據輸入的特征(X)來預測一個連續數值的輸出(y)。例如:

例1. 根據房屋面積(特征)預測房價(目標)。

例2. 根據廣告投入(特征)預測銷售額(目標)。

例3. 根據學習時間(特征)預測考試分數(目標)。

“線性”的含義:

  • 特征與目標關系線性:?它假設特征與目標變量之間大致存在直線關系(在二維空間)或平面/超平面關系(在高維空間)。這是其核心假設。

  • 模型結構線性:?它假設目標變量(y)可以表示為一個或多個特征變量(X)的加權和,再加上一個常數項(截距)。模型本身關于參數(權重)是線性的。

回歸 (Regression):?一種監督學習任務,目標是預測一個連續值的輸出變量(目標變量)。比如預測房價、溫度、銷售額等。

模型:?線性回歸模型試圖學習一個線性函數(或稱為超平面,當特征多于一個時),用輸入特征來最佳地擬合或預測輸出目標。

????????找到一組最優的系數 (β?, β?, ..., β?),使得模型預測的???(讀作 y-hat) 與真實的?y?值之間的誤差盡可能小。

二.基本模型形式

1.簡單線性回歸 (一個特征)

一個自變量(X)與因變量(Y)呈直線關系:y = w * x + b,屬于線性回歸的基礎模型

y:預測的目標值(因變量)。

x:輸入的特征(自變量)。

w:權重或斜率。表示特征 x 對目標 y 的影響程度(x 每變化一個單位,y 預期變化多少)。

b:偏置項或截距。表示當所有特征為 0 時,預測的 y 值(有時有實際意義,有時沒有)。?

2.多元線性回歸 (多個特征)

多個自變量(X?, X?, ..., X?)共同與Y呈線性關系:y = w1 * x1 + w2 * x2 + ... + wn * xn + b,屬于線性回歸的核心模型

y:預測的目標值。

x1, x2, ..., xn:n 個輸入特征。

w1, w2, ..., wn:每個特征對應的權重。

b:偏置項。

3.線性回歸的擴展應用

X與Y的關系無法用直線/平面描述(如曲線、指數關系)

處理方式

  • 多項式回歸(線性回歸的變體):Y = β? + β?X + β?X2 + ... + β?X? + ε
    示例:藥物劑量(X)與療效(Y)呈U型曲線

  • 變量變換:對X或Y做數學變換(如取對數)使關系線性化:log(Y) = β? + β?X + ε
    示例:經濟學中的柯布-道格拉斯生產函數

關鍵點

  • 模型仍關于參數β是線性的(核心要求)

  • 不屬于經典線性回歸,但可通過線性回歸技術求解

????????核心本質:線性回歸的“線性”指模型對參數β是線性的(如?β? + β?X? + β?X?),而非對自變量線性。因此即使自變量存在非線性項(如?X2),只要關于β線性,仍可用線性回歸求解。

三.線性回歸的損失與優化

1.損失函數 (Loss Function)

????????損失函數(也稱為代價函數 - Cost Function)的核心作用是量化模型預測值與真實值之間的差距。在線性回歸中,我們通常使用均方誤差 (Mean Squared Error, MSE)?作為損失函數。它計算的是所有訓練樣本的預測值與真實值之差的平方的平均值。

????????它像一個打分器。我們的目標是找到一組模型參數 θ(θ?, θ?, ..., θ?),使得這個打分器給出的分數 J(θ) 盡可能小。J(θ) 越小,說明模型的整體預測誤差越小,擬合得越好。

數學表達式:J(θ) = (1/(2m)) * Σ???? (hθ(x???) - y???)2

  • J(θ):損失函數的值(依賴于模型參數 θ)。
  • m:訓練樣本的數量。
  • hθ(x???):模型對第 i 個樣本 x??? 的預測值(hθ(x) = θ? + θ?x? + θ?x? + ... + θ?x?)。
  • y???:第 i 個樣本的真實標簽值。
  • Σ????:對所有 m 個訓練樣本求和。
  • (1/(2m)):前面的 1/2 主要是為了后續梯度下降計算導數時方便(平方項求導會產生因子2,正好抵消),1/m 表示計算平均值。有時也會省略 1/2,直接用 1/m,這對找到最小值的位置沒有影響。

直觀理解:

  • 平方的作用:

    保證差值總是正數(負的差值平方后變正)。放大較大誤差的懲罰:一個誤差為2的點對損失的貢獻是4,而一個誤差為4的點貢獻是16,是前者的4倍!這使得模型對異常值非常敏感。
  • 平均的作用:?消除樣本數量?m?對損失值大小的影響,使得不同大小數據集的損失值具有可比性。

2.優化 (Optimization)

優化的目標就是找到一組參數 θ,使得損失函數 J(θ) 的值最小化。

梯度下降法 (Gradient Descent) 原理:

想象你站在一個山谷(代表損失函數?J(θ))的某個山坡上,目標是走到谷底(最小值點)。梯度下降的策略是:

  • 觀察坡度:?計算你當前位置的“坡度”(即損失函數關于每個參數的偏導數 - 梯度??J(θ))。
  • 確定方向:?坡度最陡峭的下坡方向就是你要邁步的方向(梯度的反方向?-?J(θ))。
  • 邁出一步:?沿著這個方向走一小步。這一步的大小由一個叫學習率 (Learning Rate)?的參數?α?控制。
  • 重復:?到達新位置后,重復步驟1-3,重新計算坡度,確定新的下坡方向,再邁一步,直到走到谷底(或達到停止條件)。

正規方程 (Normal Equation):

  • 對于線性回歸,損失函數?J(θ)?是凸函數(碗狀),存在一個解析解(閉式解),可以直接通過一個數學公式一步計算出最優?θ
    θ = (X?X)?1X?y

    • X?是包含所有樣本特征的設計矩陣(每行一個樣本,第一列通常全為1對應 θ?)。

    • y?是包含所有樣本真實標簽的向量。

  • 優點:?不需要選擇學習率?α,不需要迭代。

  • 缺點:

    1. 計算量大:?計算矩陣?(X?X)?的逆的時間復雜度是?O(n3)(n 是特征數量)。當特征數量?n?非常大(如 > 10000)時,計算會非常慢甚至不可行。

    2. 要求?X?X?可逆:?如果特征之間存在精確線性相關(多重共線性)或者樣本數?m?小于特征數?nX?X?不可逆(或奇異),無法使用。雖然可以通過偽逆解決,但穩定性可能變差。

  • 適用場景:?特征數量?n?相對較小(例如幾千以內)且?X?X?容易求逆時。

四.線性回歸的優點

簡單易懂,實現方便:

  • 原理直觀:?線性關系是人類最容易理解的關系之一。

  • 算法成熟:?求解方法(如最小二乘法)在數學上非常成熟、高效,計算復雜度低(通常是O(n*p2)或更低,其中n是樣本數,p是特征數),即使是大型數據集也能快速訓練。

  • 廣泛支持:?幾乎所有統計軟件和編程語言(Python, R, MATLAB, Excel等)都內置了高效的線性回歸實現。

可解釋性強:

  • 核心優勢!?回歸系數β?有非常清晰的解釋:表示在保持其他特征不變的情況下,特征X?每增加一個單位,目標變量y平均變化β?個單位。

  • 這使得模型結果易于向非技術人員解釋,對于需要理解變量間影響機制的場景(如經濟學、社會科學、生物醫學研究、業務分析)至關重要。

  • 可以方便地進行統計推斷(假設檢驗、置信區間),判斷哪些特征的影響是統計顯著的。

計算效率高:

  • 最小二乘法的解析解(或數值優化方法)計算非常快速,尤其適用于特征維度不高的大數據集。

  • 預測階段的計算成本極低(只需做一次點積? = Xβ),適合需要快速響應的在線預測系統。

作為基準模型:

  • 由于其簡單性,常被用作評估更復雜模型性能的基準。如果一個復雜的模型無法顯著超越線性回歸,則其復雜性可能是不必要的。

五.缺點分析

強假設:?嚴重依賴特征與目標變量之間存在線性關系的假設。如果真實關系是非線性的(如曲線關系),線性回歸效果會很差。

對異常值敏感:?均方誤差損失函數會放大異常點(遠離主趨勢的點)的影響,導致擬合的直線被異常點“拉偏”。

多重共線性問題:?當輸入特征之間高度相關時,模型估計的權重會變得不穩定且難以解釋(雖然預測可能仍可用)。

特征工程依賴:?無法自動捕捉特征間的復雜交互作用或非線性關系,需要手動進行特征工程(如創建多項式特征、交互項)來提升表現。

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

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

相關文章

2-5 Dify案例實踐—利用RAG技術構建企業私有知識庫

目錄 一、RAG技術的定義與作用 二、RAG技術的關鍵組件 三、RAG技術解決的問題 四、RAG技術的核心價值與應用場景 五、如何實現利用RAG技術構建企業私有知識庫 六、Dify知識庫實現詳解 七、創建知識庫 1、創建知識庫 2、上傳文檔 3、文本分段與清洗 4、索引方式 5、…

斷路器瞬時跳閘曲線數據獲取方式

斷路器瞬時短路電流時,時間是在60ms內的,仿真器去直接捕獲電流有效值很難。按照電流互感器的電流曲線特性,電流越大,由于互感器飽和,到達一定電流值的時候,電流會趨于平穩不再上升,ADC-I曲線由線…

技巧|SwanLab記錄混淆矩陣攻略

繪制混淆矩陣(Confusion Matrix),用于評估分類模型的性能。混淆矩陣展示了模型預測結果與真實標簽之間的對應關系,能夠直觀地顯示各類別的預測準確性和錯誤類型。 混淆矩陣是評估分類模型性能的基礎工具,特別適用于多…

HTTPS的工作原理

文章目錄HTTP有什么問題?1. 明文傳輸,容易被竊聽2. 無法驗證通信方身份3. 數據完整性無法保證HTTPS是如何解決這些問題的?HTTPS的工作原理1. SSL/TLS握手2. 數據加密傳輸3. 完整性保護4. 連接關閉總結HTTP有什么問題? 1. 明文傳輸…

ECMAScript2020(ES11)新特性

概述 ECMAScript2020于2020年6月正式發布, 本文會介紹ECMAScript2020(ES11),即ECMAScript的第11個版本的新特性。 以下摘自官網:ecma-262 ECMAScript 2020, the 11th edition, introduced the matchAll method for Strings, to produce an …

機器視覺引導機器人修磨加工系統助力芯片封裝

芯片制造中,劈刀同軸度精度對封裝質量至關重要。傳統加工在精度、效率、穩定性、良率及操作便捷性上存在不足:精度不足:劈刀同軸度需控在 0.003mm 內,傳統手段難達標,致芯片封裝良率低;效率良率低 &#xf…

Python編程基礎與實踐:Python模塊與包入門實踐

Python模塊與包的深度探索 學習目標 通過本課程的學習,學員將掌握Python中模塊和包的基本概念,了解如何導入和使用標準庫中的模塊,以及如何創建和組織自己的模塊和包。本課程將通過實際操作,幫助學員加深對Python模塊化編程的理解…

【Django】-4- 數據庫存儲和管理

一、關于ORM ORM 是啥呀ORM 就是用 面向對象 的方式,把數據庫里的數據還有它們之間的關系映射起來~就好像給數據庫和面向對象之間搭了一座小橋梁🎀對應關系大揭秘面向對象和數據庫里的東西,有超有趣的對應呢👇類 → 數…

深入 Go 底層原理(四):GMP 模型深度解析

1. 引言在上一篇文章中,我們宏觀地了解了 Go 的調度策略。現在,我們將深入到構成這個調度系統的三大核心組件:G、M、P。理解 GMP 模型是徹底搞懂 Go 并發調度原理的關鍵。本文將詳細解析 G、M、P 各自的職責以及它們之間是如何協同工作的。2.…

AI賦能測試:技術變革與應用展望

AI 在測試中的應用:技術賦能與未來展望 目錄 AI 在測試中的應用:技術賦能與未來展望 1. 引言 1.1 測試在軟件開發中的重要性 1.2 AI 技術如何改變傳統測試模式 1.3 文章結構概述 2. AI 在測試中的核心應用場景 2.1 自動化測試優化 2.1.1 智能測…

Mujoco(MuJoCo,全稱Multi - Joint dynamics with Contact)一種高性能的物理引擎

Mujoco(MuJoCo,全稱Multi - Joint dynamics with Contact)是一種高性能的物理引擎,主要用于模擬多體動力學系統,廣泛應用于機器人仿真、運動學研究、人工智能等領域。以下是關于Mujoco仿真的一些詳細介紹: …

winform-窗體應用的功能介紹(部分)

1--Point實現在窗口(Form)中一個按鈕(控件)的固定位置(所在位置)一個按鈕(控件)的位置一般是固定的,另一個按鈕在窗口中位置是隨機產生的Location屬性:Location new Point(X,Y);在C#的Winform應用程序里,Button控件的鼠標懸標懸浮事件是不存在內置延遲時間的。當鼠標指針進入按…

最新Windows11系統鏡像,23H2 64位ISO鏡像

Windows 11 主要分為 Consumer Editions(消費者版)和 Business Editions(商業版)兩大類別 。消費者版主要面向家庭和個人用戶,商業版則側重于企業和商業用戶。這兩大類別中存在部分重疊的版本,比如專業版和…

linux基本系統服務——DNS服務

一、DNS域名解析原理DNS&#xff0c;Domain Name System&#xff0c;域名系統&#xff1a;在互聯網中由大量域名解析服務器共同提供的一整套關于“域名 <--> IP地址”信息查詢的數據系統!!!! C/S架構&#xff1a;DNS服務端監聽UDP 53端口&#xff08;處理客戶端查詢&…

數據處理和統計分析——08 apply自定義函數

1 apply()函數 1.1 apply()函數簡介 Pandas提供了很多數據處理的API&#xff0c;但當提供的API不能滿足需求的時候&#xff0c;需要自己編寫數據處理函數, 這個時候可以使用apply()函數&#xff1b;apply()函數可以接收一個自定義函數&#xff0c;可以將DataFrame的行或列數據傳…

C++冰箱管理實戰代碼

基于C++的冰箱管理實例 以下是一些基于C++的冰箱管理實例示例,涵蓋不同功能場景,每個示例聚焦特定實現點,代碼可直接擴展或整合到項目中。 示例1:基礎冰箱類定義 class Refrigerator { private:int capacity;std::vector<std::string> items; public:Refrigerator(…

【Python】【數據分析】Python 數據分析與可視化:全面指南

目錄1. 環境準備2. 數據處理與清洗2.1 導入數據2.2 數據清洗示例&#xff1a;處理缺失值示例&#xff1a;處理異常值2.3 數據轉換3. 數據分析3.1 描述性統計3.2 分組分析示例&#xff1a;按年齡分組計算工資的平均值3.3 時間序列分析4. 數據可視化4.1 基本繪圖示例&#xff1a;…

【AI】AIService(基本使用與指令定制)

【AI】AIService(基本使用與指令定制) 文章目錄【AI】AIService(基本使用與指令定制)1. 簡介2. AIService2.1 引入依賴2.2 編寫AIService接口2.3 測試代碼3. 指令定制3.1 系統提示詞3.2 用戶提示詞1. 簡介 AIService可以被視為應用程序服務層的一個組件&#xff0c;提供對應的…

AAAI趕稿后的心得

總結 已經第三次和老師們一起趕稿了&#xff0c;但是還是紕漏重重&#xff0c;每次都被我的垃圾寫作給嚇到。每次都手忙腳亂找不到重點&#xff0c;唉&#xff0c;我大概這輩子都成為不了郭老師&#xff1a; 自己把故事先捋清楚&#xff1a; 所有的東西都要抽象出來&#xff0c…

書籍推薦算法研究

## 項目概述本項目是一個完整的書籍推薦系統第五版(Complete Book Recommendation System V5),采用混合推薦策略,能夠處理6種不同的用戶場景,提供智能化的書籍推薦服務。## 系統架構### 核心設計思路系統采用**混合推薦策略**,結合了以下幾種推薦算法:1. **協同過濾推薦…