機器學習基礎知識【 激活函數、損失函數、優化器、 正則化、調度器、指標函數】

目錄標題

    • 機器學習基礎知識概覽
      • 激活函數 (Activation Functions)
      • 損失函數 (Loss Functions / Cost Functions)
      • 優化器 (Optimizers)
      • 正則化 (Regularization)
      • 調度器 (Schedulers / Learning Rate Schedulers)
      • 指標函數 (Metric Functions)
      • 其他重要概念
      • 訓練流程


機器學習基礎知識概覽

激活函數 (Activation Functions)

激活函數是神經網絡中的一個關鍵組成部分,它引入了非線性。如果沒有激活函數,即使是多層神經網絡也只會執行線性變換,從而限制了其學習復雜模式的能力。激活函數決定了神經元的輸出。

常見類型:

  • Sigmoid 函數: 將輸入壓縮到 0 到 1 的范圍。它曾經很流行,但在深度網絡中容易出現梯度消失問題。
  • ReLU (Rectified Linear Unit) 函數: 當輸入大于 0 時,輸出等于輸入;當輸入小于等于 0 時,輸出為 0。ReLU 是目前最常用的激活函數,因為它計算簡單且能有效緩解梯度消失問題。
  • Leaky ReLU 函數: 解決了 ReLU 在輸入為負時“死亡”的問題,即在輸入為負時,輸出一個小的非零梯度。
  • Tanh (Hyperbolic Tangent) 函數: 將輸入壓縮到 -1 到 1 的范圍,是 Sigmoid 的改進版,但仍可能面臨梯度消失。
  • Softmax 函數: 主要用于多分類問題的輸出層,它將一組實數轉換為概率分布,所有輸出值的和為 1。
Name (英文)中文名稱Formula(公式)Feature(特點)Usage(用途)
SigmoidS型函數σ(x)=11+e?x\sigma(x) = \frac{1}{1+e^{-x}}σ(x)=1+e?x1?輸出范圍 (0,1),梯度消失問題二分類輸出層
Tanh雙曲正切tanh?(x)=ex?e?xex+e?x\tanh(x) = \frac{e^x - e^{-x}}{e^x + e^{-x}}tanh(x)=ex+e?xex?e?x?輸出范圍 (-1,1),居中對稱隱藏層
ReLU線性整流函數f(x)=max?(0,x)f(x) = \max(0, x)f(x)=max(0,x)稀疏激活,訓練快,可能“死亡神經元”隱藏層
Leaky ReLU帶泄漏的ReLUf(x)=xf(x) = xf(x)=x if x>0x > 0x>0 else 0.01x0.01x0.01x避免神經元完全失活隱藏層
Softmax歸一化函數exi∑jexj\frac{e^{x_i}}{\sum_j e^{x_j}}j?exj?exi??輸出為概率分布,適合多分類多分類輸出層

損失函數 (Loss Functions / Cost Functions)

損失函數衡量模型預測值與真實值之間的差異。它的目標是量化模型的不準確性,并在訓練過程中通過最小化損失來提高模型的性能。選擇合適的損失函數對于特定任務至關重要。

常見類型:

  • 均方誤差 (Mean Squared Error, MSE): 適用于回歸任務,計算預測值與真實值差的平方的平均值。它對較大的誤差給予更大的懲罰。
  • 平均絕對誤差 (Mean Absolute Error, MAE): 同樣適用于回歸任務,計算預測值與真實值差的絕對值的平均值。MAE 對異常值不敏感。
  • 交叉熵 (Cross-Entropy): 主要用于分類任務。
    • 二元交叉熵 (Binary Cross-Entropy): 用于二分類問題。
    • 分類交叉熵 (Categorical Cross-Entropy): 用于多分類問題,當標簽是獨熱編碼時。
    • 稀疏分類交叉熵 (Sparse Categorical Cross-Entropy): 同樣用于多分類問題,當標簽是整數編碼時。
  • Hinge Loss: 主要用于支持向量機 (SVM) 分類器,特別是用于最大間隔分類。
