- vừa được xem lúc

Cách đo lường Bias và Variance bằng Bootstrap

0 0 3

Người đăng: Phan Ngoc

Theo Viblo Asia

Mục tiêu

Đo lường BiasVariance của một mô hình Machine Learning bằng cách sử dụng Bootstrap Sampling.


Bối cảnh

  • Dữ liệu: Dataset có 5 đặc trưng (X1-X5) và 1 biến mục tiêu (Y).
  • Mô hình: Ví dụ sử dụng mô hình đơn giản như Decision Tree, Neural Network nhỏ, hoặc bất kỳ model nào bạn muốn kiểm tra.

Các bước chi tiết

📊 Bước 1: Chuẩn bị dữ liệu gốc

Giả sử chúng ta có dataset với N = 100 dòng:

X1 X2 X3 X4 X5 Y
0.5 1.2 0.3 1.5 2.3 10
... ... ... ... ... ...

Ký hiệu:

  • D: Dataset gốc
  • n: Số mẫu trong dataset (100)

🔁 Bước 2: Bootstrap Sampling

Sinh B mẫu bootstrap (ví dụ B = 4):

  • Với mỗi mẫu bootstrap b (b = 1 → 4)

    • Lấy mẫu ngẫu nhiên n dòng từ D với hoàn lại (sampling with replacement).
    • Phần dữ liệu không được chọn sẽ được gọi là Out-of-Bag (OOB) cho sample đó.

Giả sử:

Bootstrap sample Size Out-of-Bag size
Sample 1 100 30
Sample 2 100 28
Sample 3 100 27
Sample 4 100 31

🛠️ Bước 3: Train mô hình trên từng mẫu bootstrap

  • Với mỗi bootstrap sample b, train một mô hình M_b.

Ví dụ:

  • Model 1 → train trên Sample 1
  • Model 2 → train trên Sample 2
  • v.v.

🔮 Bước 4: Dự đoán trên Out-of-Bag (OOB) samples

  • Với mỗi mô hình M_b, dự đoán Ŷ_b trên Out-of-Bag sample tương ứng.
  • Lưu lại dự đoán cho từng điểm dữ liệu nằm trong OOB.

Giả sử điểm dữ liệu i = 5 (Y = 15) có 2 model mà nó nằm trong OOB:

Model Predicted value (Ŷ)
Model 1 14
Model 3 16

🧮 Bước 5: Tính thống kê trên dự đoán

  • Với mỗi điểm dữ liệu i (có ít nhất một OOB prediction):

    • Tính Mean Prediction (trung bình các giá trị dự đoán)
    • Tính Variance (độ biến thiên giữa các prediction)
    • Tính Bias squared bằng công thức:

Bias2=(MeanPredictionTrueY)2Bias^2 = (MeanPrediction - TrueY)^2

Ví dụ cho điểm i = 5:

  • Predictions: [14,16]
  • MeanPrediction = (14+16)/2 = 15
  • TrueY = 15
  • Bias² = (15 - 15)^2 = 0
  • Variance = Var([14,16]) = ((14 - 15)^2 + (16 - 15)^2)/2 = (1 + 1)/2 = 1

📈 Bước 6: Tổng hợp kết quả toàn dataset

  • Lặp lại bước 5 cho toàn bộ điểm dữ liệu có dự đoán OOB.

  • Cuối cùng tính:

    • Mean Bias² (trung bình tất cả Bias²)
    • Mean Variance (trung bình tất cả Variance)

Công thức tổng thể:

Bias^2=1Ni=1N(f^avg(xi)yi)2\widehat{Bias}^2 = \frac{1}{N} \sum_{i=1}^N ( \hat{f}_{avg}(x_i) - y_i )^2

Var^=1Ni=1NVar(f^b(xi))\widehat{Var} = \frac{1}{N} \sum_{i=1}^N Var(\hat{f}_b(x_i))


✅ Kết luận

Bạn sẽ có được:

  • Bias thể hiện mức độ sai lệch trung bình của mô hình.
  • Variance thể hiện độ dao động của dự đoán mô hình khi thay đổi dữ liệu huấn luyện.

Bình luận

Bài viết tương tự

- vừa được xem lúc

Trực quan hóa thuật toán Machine Leaning bằng Python

Thuật toán ML(machine learning) thường được sử dụng để tìm mối quan hệ đặc trưng giữa các features và labels. Features là các biến độc lập mà chúng ta đưa vào thuật toán để huấn luyện mô hình ML, còn

0 0 25

- vừa được xem lúc

Machine Learning Cơ bản || Lesson 01: Sơ lược về Machine Learning

Sơ lược về Machine Learning (ML). 1) Định nghĩa về ML:.

0 0 28

- vừa được xem lúc

Phân loại hình ảnh với Vision Transformer

Ví dụ này triển khai mô hình Vision Transformer (ViT) của Alexey Dosovitskiy để phân loại hình ảnh và thể hiện mô hình đó trên tập dữ liệu CIFAR-100. Mô hình ViT áp dụng kiến trúc Transformer với khả

0 0 40

- vừa được xem lúc

Introduction Backpropagation CNN(Series 2)

Nhân dịp năm mới mình kính mong tất cả mọi người năm mới an lạnh thật nhiều niềm vui . Chúc mừng năm mới ngập tràn tiếng cười.

0 0 35

- vừa được xem lúc

Khám phá activation function Gelu(Transformers)

Phần 1 . Lời nói đầu. Trong bài viết này chúng ta sẽ bắt đầu tìm hiểu một số chi tiết chưa có trong bài báo https://arxiv.org/abs/1606.

0 0 28

- vừa được xem lúc

[Machine Learning] Một số nguồn hay cho việc tìm hiểu cơ chế "Attention"

head-attention-mechanism. https://data-science-blog.com/blog/2021/04/07/multi-head-attention-mechanism/. Giải thích về mặt toán học cơ chế head attention.

0 0 31