機器學習-線性回歸(對于f(x;w)=w^Tx+b理解)

一、𝑓(𝒙;𝒘) = 𝒘T𝒙的推導

學習線性回歸,我們那先要對于線性回歸的表達公示,有所認識。

我們先假設空間是一組參數化的線性函數:

其中權重向量𝒘 ∈ R𝐷 和偏置𝑏 ∈ R都是可學習的參數,函數𝑓(𝒙;𝒘,𝑏) ∈ R也稱為線性模型。

不失一般性, 在本章后面的描述中我們采用簡化的表示方法, 直接用 𝒘和 𝒙 分別表示增廣權重向量和增廣特征向量. 這樣, 線性回歸的模型簡寫為 𝑓(𝒙;𝒘) = 𝒘T𝒙.

這就是題目中提到的線性回歸模型的推導由來。

這里為了更好的學習線性回歸模型,這里我們普及一下大學時線性代數的一些概念。

二、向量、增廣向量、增廣權重向量、增廣特征向量的概念:

1. 向量(Vector)

定義:
向量是一組有序排列的數,表示空間中的點、數據樣本或特定屬性的集合。

示例:
假設我們有一個人的身體數據,包括身高和體重,我們可以用一個向量表示:

這個向量表示身高 180 cm,體重 75 kg。

常見類型:

  • 列向量(常用): n×1 維,如上例。
  • 行向量: 1×n,例如: x=[180,75]。

應用:

  • 在機器學習中,向量用來表示數據樣本(輸入特征)、模型參數等。
  • 在物理中,向量用來表示力、速度等有大小和方向的量。

2. 增廣向量(Augmented Vector)

定義:
增廣向量是在普通向量的基礎上,增加一個額外的常數(通常是 1),以便于在數學計算中引入偏置項(Intercept/Bias)。

示例:
假設我們有一個特征向量:

增廣后:

為什么要加 1?
在機器學習的線性回歸公式中:

y = w_1 x_1 + w_2 x_2 + b

如果將 b 視為 w_3 并將增廣向量 x 擴展為:

y = w_1 x_1 + w_2 x_2 + w_3 ?1

這時,增廣后的矩陣運算更為簡潔,公式變為:

應用:

  • 機器學習: 在回歸、分類等問題中,引入偏置項。
  • 計算機視覺: 處理圖像坐標變換(如平移操作)。
  • 信號處理: 統一矩陣運算,減少額外計算。

3. 增廣權重向量(Augmented Weight Vector)

定義:
增廣權重向量是在普通權重向量的基礎上,增加一個額外的偏置項 b,以與增廣輸入向量匹配。

示例:
假設我們有普通的權重向量:

增廣后:

這樣,使用增廣權重向量,計算目標值時,可以與增廣向量配合使用:

應用:

  • 機器學習: 簡化計算,避免單獨處理偏置項。
  • 神經網絡: 統一偏置與權重的管理,提高計算效率。

4. 增廣特征向量(Augmented Eigenvector)

定義:
增廣特征向量是在線性代數的特征值分解問題中,在特征向量的基礎上,附加額外的約束條件或輔助信息,以便解決某些特定問題。

特征向量的基本公式:

給定矩陣 A,特征向量滿足:

Av=λv

如果原始特征向量是:

增廣后:

為什么要增廣?

  • 在控制系統、信號處理等領域,增廣特征向量可以用于增加額外信息,如系統約束或觀測量。
  • 在奇異值分解(SVD)、PCA等方法中,增加維度可以提高數值穩定性或處理特殊邊界條件。

應用:

  • 控制工程:增廣狀態向量來處理觀測噪聲。
  • 計算機視覺:在3D變換中加入齊次坐標(如在2D坐標 (x,y)增廣為 (x,y,1))。

5. 總結:區別與聯系

名稱定義增加的元素作用例子
向量一組數,表示數據或坐標描述特征或數據點[180,75][180, 75]
增廣向量在向量后加 1,使計算更方便1統一計算偏置項[180,75,1][180, 75, 1]
增廣權重向量在權重后加偏置項 bb 以匹配增廣向量1使得矩陣運算統一,減少額外處理[0.5,1.2,20][0.5, 1.2, 20]
增廣特征向量在特征向量后加常數或約束1 或更多處理約束問題、增加系統觀測能力[2,3,1][2, 3, 1]