Loss Function
損失函數
公式任務及用途說明符號定義
Mean Squared Error (MSE)
均方誤差
MSE=1n∑i=1n(yi?y^i)2\displaystyle \text{MSE} = \frac{1}{n}\sum_{i=1}^{n}(y_i - \hat{y}_i)^2MSE=n1?i=1n?(yi??y^?i?)2回歸任務計算預測值與真實值差的平方的平均值,對大誤差敏感,懲罰較大偏差。nnn:樣本數量
yiy_iyi?:真實值
y^i\hat{y}_iy^?i?:預測值
Mean Absolute Error (MAE)
平均絕對誤差
MAE=1n∑i=1n∣yi?y^i∣\text{MAE} = \frac{1}{n} \sum_{i=1}^{n} \left | y_i - \hat{y}_i \right |MAE=n1?i=1n?yi??y^?i?MAE 只用于回歸任務,不適合分類其魯棒性和對離群點不敏感,相較于 MSE 在梯度優化時不夠平滑(不可導點在 yi=y^iy_i = \hat{y}_iyi?=y^?i?),計算預測值與真實值差的絕對值平均值,對異常值更魯棒。同上
Binary Cross-Entropy
二元交叉熵
?[ylog?(y^)+(1?y)log?(1?y^)]\displaystyle -\left[ y \log(\hat{y}) + (1 - y) \log(1 - \hat{y}) \right]?[ylog(y^?)+(1?y)log(1?y^?)]二分類任務用于 0/1 二分類問題,衡量預測概率與真實標簽的差異,常配 sigmoid。y∈{0,1}y \in \{0,1\}y{0,1}:真實標簽
y^\hat{y}y^?:預測概率(取值[0,1])
Categorical Cross-Entropy
分類交叉熵
?∑i=1Cyilog?(y^i)\displaystyle -\sum_{i=1}^{C} y_i \log(\hat{y}_i)?i=1C?yi?log(y^?i?)多分類任務(獨熱編碼標簽)多分類常用損失函數,標簽為 one-hot,模型輸出為 softmax 概率。CCC:類別數
yi∈{0,1}y_i \in \{0,1\}yi?{0,1}:標簽的 one-hot 編碼
y^i\hat{y}_iy^?i?:類別 iii 的預測概率
Sparse Categorical Cross-Entropy
稀疏分類交叉熵
與分類交叉熵公式相同,標簽為整數形式多分類任務(稀疏整數標簽)用于標簽為整數形式的多分類,更高效節省內存。標簽為整數,表示類別索引,預測概率同上
Hinge Loss
Hinge 損失
Hinge=max?(0,1?y?y^)\displaystyle \text{Hinge} = \max(0, 1 - y \cdot \hat{y})Hinge=max(0,1?y?y^?)SVM / 最大間隔分類任務用于支持向量機分類,推動模型擴大類間間隔,標簽通常為 ?1-1?1+1+1+1y∈{?1,+1}y \in \{-1, +1\}y{?1,+1}:真實標簽
y^\hat{y}y^?:預測得分(實數)

優化器 (Optimizers)

優化器是調整模型權重和偏置以最小化損失函數的算法。它們指導著模型在訓練過程中如何“學習”。

常見類型:

  • 梯度下降 (Gradient Descent, GD): 最基本的優化器,沿著損失函數梯度的負方向更新權重。
    • 批量梯度下降 (Batch Gradient Descent): 使用整個訓練集計算梯度,更新一次權重。計算成本高,但收斂穩定。
    • 隨機梯度下降 (Stochastic Gradient Descent, SGD): 每次使用一個樣本計算梯度,更新一次權重。速度快,但波動性大。
    • 小批量梯度下降 (Mini-batch Gradient Descent): 介于批量梯度下降和隨機梯度下降之間,每次使用一小批樣本計算梯度。兼顧了速度和穩定性,是實踐中最常用的方法。
  • 動量 (Momentum): 引入“動量”項,幫助 SGD 克服局部最小值并加速收斂。
  • Adagrad (Adaptive Gradient Algorithm): 根據參數的歷史梯度自適應地調整學習率。對頻繁更新的參數降低學習率,對不頻繁更新的參數提高學習率。
  • RMSprop (Root Mean Square Propagation): Adagrad 的改進版,解決了 Adagrad 學習率單調遞減的問題。
  • Adam (Adaptive Moment Estimation): 結合了動量和 RMSprop 的優點,是目前最流行和最有效的優化器之一。
