Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.02 MB, 17 trang )
<span class="text_page_counter">Trang 1</span><div class="page_container" data-page="1">
TRƯỜNG ĐẠI HỌC THỦY LỢI
<b>KHOA CÔNG NGHỆ THÔNG TIN</b>
<b>Giáo viên hướng dẫn: GV. Trần Anh Đạt</b>
Sinh viên/nhóm sinh viên thực hiện:
1. Phùng Quỳnh Hương - 21510627972. Nguyễn Hồng Thắm - 21510628723. Đàm Phương Thảo - 21510628694. Nguyễn Thị Ngọc Tú - 215106288
</div><span class="text_page_counter">Trang 2</span><div class="page_container" data-page="2"><i><b>Hà Nội, tháng 11, năm 2023</b></i>
</div><span class="text_page_counter">Trang 3</span><div class="page_container" data-page="3"><b>Mc lc</b>
<b>1. Giới thiệu về học my</b>
<b>2. Trình bày phương php học my được sử dng trong bài tập lớn3. Trình bày bài ton </b>
<b>1.Mơ tả tập dữ liệu của bài ton</b>
<b>2. Mô tả cch giải bài ton bằng phương php học my</b>
Thuật tốn linear regressition
<b>3. Đnh gi mơ hình</b>
<b>4. Mơ tả cc chức năng của chương trìnhKết luận và tài liê Su tham khảo</b>
</div><span class="text_page_counter">Trang 4</span><div class="page_container" data-page="4">
<b>Lời mở đầu</b>
Những năm gần đây, sự phát triển của các hệ thống tính tốn cùng với lượng dữ liệukhổng lồ được thu thập bởi các hãng công nghệ lớn đã giúp machine learning tiến thêmmộ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ự đốn chỉ số BMI
<b>Bảng phân chia cơng việc: </b>
Phùng Quỳnh Hương huấn luyện, viết báo cáo, test đánh giá độ <sup>Tìm hiểu thuật tốn, xây dựng tập ví dụ </sup>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á độ <sup>Tìm hiểu thuật tốn, xây dựng tập ví dụ </sup>
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á độ <sup>Tìm hiểu thuật tốn, xây dựng tập ví dụ </sup>
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á độ <sup>Tìm hiểu thuật tốn, xây dựng tập ví dụ </sup>
chính xác, tìm hiểu và xây dựng code.
</div><span class="text_page_counter">Trang 5</span><div class="page_container" data-page="5"><b>Phần 1: Tổng quan</b>
<i><b>1. Giới thiệu về học máy</b></i>
- 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ơnlà 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 tố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 đờigọ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.
</div><span class="text_page_counter">Trang 6</span><div class="page_container" data-page="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 tố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 tố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 tố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ệcsử dụng dữ liệu không được gắn đầu ra sẽ hiệu quả hơn.
<b>+ 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ữ </b>
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 tố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.
<i><b> 2. Trình bày phương pháp học máy được sử dụng trong bài tập lớn</b></i>
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ínhhữu ích cho một số lượng lớn các tình huống<i><b> ,</b></i> 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ự đố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í
</div><span class="text_page_counter">Trang 7</span><div class="page_container" data-page="7">dụ, dự đốn giao thơng ở một cửa hàng bán lẻ, dự đốn thời gian người dùng dừng lại mộttrang nào đó hoặc số trang đã truy cập vào một website nào đó <i><b>,..</b></i>
<i><b>3. Trình bày bài tốn </b></i>
- Tên bài tố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.
<b>Phần 2 : Th2c nghiệm </b>
<i><b>1.Mơ tả tập dữ liệu của bài tốn</b></i>
- 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
</div><span class="text_page_counter">Trang 8</span><div class="page_container" data-page="8">- Mô tả ma trận dữ liệu (X) , nhãn (Y):Ma trận dữ liệu (X):
</div><span class="text_page_counter">Trang 9</span><div class="page_container" data-page="9">Nhã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
<i><b>2. Mô tả cách giải bài toán bằng phương pháp học máy</b></i>
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ự đố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.
</div><span class="text_page_counter">Trang 10</span><div class="page_container" data-page="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 tố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ự đố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ự đố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êulà 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ự đố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.<small>i</small>
- y : là giá trị thực tế (kết quả quan sát) cho quan sát thứ i<small>i</small>
- ^y<small>i</small>là giá trị dự đố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ỏ
</div><span class="text_page_counter">Trang 11</span><div class="page_container" data-page="11">nhấ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 tồ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ể.
đị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 tố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 :<small>0</small>
</div><span class="text_page_counter">Trang 12</span><div class="page_container" data-page="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ộtsố đ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ự đốn dữ liệu.
- Squared Error<sub>i</sub>là 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ự đốn giá trị thực tế.
</div><span class="text_page_counter">Trang 13</span><div class="page_container" data-page="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ủabạ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ự đố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
<i><b>4.Chương trình (code):</b></i>
Sau khi chạy chương trình , chúng ta tìm được :
</div><span class="text_page_counter">Trang 17</span><div class="page_container" data-page="17"><b>Kết luận</b>
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ự đố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ữngkiế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àitố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ịnhạn chế, cũng như chưa có kinh nghiệm trong thực tế nên khơng thể tránh khỏinhữ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.
</div>