它們之間的聯系:

  • 增廣向量和增廣權重向量通常一起使用,用于機器學習中的線性模型。
  • 增廣特征向量更偏向于線性代數的特征值分解和矩陣分析,并不直接用于機器學習的建模中。

三、這里思考一個問題:空間可以由線性模型表示嗎?

答案是yes,空間可以在一定條件下用線性模型來表示,特別是在歐幾里得空間特征空間中,線性模型可以用于描述點、方向、平面和超平面等幾何對象。

1. 線性模型的基本形式

線性模型的一般數學形式是:

在向量形式下可以表示為:

其中:

  • x?表示輸入向量,描述空間中的點或特征。
  • w?是權重向量,表示空間中的方向或特定超平面的法向量。
  • b?是偏置,表示超平面與原點的距離。

2. 用線性模型表示幾何空間的例子

例 1:平面在三維空間中的表示

假設我們在三維空間中有一個平面,其方程可以寫成:

2x+3y?z+5=0

將其改寫成線性模型的形式:

z=2x+3y+5z

這實際上是一個線性回歸模型,其中:

  • x1=x, x2=y,y=z。
  • 權重 w=[2,3]。
  • 偏置 b=5。

解釋:

  • 這個線性方程表示三維空間中的一個平面,線性模型可以表示任意方向的平面。
  • 平面的法向量 (2,3,?1)代表其朝向。
例 2:二維平面上的直線

假設我們要表示一個 2D 平面上的直線:

y=4x+2

這里:

  • x?是輸入變量,y?是輸出。
  • 斜率 w1=4,偏置 b=2。

這條直線可以看作是一個 2D 空間中的線性模型,描述輸入 x?和輸出 y?之間的線性關系。

解釋:

  • 該直線分割了平面空間,表示空間中的一個一維子空間。
  • 例如,在分類問題中,它可以用來將數據點分成兩個類別。
例 3:超平面在高維空間中的表示(機器學習中的決策邊界)

在機器學習中,支持向量機(SVM)和線性回歸模型使用超平面來表示數據分布。例如,假設在 3D 空間中,數據點屬于兩個類別,我們可以用一個線性模型來區分它們:

w1x1+w2x2+w3x3+b=0

這個方程描述的是三維空間中的一個超平面,它可以將空間劃分成兩部分。

解釋:

  • 在 n?維空間中,線性方程表示的是一個 (n?1)維的超平面。
  • 例如,在二維空間中,線性方程表示一條直線,在三維空間中,表示一個平面。
例 4:主成分分析(PCA)用于空間降維

在高維空間中,主成分分析(PCA)是一種常見的線性方法,用于找到數據的最佳投影方向。例如,給定一組三維點 (x1,x2,x3),PCA 試圖找到一個最佳的線性方向來表示這些點,從而將其降維到一個平面或直線。

PCA 線性模型通常可以寫作:

其中:

  • W?是投影矩陣,定義了降維后的新坐標軸。
  • 這個模型可以找到數據所在的低維子空間。

3. 線性模型表示空間的局限性

盡管線性模型可以表示許多幾何對象,但也存在局限:

  • 無法表示非線性空間結構: 如果數據存在曲面或復雜的非線性關系,線性模型無法準確表示。
  • 只能描述平直的結構: 例如圓、球等非線性空間無法用簡單的線性方程來表示。
  • 需要特征變換: 為了處理復雜空間,通常需要使用特征工程(如多項式特征擴展)或非線性映射(如核方法)。

4. 非線性空間如何用線性模型處理?

如果數據或空間具有非線性特征,可以通過以下方式將其轉換為線性模型:

  1. 特征變換(Feature Engineering)

    通過增加維度,空間變得線性。

  2. 核方法(Kernel Methods)

    • 在支持向量機(SVM)中,核函數(如高斯核)將數據映射到高維線性可分空間。
  3. 神經網絡(Deep Learning)

    • 通過多層非線性激活函數,神經網絡可以近似任意復雜的空間映射。

5. 結論

  • 線性模型可以表示許多常見的空間,如直線、平面和高維超平面。
  • 對于更復雜的空間結構,需要進行特征變換或使用非線性方法來補充線性模型的局限性。
  • 在機器學習、數據分析和幾何處理中,線性模型是非常重要的基礎工具。

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

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

