Vì vậy, chúng em đã áp dụng thuật toán trong học máy - thuật toán linear regressitionđể làm bài phương pháp dự đoán chỉ số BMI Bảng phân chia công việc: Phùng Quỳnh Hương huấn luyện, viế
Trang 1TRƯỜNG ĐẠI HỌC THỦY LỢI
KHOA CÔNG NGHỆ THÔNG TIN
BÀI TẬP LỚN
HỌC PHẦN: HỌC MÁY
ĐỀ TÀI: ng dng phương php Linear Regressiton
(hồi quy tuyến tính) đ1 d2 đon BMI
Giáo viên hướng dẫn: GV Trần Anh Đạt
Sinh viên/nhóm sinh viên thực hiện:
1 Phùng Quỳnh Hương - 2151062797
2 Nguyễn Hồng Thắm - 2151062872
3 Đàm Phương Thảo - 2151062869
4 Nguyễn Thị Ngọc Tú - 215106288
Trang 2Hà Nội, tháng 11, năm 2023
Trang 3Mc lc
Phần 1: Tổng quan
1 Giới thiệu về học my
2 Trình bày phương php học my được sử dng trong bài tập lớn
3 Trình bày bài ton
Phần 2: Th2c nghiệm
1.Mô tả tập dữ liệu của bài ton
2 Mô tả cch giải bài ton bằng phương php học my
Thuật toán linear regressition
3 Đnh gi mô hình
4 Mô tả cc chức năng của chương trình
Kết luận và tài liê Su tham khảo
Trang 4
Lời mở đầu
Những năm gần đây, sự phát triển của các hệ thống tính toán cùng với lượng dữ liệu khổng lồ được thu thập bởi các hãng công nghệ lớn đã giúp machine learning tiến thêm một bước dài
Vì vậy, chúng em đã áp dụng thuật toán trong học máy - thuật toán linear regressition
để làm bài phương pháp dự đoán chỉ số BMI
Bảng phân chia công việc:
Phùng Quỳnh Hương huấn luyện, viết báo cáo, test đánh giá độ Tìm hiểu thuật toán, xây dựng tập ví dụ
chính xác, tìm hiểu và xây dựng code Nguyễn Hồng Thắm huấn luyện, viết báo cáo, test đánh giá độ Tìm hiểu thuật toán, xây dựng tập ví dụ
chính xác, tìm hiểu và xây dựng code Đàm phương Thảo huấn luyện, viết báo cáo, test đánh giá độ Tìm hiểu thuật toán, xây dựng tập ví dụ
chính xác, tìm hiểu và xây dựng code Nguyễn Thị Ngọc Tú huấn luyện, viết báo cáo, test đánh giá độ Tìm hiểu thuật toán, xây dựng tập ví dụ
chính xác, tìm hiểu và xây dựng code
Trang 5Phần 1: Tổng quan
1 Giới thiệu về học máy
- Lịch sử và vai trò của machine learning:
+ Những năm gần đây, AI - Artificial Intelligence (Trí Tuệ Nhân Tạo), và cụ thể hơn
là Machine Learning (Học Máy hoặc Máy Học) nổi lên như một bằng chứng của cuộc cách mạng công nghiệp lần thứ tư (1 - động cơ hơi nước, 2 - năng lượng điện, 3 - công nghệ thông tin) Trí Tuệ Nhân Tạo đang len lỏi vào mọi lĩnh vực trong đời sống mà có thể chúng ta không nhận ra Xe tự hành của Google và Tesla,
hệ thống tự tag khuôn mặt trong ảnh của Facebook, trợ lý ảo Siri của Apple, hệ thống gợi ý sản phẩm của Amazon, hệ thống gợi ý phim của Netflix, máy chơi cờ vây AlphaGo của Google DeepMind, …, chỉ là một vài trong vô vàn những ứng dụng của AI/Machine Learning
+ Machine Learning là một tập con của AI Theo định nghĩa của Wikipedia, Machine learning is the subfield of computer science that “gives computers the ability to learn without being explicitly programmed” Nói đơn giản, Machine Learning là một lĩnh vực nhỏ của Khoa Học Máy Tính, nó có khả năng tự học hỏi dựa trên dữ liệu đưa vào mà không cần phải được lập trình cụ thể
+ Những năm gần đây, khi mà khả năng tính toán của các máy tính được nâng lên một tầm cao mới và lượng dữ liệu khổng lồ được thu thập bởi các hãng công nghệ lớn, Machine Learning đã tiến thêm một bước dài và một lĩnh vực mới được ra đời gọi là Deep Learning (Học Sâu - thực sự tôi không muốn dịch từ này ra tiếng Việt) Deep Learning đã giúp máy tính thực thi những việc tưởng chừng như không thể vào 10 năm trước: phân loại cả ngàn vật thể khác nhau trong các bức ảnh, tự tạo chú thích cho ảnh, bắt chước giọng nói và chữ viết của con người, giao tiếp với con người, hay thậm chí cả sáng tác văn hay âm nhạc
Trang 6- Ưu điểm của Học có giám sát và không giám sát:
+ Học có giám sát: Supervised learning là thuật toán dự đoán đầu ra (outcome) của một dữ liệu mới (new input) dựa trên các cặp (input, outcome) đã biết từ trước Cặp dữ liệu này còn được gọi là (data, label), tức (dữ liệu, nhãn) Supervised learning là nhóm phổ biến nhất trong các thuật toán Machine Learning Chúng học thông qua một bộ dữ liệu đã được gán nhãn chính xác và cố gắng đưa ra các dự đoán đầu ra mục tiêu chính xác nhất có thể trên bộ dữ liệu cho trước
+ Học không giám sát: Thuật toán unsupervised learning sẽ dựa vào cấu trúc của dữ liệu để thực hiện một công việc nào đó, ví dụ như phân nhóm (clustering) hoặc giảm số chiều của dữ liệu (dimension reduction) để thuận tiện trong việc lưu trữ và tính toán
- Hạn chế của Học có giám sát và không giám sát: Có một phương pháp học rơi vào giữa 2 phương pháp này là học bán giám sát (semi-supervised learning) khi dữ liệu học chỉ có một phần nhỏ là có đầy đủ cặp đầu vào - đầu ra tương ứng và phần
dữ liệu còn lại chỉ có đầu vào Phương pháp này phù hợp trong trường hợp việc gắn đầu ra cho từng đầu vào là không khả thi hoặc tốn rất nhiều tài nguyên và việc
sử dụng dữ liệu không được gắn đầu ra sẽ hiệu quả hơn
+ Học không giám sát: chúng ta không biết câu trả lời chính xác cho mỗi dữ
liệu đầu vào Giống như khi ta học, không có thầy cô giáo nào chỉ cho ta biết đó là chữ A hay chữ B Cụm không giám sát được đặt tên theo nghĩa này Các dữ liệu không được "hướng dẫn" trước như trong trường hợp học
có giám sát Các thuật toán cần học được từ dữ liệu mà không hề có bất cứ
sự hướng dẫn nào
2 Trình bày phương pháp học máy được sử dụng trong bài tập lớn
Linear Regression (Hồi Quy Tuyến Tính) thuộc nhóm Supervised learning ( Học có giám sát ) Hồi quy tuyến tính là một phương pháp rất đơn giản nhưng đã chứng minh được tính hữu ích cho một số lượng lớn các tình huống , là một phương pháp thống kê để hồi quy dữ liệu với biến phụ thuộc có giá trị liên tục trong khi các biến độc lập có thể có một trong hai giá trị liên tục hoặc là giá trị phân loại Nói cách khác "Hồi quy tuyến tính" là một phương pháp để dự đoán biến phụ thuộc (Y) dựa trên giá trị của biến độc lập (X) Nó có thể được sử dụng cho các trường hợp chúng ta muốn dự đoán một số lượng liên tục Ví
Trang 7dụ, dự đoán giao thông ở một cửa hàng bán lẻ, dự đoán thời gian người dùng dừng lại một trang nào đó hoặc số trang đã truy cập vào một website nào đó ,
3 Trình bày bài toán
- Tên bài toán Ứng dụng phương pháp Linear Regression để dự đoán : chỉ số BMI
- Input:
+ Giới tính (sex)
+ Chiều cao (height)
+ Cânnặng (weight)
+ Tuổi (age)
- Output: Chỉ số BMI trên cơ thể (acceptability)
- Tóm tắt công việc thực hiện của bài toán: Bài toán sử dụng các giải thuật của học máy để ứng dụng dự đoán Chỉ số BMI trên cơ thể dựa vào các thông số như :giới tính, chiều cao, cân nặng, tuổi
Các dữ liệu thu thập được tập hợp thành một tập huấn luyện
Phần 2 : Th2c nghiệm
1.Mô tả tập dữ liệu của bài toán
- Tập gồm 25.000 dữ liệu với những chiều thông tin:
● Input:
+ Giới tính (sex): Female, Male
+ Tuổi (age)
+ Chiều cao (Height)
+ Cân nặng (Weight)
● Output:
+ Mô tả nhãn lớp của dữ liệu: Dự đoán BMI
Trang 8- Mô tả ma trận dữ liệu (X) , nhãn (Y):
Ma trận dữ liệu (X):
Trang 9Nhãn (Y):
- Dùng 80% tập dữ liệu để làm tập training
- Dùng 20% tập dữ liệu để làm tập validation
2 Mô tả cách giải bài toán bằng phương pháp học máy
Thuật toán Linear Regression (Hồi quy tuyến tính):
- Ý tưởng :
Trong phân tích hồi quy, việc xác định biến phụ thuộc (dependent variable) và các biến độc lập (independent variables) là quan trọng Biến phụ thuộc là biến mà chúng ta muốn
dự đoán hoặc giải thích, trong khi các biến độc lập là các biến mà bạn sử dụng để dự đoán biến phụ thuộc Trong trường hợp dữ liệu này, biến phụ thuộc là BMI, và các biến độc lập có thể bao gồm giới tính (Sex), tuổi (Age), chiều cao (Height), và trọng lượng (Weight)
○ Biến phụ thuộc (Dependent Variable): Đây là biến mà bạn muốn dự đoán hoặc giải thích Trong trường hợp này, biến phụ thuộc là BMI (Body Mass Index) BMI là một chỉ số sử dụng để đo lường mức độ mập hay gầy của một người dựa trên chiều cao và trọng lượng của họ Trong phân tích hồi quy, chúng ta sẽ cố gắng xem liệu có mối quan hệ giữa BMI và các biến độc lập khác
○ Biến độc lập (Independent Variables): Đây là các biến mà chúng ta sử dụng để dự đoán biến phụ thuộc Trong trường hợp này, các biến độc lập có thể bao gồm: + Age (tuổi): Đây là một biến liên tục (continuous variable) và có thể ảnh hưởng đến BMI của người
Trang 10+ Height (chiều cao): Đây cũng là một biến liên tục và có mối liên quan với BMI, vì BMI tính toán dựa trên chiều cao
+ Weight (trọng lượng): Tương tự, trọng lượng cũng là biến liên tục và có mối quan
hệ với BMI
○ Chúng ta sẽ xây dựng mô hình hồi quy tuyến tính để dự đoán giá trị của biến phụ thuộc (BMI) dựa trên các biến độc lập (giới tính, tuổi, chiều cao và trọng lượng) Mô hình hồi quy tuyến tính được mô tả bằng một phương trình tuyến tính, và mục tiêu là tìm các hệ số hồi quy (b , b , b , b ) để xây dựng mô hình có khả năng dự đoán tốt.₀ ₁ ₂ ₃ Phương trình hồi quy tuyến tính có dạng sau:
BMI = b + b * Age + b * Height + b * Weight₀ ₁ ₂ ₃
Trong đó:
- BMI là biến phụ thuộc (mục tiêu) cần dự đoán
- b , b , b , b là các hệ số hồi quy cần xác định.₀ ₁ ₂ ₃
- Age là tuổi của người
- Height là chiều cao của người (đơn vị: inches)
- Weight là trọng lượng của người (đơn vị: pounds)
○ Để ước tính các hệ số hồi quy (b , b , b , b ), chúng ta có thể sử dụng phương pháp ₀ ₁ ₂ ₃ bình phương tối thiểu (Least Squares) hoặc các phương pháp tối ưu hóa khác Mục tiêu
là tìm các hệ số sao cho tổng bình phương của sai số (sự khác biệt giữa giá trị thực tế
và giá trị dự đoán) là nhỏ nhất
+ Sai số (Residuals): Trước hết, ta cần tính sai số cho từng điểm dữ liệu trong tập dữ liệu Sai số là sự khác biệt giữa giá trị thực tế và giá trị dự đoán bởi mô hình hồi quy Cụ thể, cho mỗi quan sát i, sai số được tính như sau:
Trong đó:
- e : là sai số cho quan sát thứ i.i
- y : là giá trị thực tế (kết quả quan sát) cho quan sát thứ ii
- ^yilà giá trị dự đoán bởi mô hình hồi quy cho quan sát thứ i
+ Tổng bình phương sai số (Sum of Squared Residuals): Mục tiêu của phương pháp bình phương tối thiểu là tìm các hệ số sao cho tổng bình phương của sai số là nhỏ
Trang 11nhất Tổng bình phương sai số (SSE) được tính bằng cách cộng tổng bình phương của tất cả các sai số cho toàn bộ tập dữ liệu:
Trong đó:
- n :là số lượng quan sát trong tập dữ liệu
+ Tối thiểu hóa SSE: Để tìm các hệ số hồi quy tối ưu, chúng ta cần tối thiểu hóa SSE Điều này có thể được thực hiện bằng cách sử dụng các phương pháp tối ưu hóa, chẳng hạn như phương pháp đạo hàm riêng (gradient descent) hoặc các phương pháp tối ưu hóa khác Mục tiêu là điều chỉnh các hệ số b , b , b , b( ₀ ₁ ₂ ₃), sao cho giá trị SSE là nhỏ nhất có thể
+
Sử dụng phương pháp gradient descent để tính các hệ số b , b , b , b trong ₀ ₁ ₂ ₃
mô hình hồi quy tuyến tính:
●Khởi tạo hệ số (b , b , b , b ): Bắt đầu bằng việc chọn một giá trị ban đầu cho ₀ ₁ ₂ ₃ các hệ số hồi quy, có thể là giá trị ngẫu nhiên hoặc bất kỳ giá trị nào
●Xác định learning rate (tốc độ học): Learning rate là một siêu tham số quyết định tốc độ học của thuật toán
●Lặp qua các bước cập nhật: Gradient descent sử dụng gradient (đạo hàm riêng) của hàm mất mát để cập nhật giá trị của các hệ số Quy trình được thực hiện theo cách sau:
Tính toán gradient của hàm mất mát đối với mỗi hệ số Điều này đòi hỏi tính đạo hàm riêng của hàm mất mát theo từng hệ số
1 Gradient đối với hệ số chặn b :0
Đạo hàm riêng :
2 Gradient đối với hệ số Age b1
Đạo hàm riêng :
3 Gradient đối với hệ số Height b2
Đạo hàm riêng :
4 Gradient đối với hệ số Weight b
Trang 12Đạo hàm riêng :
Cập nhật các hệ số b , b , b , b theo công thức sau:₀ ₁ ₂ ₃
●Kiểm tra điều kiện dừng: Thuật toán gradient descent thường dừng lại khi một
số điều kiện dừng được đáp ứng Ví dụ, bạn có thể dừng khi giá trị của hàm mất mát không thay đổi nhiều hoặc khi số lần lặp đạt một giới hạn nhất định
●Tìm hệ số tối ưu: Sau khi đã tối thiểu hóa SSE, chúng ta sẽ có các giá trị tối
ưu cho các hệ số hồi quy b , b , b , b( ₀ ₁ ₂ ₃).Các giá trị này sẽ tạo thành mô hình hồi quy tốt nhất để dự đoán dữ liệu
3 Đánh giá mô hình
- Sử dụng Mean Squared Error (MSE) để đánh giá giá trị dự đoán của mô hình hồi quy tuyến tính:
Trong đó:
- MSE là giá trị của hàm mất mát Mean Squared Error
- n là số lượng quan sát trong tập dữ liệu
- Squared Errorilà bình phương sai số cho quan sát thứ i
+ Giá trị MSE là một đo lường về mức độ sai lệch giữa giá trị dự đoán và giá trị thực tế Giá trị MSE càng thấp, mô hình càng tốt Nó đo lường mức độ biểu đạt của mô hình, tức
là khả năng của mô hình trong việc dự đoán giá trị thực tế
Trang 13+ Nếu giá trị MSE là rất thấp (gần 0), điều đó có nghĩa rằng mô hình hồi quy tuyến tính của bạn rất tốt trong việc dự đoán giá trị BMI dựa vào các biến độc lập Ngược lại, nếu giá trị MSE lớn, mô hình của bạn không tốt trong việc dự đoán và cần được cải thiện
Với n=10000 quan sát thì ta tính được MSE là 0,0014856
4.Chương trình (code):
Sau khi chạy chương trình , chúng ta tìm được :
Trang 17Kết luận
Qua bài làm về đề tài: Ứng dụng phương pháp Linear Regressiton
(hồi quy tuyến tính) để dự đoán chỉ số BMI, nhóm em hi vọng mô hình này có thể phát triển hơn nữa Đồng thời cũng thông qua bài làm giúp nhóm em có những kiến thức về môn học máy cũng như áp dụng kiến thức đó vào phân tích các bài toán thực tế
Mặc dù đã có nhiều cố gắng trong suốt quá trình làm bài tập, nhưng kiến thức còn hạn chế, cũng như chưa có kinh nghiệm trong thực tế nên không thể tránh khỏi những sai sót Vì vậy nhóm em mong thầy góp ý để có thể chỉnh sửa, hoàn thiện, bài làm tốt hơn
Chúng em chân thành cảm ơn thầy Trần Anh Đạt đã dành thời gian để xem xét về
đề tài nhóm em