機器學習(中)線性回歸、損失函數、梯度下降

更新於 發佈於 閱讀時間約 6 分鐘

終於來的線性回歸,高中學的線性回歸是 y=ax+b, 但在數據集中,哪一條線性回歸預測是最適合的呢?計算過程中會使用到梯度下降和損失函數的概念。

圖片截圖自:Gradient Descent, Step-by-Step

線性回歸 (Linear Regression) 簡單介紹

線性回歸是一種用來預測的數學模型,目的是找到一條直線,讓這條直線可以盡可能貼近數據點。我們可以利用這條直線來預測未來的值,比如根據重量預測高度。

線性回歸的流程

  1. 收集資料:準備好你需要的數據,例如重量 (X) 和高度(Y)。
  2. 建立模型:假設我們的預測公式是直線的形式: y=wx+b其中,w是斜率(slope),b 是截距(intercept)。
  3. 計算誤差:找出這條直線和真實數據的誤差,用來評估模型的準確性。
  4. 優化模型:使用「梯度下降法」來調整 w 和 b,讓模型誤差更小。
  5. 測試模型:用新數據來驗證模型的效果。

詳細流程說明

下圖 0.64 是我們給的斜率(slope), intercept 是截距的意思,若截距的值是當x=0,y的值,也就是距離原點多遠

raw-image

第二步,計算資料點到回歸線的距離。因為有些點是在線下面,避免正負抵銷,所以使用「均方誤差 」(MSE, Mean Squared Error)

raw-image
raw-image

第一個點的實際y是1.4,預測 y 套用模型算出來的值是 1.1

raw-image
raw-image

將所有的點畫出來,形成損失函數(實際點到預測點距離誤差)。最低點是損失函數Loss/Cost function (MSE loss)的點,但如何確定這個最低點是真的最低點?我們每次都要一個一個點慢慢找嗎?其實有個方法是梯度下降 (Gradient Descent) 可以迅速找到最低點。

再講解梯度下降的微積分數學之前,我們先來簡單看這兩個概念的目的

梯度下降 (Gradient Descent) & 隨機梯度下降 (Stochastic Gradient Descent)

  1. 梯度下降 (Gradient Descent)
    • 用來優化模型的演算法,目的是讓 Loss 越來越小。
    • 模型會根據 Loss 的變化來調整 w 和 b
  2. 隨機梯度下降 (SGD)
    • 每次只用一筆數據點來計算 Loss,讓演算法更快適應大量數據。

圖解:可以用一個 Loss 曲面圖,畫出梯度下降一步步逼近最低點的過程。

數學時間到~


raw-image

先看其中一個曲線所形成的點微分做示範,計算過程會用到 Chain Rule (降次,先微外再微內) 跟 Power Rule

可以參考這篇文章:AI模型訓練的數學基礎:微分入門教學

raw-image