相關文章

R語言學習筆記之語言入門基礎

一、R語言基礎 快速熟悉R語言中的基本概念&#xff0c;先入個門。 1、運算符 運算符含義例子加1 1-減3 - 2*乘3 * 2/除9 / 3^(**)乘方2 ^ 3 2 ** 3%%取余5 %% 2%/%取整5 %/% 2 2、賦值符號 等號a 1三者等價&#xff1a;把1賦值給變量a左箭頭<?a <- 1右箭頭?&g…

計算機網絡三張表(ARP表、MAC表、路由表)總結

參考&#xff1a; 網絡三張表&#xff1a;ARP表, MAC表, 路由表&#xff0c;實現你的網絡自由&#xff01;&#xff01;_mac表、arp表、路由表-CSDN博客 網絡中的三張表&#xff1a;ARP表、MAC表、路由表 首先要明確一件事&#xff0c;如果一個主機要發送數據&#xff0c;那么必…

【Nomoto 船舶模型】

【Nomoto 船舶模型】 1. Nomoto 船舶模型簡介2. 來源及發展歷程3. 構建 一階模型Nomoto 船舶模型3.1 C 實現3.2 Python 實現3.3 說明 5. 參數辨識方法5.1 基于最小二乘法的參數辨識5.2 數學推導5.3 Python 實現5.4 說明 4. 結論參考文獻 1. Nomoto 船舶模型簡介 Nomoto 模型是…

差分進化算法 (Differential Evolution) 算法詳解及案例分析

差分進化算法 (Differential Evolution) 算法詳解及案例分析 目錄 差分進化算法 (Differential Evolution) 算法詳解及案例分析1. 引言2. 差分進化算法 (DE) 算法原理2.1 基本概念2.2 算法步驟3. 差分進化算法的優勢與局限性3.1 優勢3.2 局限性4. 案例分析4.1 案例1: 單目標優化…

深入理解GPT底層原理--從n-gram到RNN到LSTM/GRU到Transformer/GPT的進化

從簡單的RNN到復雜的LSTM/GRU,再到引入注意力機制,研究者們一直在努力解決序列建模的核心問題。每一步的進展都為下一步的突破奠定了基礎,最終孕育出了革命性的Transformer架構和GPT大模型。 1. 從n-gram到循環神經網絡(RNN)的誕生 1.1 N-gram 模型 在深度學習興起之前,處理…

【JWT】jwt實現HS、RS、ES、ED簽名與驗簽

JWT 實現 HS、RS、ES 和 ED 簽名與驗簽 簽名方式算法密鑰類型簽名要點驗簽要點HSHMAC-SHA256對稱密鑰- 使用 crypto/hmac 和對稱密鑰生成 HMAC 簽名- 將 header.payload 作為數據輸入- 使用同一密鑰重新計算 HMAC 簽名- 比較計算結果與接收到的簽名是否一致RSRSA-SHA256公鑰 …

地址欄信息location

獲取信息 頁面跳轉 location.href當前地址欄信息 location.assign()設置跳轉新的頁面 location.replace() location.reload()刷新頁面

程序員轉型測試:解鎖漏洞挖掘新旅程

前言&#xff1a;哈嘍&#xff0c;大家好&#xff0c;今天給大家分享一篇文章&#xff01;并提供具體代碼幫助大家深入理解&#xff0c;徹底掌握&#xff01;創作不易&#xff0c;如果能幫助到大家或者給大家一些靈感和啟發&#xff0c;歡迎收藏關注哦 &#x1f495; 目錄 程序…

StarRocks常用命令

目錄 1、StarRocks 集群管理&配置命令 2、StarRocks 常用操作命令 3、StarRocks 數據導入和導出 1、StarRocks 集群管理&配置命令 查詢 FE 節點信息 SHOW frontends; SHOW PROC /frontends; mysql -h192.168.1.250 -P9030 -uroot -p -e "SHOW PROC /dbs;"…

08-ArcGIS For JavaScript-通過Mesh繪制幾何體(Cylinder,Circle,Box,Pyramid)