Name (英文)中文名稱Feature(特點)Usage(用途)
SGD隨機梯度下降簡單,基礎,更新慢小數據、入門
Momentum動量法增加慣性,避免震蕩,收斂更快中等復雜度任務
AdaGrad自適應梯度學習率自動調整,對稀疏特征有效自然語言處理
RMSProp平均方根傳播改進 AdaGrad,避免學習率快速下降序列建模
Adam自適應矩估計綜合 Momentum + RMSProp,主流高效優化器推薦使用

正則化 (Regularization)

正則化技術旨在防止模型在訓練數據上過擬合 (Overfitting),從而提高模型在新數據上的泛化能力。過擬合發生時,模型在訓練集上表現良好,但在未見過的數據上表現差。

常見類型:

  • L1 正則化 (Lasso Regression): 在損失函數中添加權重絕對值之和的懲罰項。它傾向于使一些權重變為零,從而實現特征選擇。
  • L2 正則化 (Ridge Regression / Weight Decay): 在損失函數中添加權重平方和的懲罰項。它傾向于使權重變小,但不使其變為零。
  • Dropout: 在神經網絡訓練過程中,隨機地“關閉”一些神經元(及其連接)。這迫使網絡學習更魯棒的特征,減少對特定神經元的依賴。
  • Early Stopping (早期停止): 監控模型在驗證集上的性能,當驗證損失停止下降甚至開始上升時,提前停止訓練。
  • 數據增強 (Data Augmentation): 通過對現有訓練數據進行變換(如圖像旋轉、翻轉、裁剪等)來創建新的訓練樣本,從而增加訓練數據的多樣性。
Name (英文)中文名稱Formula(公式)Feature(特點)
L2 RegularizationL2 正則化λ∑w2\lambda \sum w^2λw2抑制大權重,適合多數模型
L1 RegularizationL1 正則化λ∑w\lambda \sum wλw稀疏化模型,特征選擇
Dropout隨機失活每次訓練隨機屏蔽部分神經元防止依賴特定路徑,增加泛化能力
Early Stopping提前停止驗證損失不再下降則停止訓練控制訓練時間,避免過擬合

調度器 (Schedulers / Learning Rate Schedulers)

調度器(也稱為學習率調度器)用于在訓練過程中動態調整學習率。一個合適的學習率策略可以顯著影響模型的訓練速度和最終性能。

常見類型:

  • 步長衰減 (Step Decay): 每隔一定數量的 epoch,將學習率乘以一個固定因子(如 0.1)。
  • 指數衰減 (Exponential Decay): 學習率按照指數形式衰減。
  • 余弦退火 (Cosine Annealing): 學習率按照余弦函數的形式周期性地下降和上升,有助于模型跳出局部最優。
  • 多項式衰減 (Polynomial Decay): 學習率按照多項式函數的形式衰減。
  • ReduceLROnPlateau: 當模型的性能(例如驗證損失)在一定數量的 epoch 內沒有改善時,降低學習率。
Name (英文)中文名稱Feature(特點)
StepLR階梯下降每隔若干步將學習率乘以一個常數
ExponentialLR指數衰減每步指數下降
ReduceLROnPlateau驗證集不下降則衰減更智能,常用于驗證損失不變時
CosineAnnealingLR余弦退火余弦變化,前期下降快,后期平穩
Linear Warmup & Decay線性預熱 + 下降常用于 BERT 微調,先慢慢升高后線性衰減

指標函數 (Metric Functions)

指標函數用于評估模型的性能。它們提供了關于模型在特定任務上的表現的定量衡量標準。與損失函數不同,指標函數通常更具可解釋性,更接近我們對模型性能的直觀理解,并且不一定需要可微。

