Hồi quy tuyến tính - Kỹ thuật cơ bản và ứng dụng trong học máy.pdf

aicandy 158 views 9 slides Dec 02, 2024
Slide 1
Slide 1 of 9
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9

About This Presentation

Hồi quy tuyến tính là một kỹ thuật thống kê cơ bản được sử dụng rộng rãi trong phân tích dữ liệu và học máy. Mục tiêu của hồi quy tuyến tính là xây dựng một mô hình toán học để dự đoán giá trị của một biến phụ thuộc (out...


Slide Content

https://aicandy.vn/hoi-quy-tuyen-tinh-ky-thuat-co-ban-va-ung-dung-trong-hoc-may/
Bản quyền thuộc về: https://aicandy.vn


Học tập toàn diện: Kết nối lý thuyết, thực hành và dữ liệu thực tế
https://aicandy.vn
1

Hồi quy tuyến tính: Kỹ thuật cơ bản và
ứng dụng trong học máy
Nội dung
 1. Giới thiệu
 2. Phân loại
o 2.1. Hồi quy tuyến tính đơn giản
o 2.2. Hồi quy tuyến tính đa biến
 3. Cách tính toán hệ số hồi quy
 4. Mô hình hồi quy tuyến tính với Python
o 4.1. Thực hiện hồi quy tuyến tính đơn giản bằng Python
o 4.2. Thực hiện hồi quy tuyến tính đa biến bằng Python
 5. Hồi quy tuyến tính sử dụng PyTorch
o 5.1. Hồi quy tuyến tính đơn giản với PyTorch
o 5.2. Hồi quy tuyến tính đa biến với PyTorch
 6. Ứng dụng của hồi quy tuyến tính trong học máy
o 6.1. Dự đoán giá nhà
o 6.2. Phân tích mối muan hệ giữa các biến kinh tế
o 6.3. Dự đoán nguy cơ bệnh tật
 7. Kết Luận
1. Giới thiệu
Hồi quy tuyến tính là một kỹ thuật thống kê cơ bản được sử dụng rộng rãi
trong phân tích dữ liệu và học máy. Mục tiêu của hồi quy tuyến tính là xây
dựng một mô hình toán học để dự đoán giá trị của một biến phụ thuộc
(output) dựa trên một hoặc nhiều biến độc lập (input). Mô hình hồi quy
tuyến tính giả định rằng mối quan hệ giữa các biến này là tuyến tính, nghĩa
là có thể biểu diễn dưới dạng một đường thẳng trong không gian số liệu.

https://aicandy.vn/hoi-quy-tuyen-tinh-ky-thuat-co-ban-va-ung-dung-trong-hoc-may/
Bản quyền thuộc về: https://aicandy.vn


Học tập toàn diện: Kết nối lý thuyết, thực hành và dữ liệu thực tế
https://aicandy.vn
2


2. Phân loại
2.1. Hồi quy tuyến tính đơn giản
Hồi quy tuyến tính đơn giản mô hình hóa mối quan hệ giữa một biến độc
lập X và một biến phụ thuộc Y. Công thức của mô hình hồi quy tuyến tính
đơn giản là:
Y=β0+β1X+ϵ
Trong đó:
 Y là biến phụ thuộc (output).
 X là biến độc lập (input).
 β0 là hằng số (intercept), giá trị của Y khi X=0.
 β1 là hệ số hồi quy (slope), đại diện cho mức thay đổi của Y khi X thay
đổi một đơn vị.
 ϵ là sai số (error term), biểu thị phần biến động của Y không được giải
thích bởi X.
2.2. Hồi quy tuyến tính đa biến

https://aicandy.vn/hoi-quy-tuyen-tinh-ky-thuat-co-ban-va-ung-dung-trong-hoc-may/
Bản quyền thuộc về: https://aicandy.vn


Học tập toàn diện: Kết nối lý thuyết, thực hành và dữ liệu thực tế
https://aicandy.vn
3

Hồi quy tuyến tính đa biến mở rộng mô hình trên bằng cách sử dụng nhiều
biến độc lập để dự đoán biến phụ thuộc. Công thức tổng quát của mô hình
hồi quy tuyến tính đa biến là:
Y=β0+β1X1+β2X2+⋯+βnXn+ϵ
Trong đó:
 X1,X2,…,Xn là các biến độc lập.
 β1,β2,…,βn là các hệ số hồi quy tương ứng, biểu thị mức thay đổi
của Y khi mỗi Xi thay đổi một đơn vị.
3. Cách tính toán hệ số hồi quy
Hệ số hồi quy β được xác định bằng cách tối thiểu hóa tổng bình phương sai
số (Residual Sum of Squares – RSS) giữa giá trị dự đoán và giá trị thực tế.
Phương pháp phổ biến nhất để ước lượng các hệ số hồi quy là phương pháp
bình phương tối thiểu (Ordinary Least Squares – OLS).
Phương pháp bình phương tối thiểu
Công thức để tính hệ số hồi quy trong hồi quy tuyến tính đơn giản:
β1^=∑i=1n(Xi–X¯)(Yi–Y¯)∑i=1n(Xi–X¯)2
β0^=Y¯–β1^X¯
Trong đó:
 β1^ và β0^ là các giá trị ước lượng của β1 và β0.
 Xi và Yi là giá trị của biến độc lập và biến phụ thuộc tại điểm dữ liệu
thứ i.
 X¯ và Y¯ là giá trị trung bình của X và Y.
4. Mô hình hồi quy tuyến tính với Python
4.1. Thực hiện hồi quy tuyến tính đơn giản bằng Python

https://aicandy.vn/hoi-quy-tuyen-tinh-ky-thuat-co-ban-va-ung-dung-trong-hoc-may/
Bản quyền thuộc về: https://aicandy.vn


Học tập toàn diện: Kết nối lý thuyết, thực hành và dữ liệu thực tế
https://aicandy.vn
4

Dưới đây là ví dụ về cách thực hiện hồi quy tuyến tính đơn giản bằng Python
sử dụng thư viện scikit-learn:

import numpy as np
import matplotlib.pyplot as plt
from sklearn.linear_model import LinearRegression

# Dữ liệu mẫu
X = np.array([1, 2, 4, 3, 5]).reshape(-1, 1)
y = np.array([1, 3, 3, 2, 5])

# Khởi tạo mô hình
model = LinearRegression()

# Huấn luyện mô hình
model.fit(X, y)

# Dự đoán
y_pred = model.predict(X)

# Hệ số hồi quy
print(f"Hệ số hồi quy: {model.coef_[0]}")
print(f"Intercept: {model.intercept_}")

# Vẽ đồ thị
plt.scatter(X, y, color='blue')
plt.plot(X, y_pred, color='red')
plt.xlabel('X')
plt.ylabel('Y')
plt.title('Hồi quy tuyến tính đơn giản')

https://aicandy.vn/hoi-quy-tuyen-tinh-ky-thuat-co-ban-va-ung-dung-trong-hoc-may/
Bản quyền thuộc về: https://aicandy.vn


Học tập toàn diện: Kết nối lý thuyết, thực hành và dữ liệu thực tế
https://aicandy.vn
5

plt.show()
4.2. Thực hiện hồi quy tuyến tính đa biến bằng Python
Ví dụ về hồi quy tuyến tính đa biến:

import numpy as np
from sklearn.linear_model import LinearRegression

# Dữ liệu mẫu
X = np.array([[1, 1], [1, 2], [2, 2], [2, 3]])
y = np.dot(X, np.array([1, 2])) + 3

# Khởi tạo mô hình
model = LinearRegression()

# Huấn luyện mô hình
model.fit(X, y)

# Dự đoán
y_pred = model.predict(X)

# Hệ số hồi quy
print(f"Hệ số hồi quy: {model.coef_}")
print(f"Intercept: {model.intercept_}")

# Kết quả dự đoán
print(f"Giá trị dự đoán: {y_pred}")
5. Hồi quy tuyến tính sử dụng PyTorch
Nếu bạn muốn thực hiện hồi quy tuyến tính trong môi trường học máy nâng
cao, bạn có thể sử dụng PyTorch.

https://aicandy.vn/hoi-quy-tuyen-tinh-ky-thuat-co-ban-va-ung-dung-trong-hoc-may/
Bản quyền thuộc về: https://aicandy.vn


Học tập toàn diện: Kết nối lý thuyết, thực hành và dữ liệu thực tế
https://aicandy.vn
6

5.1. Hồi quy tuyến tính đơn giản với PyTorch

import torch
import torch.nn as nn
import torch.optim as optim

# Dữ liệu mẫu
X = torch.tensor([[1.0], [2.0], [3.0], [4.0]])
y = torch.tensor([[2.0], [4.0], [6.0], [8.0]])

# Mô hình hồi quy tuyến tính
model = nn.Linear(1, 1)

# Hàm mất mát và tối ưu hóa
criterion = nn.MSELoss()
optimizer = optim.SGD(model.parameters(), lr=0.01)

# Huấn luyện mô hình
for epoch in range(1000):
model.train()

# Dự đoán
y_pred = model(X)

# Tính toán mất mát
loss = criterion(y_pred, y)

# Tối ưu hóa
optimizer.zero_grad()
loss.backward()

https://aicandy.vn/hoi-quy-tuyen-tinh-ky-thuat-co-ban-va-ung-dung-trong-hoc-may/
Bản quyền thuộc về: https://aicandy.vn


Học tập toàn diện: Kết nối lý thuyết, thực hành và dữ liệu thực tế
https://aicandy.vn
7

optimizer.step()

if (epoch+1) % 100 == 0:
print(f'Epoch {epoch+1}, Loss: {loss.item()}')

# Hệ số hồi quy và intercept
print(f'Hệ số hồi quy: {model.weight.item()}')
print(f'Intercept: {model.bias.item()}')
5.2. Hồi quy tuyến tính đa biến với PyTorch
Dưới đây là ví dụ về cách thực hiện hồi quy tuyến tính đa biến bằng PyTorch:

import torch
import torch.nn as nn
import torch.optim as optim

# Dữ liệu mẫu
# Giả sử có 2 biến độc lập và 1 biến phụ thuộ c
X = torch.tensor([[1.0, 2.0], [2.0, 3.0], [3.0, 4.0], [4.0, 5.0]])
y = torch.tensor([[3.0], [5.0], [7.0], [9.0]])

# Mô hình hồi quy tuyến tính đa biến
model = nn.Linear(2, 1)

# Hàm mất mát và tối ưu hóa
criterion = nn.MSELoss()
optimizer = optim.SGD(model.parameters(), lr=0.01)

# Huấn luyện mô hình
for epoch in range(1000):
model.train()

https://aicandy.vn/hoi-quy-tuyen-tinh-ky-thuat-co-ban-va-ung-dung-trong-hoc-may/
Bản quyền thuộc về: https://aicandy.vn


Học tập toàn diện: Kết nối lý thuyết, thực hành và dữ liệu thực tế
https://aicandy.vn
8


# Dự đoán
y_pred = model(X)

# Tính toán mất mát
loss = criterion(y_pred, y)

# Tối ưu hóa
optimizer.zero_grad()
loss.backward()
optimizer.step()

if (epoch+1) % 100 == 0:
print(f'Epoch {epoch+1}, Loss: {loss.item()}')

# Hệ số hồi quy và intercept
print(f'Hệ số hồi quy: {model.weight.data}')
print(f'Intercept: {model.bias.data}')
Giải thích:
 Chúng ta sử dụng torch.tensor để tạo dữ liệu đầu vào X và đầu ra y.
 Mô hình hồi quy tuyến tính đa biến được định nghĩa với 2 biến đầu
vào và 1 biến đầu ra bằng cách sử dụng lớp nn.Linear.
 Chúng ta sử dụng hàm mất mát nn.MSELoss để tính toán sai số bình
phương trung bình và tối ưu hóa mô hình bằng optim.SGD.
 Chúng ta huấn luyện mô hình qua nhiều epoch và in ra các hệ số hồi
quy và intercept sau khi huấn luyện.
6. Ứng dụng của hồi quy tuyến tính trong học máy
Hồi quy tuyến tính có rất nhiều ứng dụng trong các lĩnh vực khác nhau, từ
kinh tế, tài chính đến y học, kỹ thuật, và hơn thế nữa. Dưới đây là một số ví
dụ điển hình:

https://aicandy.vn/hoi-quy-tuyen-tinh-ky-thuat-co-ban-va-ung-dung-trong-hoc-may/
Bản quyền thuộc về: https://aicandy.vn


Học tập toàn diện: Kết nối lý thuyết, thực hành và dữ liệu thực tế
https://aicandy.vn
9

6.1. Dự đoán giá nhà
Hồi quy tuyến tính có thể được sử dụng để dự đoán giá nhà dựa trên các
yếu tố như diện tích, số phòng ngủ, và vị trí. Ví dụ, bạn có thể xây dựng một
mô hình hồi quy tuyến tính để dự đoán giá nhà dựa trên các đặc điểm này.
6.2. Phân tích mối muan hệ giữa các biến kinh tế
Trong kinh tế học, hồi quy tuyến tính có thể được sử dụng để phân tích mối
quan hệ giữa các chỉ số kinh tế như GDP, tỷ lệ thất nghiệp, và lạm phát. Ví
dụ, bạn có thể nghiên cứu ảnh hưởng của tỷ lệ thất nghiệp đến tăng trưởng
GDP.
6.3. Dự đoán nguy cơ bệnh tật
Hồi quy tuyến tính cũng có thể được sử dụng trong y học để dự đoán nguy
cơ mắc bệnh dựa trên các chỉ số sức khỏe. Ví dụ, mô hình hồi quy tuyến tính
có thể được sử dụng để phân tích mối quan hệ giữa huyết áp và nguy cơ mắc
bệnh tim mạch.
7. Kết Luận
Hồi quy tuyến tính là một kỹ thuật cơ bản nhưng cực kỳ mạnh mẽ trong
phân tích dữ liệu và học máy. Nó cung cấp một nền tảng quan trọng cho các
mô hình phức tạp hơn và có nhiều ứng dụng thực tiễn trong các lĩnh vực
khác nhau. Việc hiểu rõ cách thức hoạt động và ứng dụng hồi quy tuyến tính
không chỉ giúp bạn phân tích dữ liệu tốt hơn mà còn mở ra nhiều cơ hội
trong việc phát triển các mô hình học máy hiệu quả.
Bài trước
Danh mục
Bài sau
Chúc bạn thành công trong hành trình khám phá và ứng dụng trí tuệ nhân tạo
vào học tập và công việc. Đừng quên truy cập thường xuyên để cập nhật thêm
kiến thức mới tại AIcandy