目錄 概述代碼實現1、Mesh.createBox2、createPyramid3、Mesh.createSphere4、Mesh.createCylinder 完整代碼 概述 對于三維場景而言&#xff0c;二位的點、線、面&#xff0c;三維的圓、立方體、圓柱等都是比較常見的三維對象&#xff0c;在ArcGIS For JavaScript中我們知道點…

Linux中page、buffer_head、bio的關系

在Linux中&#xff0c;page、buffer_head、bio這三個概念緊密相關&#xff0c;共同構成了塊設備I/O和內存管理的重要部分&#xff0c;它們的聯系主要體現在以下方面&#xff1a; page與buffer_head 基于page構建&#xff1a;buffer_head通常是基于page來構建的&#xff0c;一…

直線擬合例子 ,嶺回歸擬合直線

目錄 直線擬合,算出離群點 嶺回歸擬合直線&#xff1a; 直線擬合,算出離群點 import cv2 import numpy as np# 輸入的點 points np.array([[51, 149],[122, 374],[225, 376],[340, 382],[463, 391],[535, 298],[596, 400],[689, 406],[821, 407] ], dtypenp.float32)# 使用…

SpringCloud兩種注冊中心

SpringCloud 基本概念 系統架構 我們之前做的所有的項目都屬于單體架構&#xff0c;下面我們將要學習更適合大型項目的分布式架構 單體架構&#xff1a; 將業務的所有功能幾種在一個項目中開發&#xff0c;打成一個包部署。 優點&#xff1a;架構簡單、部署成本低 缺點&am…

SpringAI 搭建智能體(二):搭建客服系統智能體

在現代人工智能應用中&#xff0c;智能體&#xff08;Agent&#xff09; 是一個重要的概念&#xff0c;它的核心能力是自主性與靈活性。一個智能體不僅能夠理解用戶的需求&#xff0c;還能拆解任務、調用工具完成具體操作&#xff0c;并在復雜場景中高效運行。在本篇博客中&…

SVN客戶端使用手冊

目錄 一、簡介 二、SVN的安裝與卸載 1. 安裝&#xff08;公司內部一般會提供安裝包和漢化包&#xff0c;直接到公司內部網盤下載即可&#xff0c;如果找不到可以看下面的教程&#xff09; 2. 查看SVN版本 ?編輯 3. SVN卸載 三、SVN的基本操作 1. 檢出 2. 清除認證數據 3. 提交…

HTML 文本格式化詳解

在網頁開發中&#xff0c;文本內容的呈現方式直接影響用戶的閱讀體驗。HTML 提供了多種文本格式化元素&#xff0c;可以幫助我們更好地控制文本的顯示效果。本文將詳細介紹 HTML 中的文本格式化元素及其使用方法&#xff0c;幫助你輕松實現網頁文本的美化。 什么是 HTML 文本格…

衡量算法性能的量級標準:算法復雜度

今天開始數據結構的學習&#xff01;作為一大重點&#xff0c;拿出態度很重要&#xff0c;想要真實掌握&#xff0c;博客筆記自然少不了&#xff01;重點全部上色&#xff01;避免疏忽 下面我們從0基礎開始學習今天的第一節&#xff01;不用擔心看不懂&#xff0c;拒絕枯燥的理…

Spring Boot Starter介紹

前言 大概10來年以前&#xff0c;當時springboot剛剛出現并沒有流行&#xff0c;當時的Java開發者們開發Web應用主要是使用spring整合springmvc或者struts、iBatis、hibernate等開發框架來進行開發。項目里一般有許多xml文件配置&#xff0c;其中配置了很多項目中需要用到的Be…

Java面試題2025-Spring

講師&#xff1a;鄧澎波 Spring面試專題 1.Spring應該很熟悉吧&#xff1f;來介紹下你的Spring的理解 1.1 Spring的發展歷程 先介紹Spring是怎么來的&#xff0c;發展中有哪些核心的節點&#xff0c;當前的最新版本是什么等 通過上圖可以比較清晰的看到Spring的各個時間版本對…

Linux 切換到 Root 用戶的方式及差異詳解

在 Linux 系統中&#xff0c;切換到 root 用戶進行管理和操作是常見需求。不同的切換方法會影響環境變量、工作目錄以及加載的配置文件。本文將介紹幾種常用的切換方式及它們的特點。 切換到 Root 用戶的主要方式 1. sudo su 這是通過 sudo 提權后調用 su 切換到 root 用戶的…