常見類型:

  • 準確率 (Accuracy): 在分類任務中,正確預測的樣本數占總樣本數的比例。
  • 精確率 (Precision): 在分類任務中,被預測為正例的樣本中,真實為正例的比例。衡量模型預測正例的準確性。
  • 召回率 (Recall / Sensitivity): 在分類任務中,所有真實正例中,被模型正確預測為正例的比例。衡量模型識別正例的能力。
  • F1 分數 (F1 Score): 精確率和召回率的調和平均值,綜合考慮了兩者。
  • ROC 曲線和 AUC (Area Under the Receiver Operating Characteristic Curve): 用于評估二分類模型的性能,特別是當類別不平衡時。AUC 值越大,模型性能越好。
  • R2 分數 (R-squared / Coefficient of Determination): 在回歸任務中,衡量模型解釋因變量方差的能力。
  • 均方根誤差 (Root Mean Squared Error, RMSE): MSE 的平方根,與原始數據單位一致,更具可解釋性。

📊 分類任務指標(Classification):

Name (英文)中文名稱Formula(公式)說明(中文)
Accuracy準確率TP+TNTotal\frac{TP + TN}{Total}TotalTP+TN?總體預測正確的比例
Precision精確率TPTP+FP\frac{TP}{TP + FP}TP+FPTP?預測為正中真正為正的比例
Recall召回率TPTP+FN\frac{TP}{TP + FN}TP+FNTP?所有實際為正中預測為正的比例
F1 Score調和平均值2PRP+R\frac{2PR}{P + R}P+R2PR?平衡精確率和召回率
AUC-ROC曲線下面積曲線面積越大越好衡量分類能力強弱

📈 回歸任務指標(Regression):

Name (英文)中文名稱Formula(公式)說明
MSE均方誤差1n∑(y?y^)2\frac{1}{n} \sum (y - \hat{y})^2n1?(y?y^?)2對大誤差敏感
RMSE均方根誤差MSE\sqrt{MSE}MSE?單位與原量綱相同,易解釋
MAE平均絕對誤差1n∑∣y?y^∣\frac{1}{n} \sum | y - \hat{y} |n1?y?y^?更魯棒,對異常點影響小
R2 Score決定系數1?SSESST1 - \frac{SSE}{SST}1?SSTSSE?越接近 1 表示擬合越好

其他重要概念

  • 數據集 (Dataset): 訓練和測試模型的數據集合。通常分為訓練集 (Training Set)驗證集 (Validation Set)測試集 (Test Set)
    • 訓練集: 用于訓練模型。
    • 驗證集: 用于在訓練過程中評估模型性能,調整超參數,并進行早期停止。
    • 測試集: 用于在模型訓練完成后,評估模型的最終泛化能力。
  • 特征 (Features): 用于描述樣本的屬性或變量。
  • 標簽 (Labels) / 目標 (Targets): 模型需要預測的輸出值。
  • 模型 (Model): 學習數據模式的算法或結構(例如神經網絡、決策樹等)。
  • 超參數 (Hyperparameters): 在訓練過程開始之前設置的參數,例如學習率、批次大小、網絡層數、隱藏單元數量等。它們影響模型的學習過程。
  • 欠擬合 (Underfitting): 模型未能充分學習訓練數據的模式,導致在訓練集和測試集上都表現不佳。通常是模型復雜度不足或訓練時間不夠導致的。
  • 過擬合 (Overfitting): 模型在訓練數據上表現非常好,但對新數據的泛化能力差。通常是模型過于復雜或訓練數據量不足導致的。
  • 偏差 (Bias): 模型對真實關系過于簡化的假設所導致的誤差。高偏差通常對應著欠擬合。
  • 方差 (Variance): 模型對訓練數據中隨機性噪聲的敏感程度。高方差通常對應著過擬合。
  • 偏差-方差權衡 (Bias-Variance Trade-off): 在降低偏差和降低方差之間進行平衡,以獲得最佳的模型泛化能力。

訓練流程

Raw Data(原始數據)
↓
Preprocessing(預處理)
↓
Train/Validation/Test Split(劃分訓練、驗證、測試集)
↓
Model Definition(模型構建) → Activation Function(激活) → Loss(損失) → Optimizer(優化) → Regularization(正則)
↓
Train(訓練) → Scheduler(調度器) → Evaluate(評估指標)
↓
Tune(調參) → Save(保存模型) → Deploy(部署)

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

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

相關文章

【達夢數據庫|JPA】后端數據庫國產化遷移記錄