因此會得到 -2(1.4-(intercept +0.64*0.5)是他的微分結果。

intercept 是截距的變數,若截距設定為 0 那麼可以得到 -5.7,這有什麼目的呢?最低點微分會接近0

raw-image
raw-image

Learning Rate 與下一個點的計算

問題來了,該如何決定調整的幅度?

Gradient Descent (梯度下降) 中,我們希望找到損失函數 (Loss Function) 的最低點,這代表模型的誤差最小。為了達到這個目標,我們使用微分來計算斜率,並根據這個斜率來調整參數,一步步朝向最低點移動。

1. Learning Rate (學習率) 是什麼?

Learning Rate (學習率,記作 α) 是一個超參數(在訓練前要自訂),決定我們每次更新參數的步伐大小。它影響:

  • 學習率太大:容易錯過最佳點,甚至導致發散 (不收斂)
  • 學習率太小:收斂速度太慢,需要很多次迭代才能找到最佳解

這就是為什麼選擇合適的學習率很重要。


2. 計算下一個點

我們的目標是 透過梯度下降來更新參數 θ,讓它逐步接近最佳解。

  1. 計算損失函數的梯度 (Gradient,∇J(θ))
    • 這是透過 微分 (Derivative) 來計算
    • 代表損失函數在當前點的斜率,指示該點應該往哪個方向調整
  2. 計算 Step Size (步長)
    • Step Size = 梯度 × Learning Rate
    • 這決定了我們應該向哪個方向前進,以及移動的距離
  3. 更新參數
    • 新參數 = 舊參數 - Step Size
    • 為什麼是減號 (-)?因為梯度代表的是「上升」的方向,而我們要最小化損失,因此應該朝「相反方向」前進。
raw-image

做到什麼時候停止呢? slope 接近0,但實際上很困難,所以只要 Step size 接近0.001 就好了。

raw-image

另外,實際上不會只有一個參數,模型會有多個參數呈現立體,或是物理無法想像的多維度,所以才要用微分與梯度下降快速找到損失函數最低的點。


至於這些理論如何在程式碼實現,下一篇我會介紹

1. 手刻梯度下降法 (Batch Gradient Descent)

  1. Scikit-Learn 套件


留言
avatar-img
留言分享你的想法!
avatar-img
越南放大鏡 X 下班資工系
31會員
84內容數
雙重身份:越南放大鏡 X 下班資工系 政大東南亞語言學系是我接觸越南語的起點,畢業後找越南外派工作的生活跟資訊時,發現幾乎都是清單式的分享,很難身歷其境。所以我希望「越南放大鏡」可以帶讀者看到更多細節和深入的觀察。 - 下班資工系則是自學資工系的課程內容,記錄實際操作的過程,學習理論的過程。希望可以跟讀者一起成長。
2025/04/24
本系列文章將循序漸進地介紹 JavaScript 的核心概念,從基礎語法到進階應用,例如非同步程式設計和 React 基礎。內容淺顯易懂,並使用生活化的比喻幫助讀者理解,搭配程式碼範例,適合 JavaScript 初學者學習。
Thumbnail
2025/04/24
本系列文章將循序漸進地介紹 JavaScript 的核心概念,從基礎語法到進階應用,例如非同步程式設計和 React 基礎。內容淺顯易懂,並使用生活化的比喻幫助讀者理解,搭配程式碼範例,適合 JavaScript 初學者學習。
Thumbnail
2025/04/21
本文介紹行動通訊網路的演進歷史,從1G到5G,並說明ITU與3GPP在制定通訊規格上的重要角色,以及5G的三大關鍵應用場景:URLLC、eMBB和mMTC。
Thumbnail
2025/04/21
本文介紹行動通訊網路的演進歷史,從1G到5G,並說明ITU與3GPP在制定通訊規格上的重要角色,以及5G的三大關鍵應用場景:URLLC、eMBB和mMTC。
Thumbnail
2025/04/11
這篇文章說明網路的七層模型、IP 位址、通訊埠、TCP/UDP 協定、HTTP 協定、HTTP 狀態碼以及 WebSocket,並解釋它們之間的關係與互動方式。文中包含許多圖表和範例,幫助讀者理解這些網路概念。
Thumbnail
2025/04/11
這篇文章說明網路的七層模型、IP 位址、通訊埠、TCP/UDP 協定、HTTP 協定、HTTP 狀態碼以及 WebSocket,並解釋它們之間的關係與互動方式。文中包含許多圖表和範例,幫助讀者理解這些網路概念。
Thumbnail
看更多
你可能也想看
Thumbnail
2025 vocus 推出最受矚目的活動之一——《開箱你的美好生活》,我們跟著創作者一起「開箱」各種故事、景點、餐廳、超值好物⋯⋯甚至那些讓人會心一笑的生活小廢物;這次活動不僅送出了許多獎勵,也反映了「內容有價」——創作不只是分享、紀錄,也能用各種不同形式變現、帶來實際收入。
Thumbnail
2025 vocus 推出最受矚目的活動之一——《開箱你的美好生活》,我們跟著創作者一起「開箱」各種故事、景點、餐廳、超值好物⋯⋯甚至那些讓人會心一笑的生活小廢物;這次活動不僅送出了許多獎勵,也反映了「內容有價」——創作不只是分享、紀錄,也能用各種不同形式變現、帶來實際收入。
Thumbnail
嗨!歡迎來到 vocus vocus 方格子是台灣最大的內容創作與知識變現平台,並且計畫持續拓展東南亞等等國際市場。我們致力於打造讓創作者能夠自由發表、累積影響力並獲得實質收益的創作生態圈!「創作至上」是我們的核心價值,我們致力於透過平台功能與服務,賦予創作者更多的可能。 vocus 平台匯聚了
Thumbnail
嗨!歡迎來到 vocus vocus 方格子是台灣最大的內容創作與知識變現平台,並且計畫持續拓展東南亞等等國際市場。我們致力於打造讓創作者能夠自由發表、累積影響力並獲得實質收益的創作生態圈!「創作至上」是我們的核心價值,我們致力於透過平台功能與服務,賦予創作者更多的可能。 vocus 平台匯聚了
Thumbnail
SGD(Stochastic Gradient Descent,隨機梯度下降) 每次迭代僅使用一小部分數據,通常是一個樣本或一個小批次(minibatch,要平均)來計算梯度,從而更新模型參數。 優點: 1.更新速度快,適合大規模數據。 2.可跳出鞍點或局部極小值。 應用:
Thumbnail
SGD(Stochastic Gradient Descent,隨機梯度下降) 每次迭代僅使用一小部分數據,通常是一個樣本或一個小批次(minibatch,要平均)來計算梯度,從而更新模型參數。 優點: 1.更新速度快,適合大規模數據。 2.可跳出鞍點或局部極小值。 應用:
Thumbnail
前言 這篇會拿Finlab上的策略與機器學習預測線圖的因子進行結合。由於模型是透過2007-2011年的線圖作為訓練資料,回測的時候會從2012年開始以示公平。 還沒看過前面兩篇的可以點下面連結,會比較看得懂接下來的內容。 第一篇: 什麼?!AI也看得懂k線圖?利用機器學習來判斷股票漲
Thumbnail
前言 這篇會拿Finlab上的策略與機器學習預測線圖的因子進行結合。由於模型是透過2007-2011年的線圖作為訓練資料,回測的時候會從2012年開始以示公平。 還沒看過前面兩篇的可以點下面連結,會比較看得懂接下來的內容。 第一篇: 什麼?!AI也看得懂k線圖?利用機器學習來判斷股票漲
Thumbnail
前言 這個系列打算分三篇來完成。 第一篇先來解析論文中的方法以及實驗結果。 第二篇會把這篇論文應用在台股上,評估效果如何。 第三篇會把這篇論文實作成因子套用在Finlab上進行回測。 動機 今天要介紹的論文是這篇 (Re-)Imag(in)ing Price Trends。會知道
Thumbnail
前言 這個系列打算分三篇來完成。 第一篇先來解析論文中的方法以及實驗結果。 第二篇會把這篇論文應用在台股上,評估效果如何。 第三篇會把這篇論文實作成因子套用在Finlab上進行回測。 動機 今天要介紹的論文是這篇 (Re-)Imag(in)ing Price Trends。會知道
Thumbnail
從Part9開始就談到了不利方向加減碼,或稱攤平加碼/減倉。 若買入標的後,價格開始上漲,為了留住更多獲利,我們也可以選擇將停損點向上移動,使整筆交易保留一定幅度的獲利,這樣的做法就是設定『追蹤停損』(Tradiling Stop,TS)
Thumbnail
從Part9開始就談到了不利方向加減碼,或稱攤平加碼/減倉。 若買入標的後,價格開始上漲,為了留住更多獲利,我們也可以選擇將停損點向上移動,使整筆交易保留一定幅度的獲利,這樣的做法就是設定『追蹤停損』(Tradiling Stop,TS)
Thumbnail
2022年的投資市場,大家一起好,個股一起漲的狀態,應該是很難再看到了,因此選股的難度越來越重要,除了看基本面,籌碼面之外,技術面的應用,可以更早知道股價的變化以及因應之道,接下來的文章就是跟大家分享一些指標的再進化,和使用方式。 感恩節一點都沒辦法感恩,原本全世界經過了2年來的努力,終於淡化了疫情
Thumbnail
2022年的投資市場,大家一起好,個股一起漲的狀態,應該是很難再看到了,因此選股的難度越來越重要,除了看基本面,籌碼面之外,技術面的應用,可以更早知道股價的變化以及因應之道,接下來的文章就是跟大家分享一些指標的再進化,和使用方式。 感恩節一點都沒辦法感恩,原本全世界經過了2年來的努力,終於淡化了疫情
Thumbnail
想必你是讀過這一篇文章《技術分析起手式 ─ 下刀之前的重要儀式》才來到這裡的讀者。這關乎水平線的務實運用,已經熟悉支撐與壓力水平轉換的朋友們,請勿錯過上面包含SOP的內容。 這裡我們把上一篇的內容,列成以下重點: 從日線Day層級切入: 第一,在一段上升或下降的趨勢上劃下兩條關鍵高低點。 第二,縮小
Thumbnail
想必你是讀過這一篇文章《技術分析起手式 ─ 下刀之前的重要儀式》才來到這裡的讀者。這關乎水平線的務實運用,已經熟悉支撐與壓力水平轉換的朋友們,請勿錯過上面包含SOP的內容。 這裡我們把上一篇的內容,列成以下重點: 從日線Day層級切入: 第一,在一段上升或下降的趨勢上劃下兩條關鍵高低點。 第二,縮小
Thumbnail
均線,是移動平均線,是一種買進成本平均的概念  在技術分析上,是很基本而且重要的觀察指標!   本集影片,要帶大家認識均線,從最基本的到各種應用,包含  均線的狀態,翻揚與下彎 均線扣抵位置,利用扣抵位置來預判走勢  均線的交叉型態,死亡交叉與黃金交叉 均線的排列,多頭排列與空頭排列  
Thumbnail
均線,是移動平均線,是一種買進成本平均的概念  在技術分析上,是很基本而且重要的觀察指標!   本集影片,要帶大家認識均線,從最基本的到各種應用,包含  均線的狀態,翻揚與下彎 均線扣抵位置,利用扣抵位置來預判走勢  均線的交叉型態,死亡交叉與黃金交叉 均線的排列,多頭排列與空頭排列  
Thumbnail
我們將會對動態設定學習率(learning rate)作為最陡梯度下降法的變異演算法做介紹。內容包括了解釋什麼事循環式的學習率調整排程法和何謂使用指數衰退權重來計算移動平均值,同時也介紹如何對大量參數的變數進行最佳化和目前活躍的演算法變異。如 adagrad, adadelta 和 RMSprop
Thumbnail
我們將會對動態設定學習率(learning rate)作為最陡梯度下降法的變異演算法做介紹。內容包括了解釋什麼事循環式的學習率調整排程法和何謂使用指數衰退權重來計算移動平均值,同時也介紹如何對大量參數的變數進行最佳化和目前活躍的演算法變異。如 adagrad, adadelta 和 RMSprop
Thumbnail
A.i人工智慧真的能預測股市嗎 ? 我們不免俗再提到機器學習,前幾年機器學習,人工智慧這些名詞非常的夯,引領風潮,全世界都在瘋狂,因為AlphaGo 打敗了無數個圍棋高手,開始炒熱機器學習。有人也許好奇,AlphaGo的技術不就是人工神經網路嗎,他的概念由來已久......
Thumbnail
A.i人工智慧真的能預測股市嗎 ? 我們不免俗再提到機器學習,前幾年機器學習,人工智慧這些名詞非常的夯,引領風潮,全世界都在瘋狂,因為AlphaGo 打敗了無數個圍棋高手,開始炒熱機器學習。有人也許好奇,AlphaGo的技術不就是人工神經網路嗎,他的概念由來已久......
Thumbnail
這篇文章的標題有「預測」二字,但看完之後請大家思考一下,這種基於「統計學」、「機器學習」的預測方法,是否跟你心中的「預測」相差甚遠呢?
Thumbnail
這篇文章的標題有「預測」二字,但看完之後請大家思考一下,這種基於「統計學」、「機器學習」的預測方法,是否跟你心中的「預測」相差甚遠呢?
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News