主頁 >  其他 > [ML&DL] 線性回歸的梯度下降

[ML&DL] 線性回歸的梯度下降

2023-04-27 08:30:29 其他

前言

這篇筆記記錄了線性回歸的梯度下降相關公式的推導,

符號說明:

  • \(h\) :假設函式,是學習演算法對線性回歸問題給出的一個解決方案,
  • \(J\) :代價函式,是對 \(h\) 和實際資料集之間的誤差的描述,
  • \(m\) :資料集的大小,
  • \(x^{(i)},y^{(i)}\): 第 \(i\) 個資料,(\(1\le i \le m\)
  • \(\theta\)\(h\)函式中各項的系數,

單變數線性回歸

\(h(x)=\theta_0 + \theta_1x\)

\(J(\theta_0,\theta_1)=\frac{1}{2m} \Sigma^m_{i=1}(h_\theta(x^{(i)})-y^{(i)})^2\)

在這個演算法中需要找到最優的\(\theta_0\)\(\theta_1\)使得代價函式\(J\)可以取得最小值,

image-20221022153550629

使用梯度下降可以計算得出區域最小值,由于線性回歸中的代價函式\(J\)凸函式,因此區域最小值全域最小值

批量梯度下降演算法的公式如下:

repeat until convergence{

? \(\theta_j:=\theta_j-\alpha \frac{\partial}{\partial \theta_j}J(\theta_0,\theta_1)\) \(for\quad (j=0 \quad and \quad j=1)\)

}

其中 \(\alpha\) 是學習率,表示梯度下降的步長,

\(\frac{\partial}{\partial \theta_j}J(\theta_0,\theta_1)\) 是梯度,

通過不斷更新\(\theta\),向最低點逼近,最終使得\(J\)最小的\(\theta\)值,即對應一個最優的解決方案\(h\).

\[\theta_0:=\theta_0-\alpha\frac{\partial}{\partial \theta_0}J(\theta_0,\theta_1) \]

其中

\[\begin{align*} \frac{\partial}{\partial \theta_0}J(\theta_0,\theta_1) &=\frac{\partial}{\partial\theta_0}(\frac{1}{2m}\Sigma^m_{i=1}(h_\theta(x^{(i)})-y^{(i)})^2)\\ &=\frac{\partial}{\partial\theta_0}(\frac{1}{2m}\Sigma^m_{i=1}(\theta_0+\theta_1x^{(i)}-y^{(i)})^2)\\ &=\frac{1}{2m}\Sigma^m_{i=1}(\frac{\partial}{\partial\theta_0}(\theta_0+\theta_1x^{(i)}-y^{(i)})^2)\\ &= \frac{1}{2m}\Sigma^m_{i=1}(2\times(\theta_0+\theta_1x^{(i)}-y^{(i)})\times1)\\ &= \frac{1}{m}\Sigma^m_{i=1}(\theta_0+\theta_1x^{(i)}-y^{(i)})\\ &=\frac{1}{m}\Sigma^m_{i=1}(h_\theta(x^{(i)})-y^{(i)}) \end{align*} \]

\(\therefore\)

\[\theta_0:=\theta_0-\alpha\frac{1}{m}\Sigma^m_{i=1}(h_\theta(x^{(i)})-y^{(i)}) \]

類似地,

\[\theta_1:=\theta_1-\alpha\frac{\partial}{\partial \theta_1}J(\theta_0,\theta_1) \]

其中

\[\begin{align*} \frac{\partial}{\partial \theta_1}J(\theta_0,\theta_1) &=\frac{\partial}{\partial\theta_1}(\frac{1}{2m}\Sigma^m_{i=1}(h_\theta(x^{(i)})-y^{(i)})^2)\\ &=\frac{\partial}{\partial\theta_1}(\frac{1}{2m}\Sigma^m_{i=1}(\theta_0+\theta_1x^{(i)}-y^{(i)})^2)\\ &=\frac{1}{2m}\Sigma^m_{i=1}(\frac{\partial}{\partial\theta_1}(\theta_0+\theta_1x^{(i)}-y^{(i)})^2)\\ &= \frac{1}{2m}\Sigma^m_{i=1}(2\times(\theta_0+\theta_1x^{(i)}-y^{(i)})\times x^{(i)})\\ &= \frac{1}{m}\Sigma^m_{i=1}((\theta_0+\theta_1x^{(i)}-y^{(i)})\cdot x^{(i)})\\ &=\frac{1}{m}\Sigma^m_{i=1}((h_\theta(x^{(i)})-y^{(i)})\cdot x^{(i)}) \end{align*} \]

\(\therefore\)

\[\theta_1:=\theta_1-\alpha\frac{1}{m}\Sigma^m_{i=1}((h_\theta(x^{(i)})-y^{(i)})\cdot x^{(i)}) \]

多元線性回歸

基本概念

多元線性回歸中的假設函式 \(h\) 包含多個特征:

\[h_\theta(x) = \theta_0 + \theta_1x_1+...+\theta_nx_n \]

如果假設 \(x_0=1\),那么上式可以改寫為:

\[h_\theta(x) =\theta_0x_0 + \theta_1x_1+...+\theta_nx_n \]

此時,若將 \(\theta\)\(x\) 視為向量(默認為列向量),則:

\[h_\theta(x) = \theta^Tx \]

代價函式為:

\[J(\theta) = \frac{1}{2m}\Sigma^m_{i=1}(h_\theta(x^{(i)})-y^{(i)})^2 \]

梯度下降

對于梯度下降演算法的每一次迭代, \(\theta\) 按一下規則更新:

Repeat {

? \(\theta_j := \theta_j - \alpha\frac{\partial}{\partial \theta_j}J(\theta_0,...,\theta_n)\)

} \(for\ \ every\ \ j=0,...,n\)

上述公式中的偏導數計算:

\[\begin{align*} \frac{\partial}{\partial \theta_j}J(\theta) &=\frac{\partial}{\partial\theta_j}(\frac{1}{2m}\Sigma^m_{i=1}(h_\theta(x^{(i)})-y^{(i)})^2)\\ &=\frac{\partial}{\partial\theta_j}(\frac{1}{2m}\Sigma^m_{i=1}(\theta^Tx^{(i)}-y^{(i)})^2)\\ &=\frac{1}{2m}\Sigma^m_{i=1}(\frac{\partial}{\partial\theta_j}(\theta^Tx^{(i)}-y^{(i)})^2)\\ &= \frac{1}{2m}\Sigma^m_{i=1}(2\times(\theta^Tx^{(i)}-y^{(i)})\times x_j^{(i)})\\ &= \frac{1}{m}\Sigma^m_{i=1}((\theta^Tx^{(i)}-y^{(i)})\cdot x_j^{(i)})\\ &=\frac{1}{m}\Sigma^m_{i=1}((h_\theta(x^{(i)})-y^{(i)})\cdot x_j^{(i)}) \end{align*} \]

上述推導程序中的 \(x\) 是向量, \(x_j\)是向量中的第 \(j\) 個元素,

\(\therefore\)

\[\theta_j:=\theta_j - \alpha\frac{1}{m}\Sigma^m_{i=1}((h_\theta(x^{(i)})-y^{(i)})\cdot x_j^{(i)}) \]

特征縮放

當不同特征的取值范圍相差過大時, \(\theta\) 的取值可能不斷波動,需要花費較長時間才能收斂到全域最小值點,

image-20221027222436940

此時可以考慮縮放,

\[x_i = \frac{x_i}{max-min} \]

均值歸一化

對于除了 \(x_0\) 以外的特征(因為\(x_0=1\)),

\[\begin{align*} x_i = \frac{x_i-average(x)}{max} \\ x_i = \frac{x_i-average(x)}{max-min} \end{align*} \]

在分母中, 可以使用樣本的\(max\)或者\(max-min\),根據需求而定,

特征縮放和均值歸一化的作用都是為了減小樣本資料的波動使得梯度下降能夠更快速的尋找到一條捷徑,從而到達全域最小值,

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/551317.html

標籤:其他

上一篇:一文講透產品經理如何用好ChatGPT

下一篇:返回列表

標籤雲
其他(158201) Python(38107) JavaScript(25394) Java(18001) C(15217) 區塊鏈(8260) C#(7972) AI(7469) 爪哇(7425) MySQL(7148) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5870) 数组(5741) R(5409) Linux(5329) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4562) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2431) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1960) Web開發(1951) HtmlCss(1927) python-3.x(1918) 弹簧靴(1913) C++(1912) xml(1889) PostgreSQL(1874) .NETCore(1855) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • 網閘典型架構簡述

    網閘架構一般分為兩種:三主機的三系統架構網閘和雙主機的2+1架構網閘。 三主機架構分別為內端機、外端機和仲裁機。三機無論從軟體和硬體上均各自獨立。首先從硬體上來看,三機都用各自獨立的主板、記憶體及存盤設備。從軟體上來看,三機有各自獨立的作業系統。這樣能達到完全的三機獨立。對于“2+1”系統,“2”分為 ......

    uj5u.com 2020-09-10 02:00:44 more
  • 如何從xshell上傳檔案到centos linux虛擬機里

    如何從xshell上傳檔案到centos linux虛擬機里及:虛擬機CentOs下執行 yum -y install lrzsz命令,出現錯誤:鏡像無法找到軟體包 前言 一、安裝lrzsz步驟 二、上傳檔案 三、遇到的問題及解決方案 總結 前言 提示:其實很簡單,往虛擬機上安裝一個上傳檔案的工具 ......

    uj5u.com 2020-09-10 02:00:47 more
  • 一、SQLMAP入門

    一、SQLMAP入門 1、判斷是否存在注入 sqlmap.py -u 網址/id=1 id=1不可缺少。當注入點后面的引數大于兩個時。需要加雙引號, sqlmap.py -u "網址/id=1&uid=1" 2、判斷文本中的請求是否存在注入 從文本中加載http請求,SQLMAP可以從一個文本檔案中 ......

    uj5u.com 2020-09-10 02:00:50 more
  • Metasploit 簡單使用教程

    metasploit 簡單使用教程 浩先生, 2020-08-28 16:18:25 分類專欄: kail 網路安全 linux 文章標簽: linux資訊安全 編輯 著作權 metasploit 使用教程 前言 一、Metasploit是什么? 二、準備作業 三、具體步驟 前言 Msfconsole ......

    uj5u.com 2020-09-10 02:00:53 more
  • 游戲逆向之驅動層與用戶層通訊

    驅動層代碼: #pragma once #include <ntifs.h> #define add_code CTL_CODE(FILE_DEVICE_UNKNOWN,0x800,METHOD_BUFFERED,FILE_ANY_ACCESS) /* 更多游戲逆向視頻www.yxfzedu.com ......

    uj5u.com 2020-09-10 02:00:56 more
  • 北斗電力時鐘(北斗授時服務器)讓網路資料更精準

    北斗電力時鐘(北斗授時服務器)讓網路資料更精準 北斗電力時鐘(北斗授時服務器)讓網路資料更精準 京準電子科技官微——ahjzsz 近幾年,資訊技術的得了快速發展,互聯網在逐漸普及,其在人們生活和生產中都得到了廣泛應用,并且取得了不錯的應用效果。計算機網路資訊在電力系統中的應用,一方面使電力系統的運行 ......

    uj5u.com 2020-09-10 02:01:03 more
  • 【CTF】CTFHub 技能樹 彩蛋 writeup

    ?碎碎念 CTFHub:https://www.ctfhub.com/ 筆者入門CTF時時剛開始刷的是bugku的舊平臺,后來才有了CTFHub。 感覺不論是網頁UI設計,還是題目質量,賽事跟蹤,工具軟體都做得很不錯。 而且因為獨到的金幣制度的確讓人有一種想去刷題賺金幣的感覺。 個人還是非常喜歡這個 ......

    uj5u.com 2020-09-10 02:04:05 more
  • 02windows基礎操作

    我學到了一下幾點 Windows系統目錄結構與滲透的作用 常見Windows的服務詳解 Windows埠詳解 常用的Windows注冊表詳解 hacker DOS命令詳解(net user / type /md /rd/ dir /cd /net use copy、批處理 等) 利用dos命令制作 ......

    uj5u.com 2020-09-10 02:04:18 more
  • 03.Linux基礎操作

    我學到了以下幾點 01Linux系統介紹02系統安裝,密碼啊破解03Linux常用命令04LAMP 01LINUX windows: win03 8 12 16 19 配置不繁瑣 Linux:redhat,centos(紅帽社區版),Ubuntu server,suse unix:金融機構,證券,銀 ......

    uj5u.com 2020-09-10 02:04:30 more
  • 05HTML

    01HTML介紹 02頭部標簽講解03基礎標簽講解04表單標簽講解 HTML前段語言 js1.了解代碼2.根據代碼 懂得挖掘漏洞 (POST注入/XSS漏洞上傳)3.黑帽seo 白帽seo 客戶網站被黑帽植入劫持代碼如何處理4.熟悉html表單 <html><head><title>TDK標題,描述 ......

    uj5u.com 2020-09-10 02:04:36 more
最新发布
  • [ML&DL] 線性回歸的梯度下降

    前言 這篇筆記記錄了線性回歸的梯度下降相關公式的推導。 符號說明: $h$ :假設函式,是學習演算法對線性回歸問題給出的一個解決方案。 $J$ :代價函式,是對 $h$ 和實際資料集之間的誤差的描述。 $m$ :資料集的大小。 $x^{(i)},y^{(i)}$: 第 $i$ 個資料。($1\le i ......

    uj5u.com 2023-04-27 08:30:29 more
  • 一文講透產品經理如何用好ChatGPT

    4.0版本推出后,在中文互聯網上并沒有輔助產品經理作業的詳細介紹。因此,我基于GPT-4,梳理了幫助產品經理全流程提效的方法,整理了一些prompt,本文旨在分享這些識訓,希望能拋磚引玉。 ......

    uj5u.com 2023-04-27 08:25:02 more
  • 支撐百萬商戶、千億級呼叫:微盟如何通過鏈路設計降本40%?

    一分鐘精華速覽 在典型的分布式系統中,用戶的一個請求到達組合的前端服務后,前端服務會分發請求到內部的各個服務,每次呼叫都涉及跨系統的一次請求和一次回應。在有大規模、高并發請求量的系統中,如何標識這些請求及存盤這些呼叫資訊,并形成呼叫鏈?如果系統的某兩個服務間出了問題,又如何為業務方提供可視化的展現形 ......

    uj5u.com 2023-04-27 08:18:58 more
  • 讀書筆記丨遠程服務呼叫和RESTful,如何分析和抉擇?

    摘要:相信未來REST規范將會變得更加流行和普及。 本文分享自華為云社區《云原生時代,遠程服務呼叫和RESTful,如何分析和抉擇?》,作者:breakDawn 。 隨著云原生的概念越來越火,服務的架構應該如何發展和演進,成為很多程式員關心的話題。大名鼎鼎的《深入理解java虛擬機》一書作者于21年 ......

    uj5u.com 2023-04-27 08:18:20 more
  • Vulnhub之Hacksudo Thor靶機詳細測驗程序(提權成功)

    Hacksudo Thor 作者:jason huawen 靶機資訊 名稱:hacksudo: Thor 地址: https://www.vulnhub.com/entry/hacksudo-thor,733/ 識別目標主機IP地址 (kali?kali)-[~/Desktop/Vulnhub/Ha ......

    uj5u.com 2023-04-27 08:18:15 more
  • 億級榷訓業務穩如磐石,華為云CodeArts PerfTest發布

    摘要:近日,華為云性能測驗服務CodeArts PerfTest全新上線,提供低門檻、低成本的一站式云化性能測驗解決方案。 本文分享自華為云社區《億級榷訓業務穩如磐石,華為云CodeArts PerfTest發布》,作者:華為云頭條 。 計算機軟體作為人類邏輯智慧的偉大結晶之一,已經滲透到了人類社會 ......

    uj5u.com 2023-04-27 08:18:04 more
  • 合合資訊新推出反光消除技術,助力手寫文字識別更精準

    近期,合合資訊旗下掃描全能王推出液晶手寫板(簡稱“手寫板”),為用戶帶來仿真、流暢的書寫繪畫體驗,一同發布的還有掃描全能王APP的新功能“拍手寫板”。該功能可幫助用戶在拍攝手寫板內容后去除圖片上的反光干擾,形成更貼近白紙、板報的圖片,并通過手寫字跡識別,快捷、有序地獲取可編輯、可分享的電子檔案,助力 ......

    uj5u.com 2023-04-27 08:12:44 more
  • 【Excel統計分析插件】上海道寧為您提供統計分析、資料可視化和

    Analyse-it與許多Excel加載項開發人員不同,使用完善的軟體開發和QA實踐,包括單元/集成/系統測驗、敏捷開發、代碼審查、問題跟蹤和用于變更管理的、源代碼控制 ......

    uj5u.com 2023-04-27 08:07:31 more
  • 一文詳解多模態認知智能

    摘要:多模態認知智能是AI人工智能當前發展的主流趨勢之一,其核心是以多模態知識的獲取,表示與推理為主要內容的跨模態知識工程與認知智能,也是為了更好的處理多模態的資料,需要融合多種感知模態和智能處理技術。 本文分享自華為云社區《GPT-4發布,AIGC時代的多模態還能走多遠?系列之三:多模態認知智能》 ......

    uj5u.com 2023-04-27 08:07:18 more
  • 04-1 氣體燃料燃燒:擴散火焰與預混火焰、層流火焰傳播速度

    擴散火焰與預混火焰的火焰形式 擴散火焰:燃料和訊訓劑邊混合邊燃燒,這時由于擴散作用對燃燒起控制作用,又稱擴散燃燒。 預混火焰:燃料和訊訓劑預先混合好,這時化學動力學因素對燃燒起控制作用,亦稱動力燃燒。 可以看出火焰區別,層流外表面相對光滑,湍流外表面不平整;部分預混火焰有內焰和外焰;全預混火焰不明亮 ......

    uj5u.com 2023-04-27 08:06:49 more