項目背景 經典的springbootjpa,java1.8數據庫MySQL需要遷移到國產化數據庫達夢上 開發環境安裝 最簡單的方式: 官方網站下載安裝時選擇“典型安裝”即可 Linux安裝 國產化一律上docer不要猶豫 下載三方提供的docker鏡像按頁面文檔啟動即可同上下載官…

ubuntu22默認安裝firefox使用snap安裝還老打不開解決辦法

終極解決方案(100% 避免 Snap 版 Firefox) 步驟 1:徹底移除 Snap 版 Firefox bash sudo snap remove --purge firefox 步驟 2:添加 Mozilla 官方 PPA(提供 .deb 版 Firefox) bash sudo add-apt-repository …

MyBatis02-mybatis-config.xml配置文件講解

mybatis-config.xml 是 MyBatis 的核心配置文件&#xff0c;用于配置整個 MyBatis 框架的全局行為&#xff0c;比如環境&#xff08;數據源&#xff09;、事務、類型別名、插件、Mapper 映射等。示例&#xff1a;<?xml version"1.0" encoding"UTF-8" ?…

合上電腦不關機

在Debian 系統上&#xff0c;如何實現合上電腦不關機的效果&#xff1f; 可以修改配置文件&#xff1a; sudo vim /etc/systemd/logind.conf1.找到 HandleLidSwitch &#xff0c;將其值改為 ignore &#xff08;處理蓋子開關為忽略&#xff09; 2.將 LidSwitchIgnoreInhibited …

服務器深夜告警?可能是攻擊前兆!

凌晨三點&#xff0c;刺耳的告警鈴聲把你從夢中驚醒&#xff1a;服務器CPU 100%&#xff0c;內存耗盡&#xff01;你手忙腳亂地登錄服務器&#xff0c;發現某個進程瘋狂占用資源。是程序Bug&#xff1f;還是業務突增&#xff1f;排查半天&#xff0c;最后在角落的日志里發現蛛絲…

重學前端003 --- CSS 顏色

文章目錄文檔聲明head顏色模型div根據在這里 Freecodecamp 實踐&#xff0c;記錄筆記總結。 文檔聲明 在文檔頂部添加 DOCTYPE html 聲明 <!DOCTYPE html>head title 元素為搜索引擎提供了有關頁面的額外信息。 它還通過以下兩種方式顯示 title 元素的內容&#xff1a…

學弟讓我幫忙寫一個學生管理系統的后端,我直接上科技

&#x1f4dd;個人主頁&#xff1a;哈__ 期待您的關注 目錄 一、飛算AI簡介 二、系統開發 2.1 需求提出 2.2 系統模塊的設計 2.3 數據庫表格設計 2.4 接口規范設計 2.5 源碼生成 三、總結 學弟這兩天有一個小組合作的任務&#xff0c;應該是培訓吧要寫一個學生管理…

《P3038 [USACO11DEC] Grass Planting G》

題目描述 給出一棵有 n 個節點的樹&#xff0c;有 m 個如下所示的操作&#xff1a; 將兩個節點之間的 路徑上的邊 的權值均加一。 查詢兩個節點之間的 那一條邊 的權值&#xff0c;保證兩個節點直接相連。 初始邊權均為 0。 輸入格式 第一行兩個整數 n,m&#xff0c;含義…

NestJS

文章的地址 NestJShttps://equinox-primrose-ceb.notion.site/NestJS-22d4b8031e0f80b39fc7fe1ff111f802 不產生測試的.spec.ts文件的配置 "generateOptions": {"spec": false }創建模型 nest g m xx 創建服務 nest g s xx 創建處理 nest g c xx CRU…

vue入門學習教程

一、介紹 vue是一款用于構建用戶界面的 JavaScript 框架。基于標準 HTML、CSS 和 JavaScript 構建&#xff0c;并提供了一套聲明式的、組件化的編程模型&#xff0c;幫助你高效地開發用戶界面。 二、使用和安裝 方法1&#xff1a;在html代碼中直接使用<script>導入&…

C++類對象多態基礎語法【超詳細】

