Hồi quy tuyến tính trong Machine Learning
Hồi quy là một phương pháp để xác định mối quan hệ giữa một biến (y) và các biến khác (x).
Trong thống kê, hồi quy tuyến tính là một cách tiếp cận để mô hình hóa mối quan hệ tuyến tính giữa y và x.
Trong Machine Learning, hồi quy tuyến tính là một thuật toán Machine Learning có giám sát.
Biểu đồ phân tán
Đây là biểu đồ phân tán (từ bài viết trước):

Ví dụ:
const xArray = [50,60,70,80,90,100,110,120,130,140,150];
const yArray = [7,8,8,9,9,9,10,11,14,14,15];
// Define Data
const data = [{
x:xArray,
y:yArray,
mode: "markers"
}];
// Define Layout
const layout = {
xaxis: {range: [40, 160], title: "Square Meters"},
yaxis: {range: [5, 16], title: "Price in Millions"},
title: "House Prices vs. Size"
};
Plotly.newPlot("myPlot", data, layout);Dự đoán giá trị
Từ dữ liệu phân tán ở trên, làm thế nào chúng ta có thể dự đoán giá cả trong tương lai?
- Sử dụng đồ thị tuyến tính vẽ tay
- Mô hình hóa mối quan hệ tuyến tính
- Mô hình hóa hồi quy tuyến tính
Đồ thị tuyến tính
Đây là một đồ thị tuyến tính dự đoán giá dựa trên giá thấp nhất và giá cao nhất:

Ví dụ:
const xArray = [50,60,70,80,90,100,110,120,130,140,150];
const yArray = [7,8,8,9,9,9,9,10,11,14,14,15];
const data = [
{x:xArray, y:yArray, mode:"markers"},
{x:[50,150], y:[7,15], mode:"line"}
];
const layout = {
xaxis: {range: [40, 160], title: "Square Meters"},
yaxis: {range: [5, 16], title: "Price in Millions"},
title: "House Prices vs. Size"
};
Plotly.newPlot("myPlot", data, layout);Từ chương trước
Đồ thị tuyến tính có thể được viết là y = ax + b
Trong đó:
- y là giá mà chúng ta muốn dự đoán
- a là độ dốc của đường thẳng
- x là các giá trị đầu vào
- b là điểm cắt trục tung
Mối quan hệ tuyến tính
Mô hình này dự đoán giá bằng cách sử dụng mối quan hệ tuyến tính giữa giá và kích thước:

Ví dụ:
const xArray = [50,60,70,80,90,100,110,120,130,140,150];
const yArray = [7,8,8,9,9,9,10,11,14,14,15];
// Calculate Slope
let xSum = xArray.reduce(function(a, b){return a + b;}, 0);
let ySum = yArray.reduce(function(a, b){return a + b;}, 0);
let slope = ySum / xSum;
// Generate values
const xValues = [];
const yValues = [];
for (let x = 50; x <= 150; x += 1) {
xValues.push(x);
yValues.push(x * slope);
}Trong ví dụ trên, hệ số góc là giá trị trung bình được tính toán và hệ số chặn bằng 0.
Sử dụng hàm hồi quy tuyến tính
Mô hình này dự đoán giá cả bằng cách sử dụng hàm hồi quy tuyến tính:

Ví dụ:
const xArray = [50,60,70,80,90,100,110,120,130,140,150];
const yArray = [7,8,8,9,9,9,10,11,14,14,15];
// Calculate Sums
let xSum=0, ySum=0 , xxSum=0, xySum=0;
let count = xArray.length;
for (let i = 0, len = count; i < count; i++) {
xSum += xArray[i];
ySum += yArray[i];
xxSum += xArray[i] * xArray[i];
xySum += xArray[i] * yArray[i];
}
// Calculate slope and intercept
let slope = (count * xySum - xSum * ySum) / (count * xxSum - xSum * xSum);
let intercept = (ySum / count) - (slope * xSum) / count;
// Generate values
const xValues = [];
const yValues = [];
for (let x = 50; x <= 150; x += 1) {
xValues.push(x);
yValues.push(x * slope + intercept);
}Hồi quy đa thức
Nếu các điểm dữ liệu phân tán không phù hợp với hồi quy tuyến tính (một đường thẳng đi qua các điểm), dữ liệu có thể phù hợp với hồi quy đa thức.
Hồi quy đa thức, giống như hồi quy tuyến tính, sử dụng mối quan hệ giữa các biến x và y để tìm ra cách tốt nhất để vẽ một đường thẳng đi qua những điểm dữ liệu.

Bạn nên đọc
-
Đồ thị tuyến tính trong Machine Learning
-
Thử nghiệm Perceptron
-
Nhận dạng mẫu trong Machine Learning
-
Dữ liệu Machine Learning
-
Brain.js trong Machine Learning
-
Thuật ngữ Machine Learning
-
Tìm hiểu về Trí tuệ nhân tạo (AI)
-
Đào tạo một Perceptron trong Machine Learning
-
Những thuật ngữ Machine Learning cần biết
Theo Nghị định 147/2024/ND-CP, bạn cần xác thực tài khoản trước khi sử dụng tính năng này. Chúng tôi sẽ gửi mã xác thực qua SMS hoặc Zalo tới số điện thoại mà bạn nhập dưới đây:
Cũ vẫn chất
-

Code Fairy Tail Fierce Fight mới nhất và cách nhập code
3 ngày -

Cách dùng Ultraviewer gửi và nhận file
3 ngày -

19/5 là ngày gì? Ngày 19 tháng 5 năm 1890 là ngày gì?
3 ngày 6 -

Cách đổi mật khẩu truy cập Ultraviewer
3 ngày -

Lời chúc Tết Đoan ngọ mùng 5/5 âm lịch, thơ hay về Tết Đoan Ngọ
3 ngày 1 -

Cách chạy ứng dụng Windows trên Android bằng Winlator
3 ngày -

Hướng dẫn nâng cấp nhóm Zalo lên cộng đồng
3 ngày -

Proxy và VPN khác gì nhau?
3 ngày -

Công cụ chuyển đổi tiếng Việt sang teencode
3 ngày 4 -

Cách dùng biểu tượng cảm xúc trong Đấu Trường Chân Lý
3 ngày
Hướng dẫn AI
Học IT
Hàm Excel