文章目錄前言1. 虛函數1.1 現象1.2 多態1.3 析構函數1.4 override和final1.5 重載、隱藏、重寫對比2. 抽象類2.1 抽象類特性2.2 抽象類的應用場景3. 多態實現的底層原理4. 靜態綁定和動態綁定5. 總結前言 多態是面向對象三大特性之一&#xff0c;也是細節最多的語法之一。學習…

Flask 入門到實戰(3):用 SQLAlchemy 優雅操作數據庫

深入理解 Flask ORM&#xff1a;用 SQLAlchemy 優雅操作數據庫一、前言&#xff1a;什么是 ORM&#xff1f;為什么要用它&#xff1f; 傳統數據庫操作要寫 SQL&#xff0c;比如&#xff1a; SELECT * FROM users WHERE id 1;而使用 ORM 后&#xff0c;你可以這樣寫&#xff1a…

源表=電源+數字表?一文看懂SMU源表 2025-04-14

源表(Source Meter Unit, SMU)廣泛用于半導體器件、材料、醫療、發光器件與光通信等行業,測量器件的伏安(I-V)特性曲線、絕緣材料的電阻值(電阻率)、電容的絕緣電阻(漏電流)、光電器件的暗電流或者L-I-V等。 源表的名稱已經清晰的告訴我們,它包含了高精度電源輸出和…

單片機STM32F103:DMA的原理以及應用

STM32F103系列微控制器&#xff08;基于ARM Cortex-M3內核&#xff09;集成了**DMA&#xff08;Direct Memory Access&#xff0c;直接內存訪問&#xff09;**控制器&#xff0c;用于在存儲器與外設、存儲器與存儲器之間高效傳輸數據&#xff0c;減少CPU的干預&#xff0c;從而…

Webview 中可用的 VS Code 方法

在 VS Code Webview 的 HTML 中&#xff0c;不能直接調用 VS Code 的 API&#xff08;如 vscode.window.showInformationMessage&#xff09;&#xff0c;但可以通過 acquireVsCodeApi() 獲取一個受限的 vscode 對象&#xff0c;用于與插件主程序通信。以下是詳細說明和示例&am…

Qt:布局管理器Layout

目錄 布局管理器 QVBoxLayout QHBoxLayout QGirdLayout QFormLayout Spacer 布局管理器 在以往的界面操作上&#xff0c;都是程序員手動拖動控件來布局&#xff0c;這種方式有一些不足之處&#xff0c;比如不能很好的把握控件之間的距離&#xff0c;以及控件的大小&…

【Java編程動手學】深入剖析Java網絡編程:原理、協議與應用

文章目錄一、引言二、計算機網絡基礎1、計算機網絡的概念2、網絡地址的重要性三、套接字編程&#xff1a;網絡通信的基石1、套接字的概念2、TCP通信編程示例四、TCP通信編程&#xff1a;可靠的數據傳輸1、TCP協議的特點2、實際應用中的TCP通信五、UDP通信編程&#xff1a;高效的…

vue3.2 前端動態分頁算法

文章目錄背景思路頁面情況核心代碼小結效果背景 1. 后臺接口只是動態返回一個數組的數據&#xff0c;前端需要根據數據量的大小判斷是否需要分頁&#xff0c;頁面高度固定2. 頁面根據頁數大小有不同的展示a. 只有一頁 頭部 內容 統計 尾部b. 多頁i. 第一頁 頭部 內容 尾…

UC瀏覽器PC版自2016年后未再更新不支持vue3

win uc瀏覽器&#xff0c;點擊頁面觸發異常。UC瀏覽器PC版自2016年后未再更新&#xff08;最新版本停留在Chromium 50內核&#xff09;。其內置內核版本較低&#xff08;如Trident/Blink舊版&#xff09;&#xff0c;無法支持Vue 3等現代前端框架的語法特性&#xff08;如ES6、…

亞古數據:澳大利亞公司的ABN和ACN號碼是什么?

在跨國商業的迷宮中&#xff0c;了解目標市場的公司注冊細節是一項不可或缺的技能。對于與中國企業有業務往來的朋友們來說&#xff0c;澳大利亞這片充滿機遇的土地上&#xff0c;兩個縮寫——ABN與ACN&#xff0c;如同解鎖合作之門的密鑰&#xff0c;顯得尤為重要。今天&#…