1. Trang chủ
  2. » Luận Văn - Báo Cáo

Đề ti ứng dụng thuật toán phân cụm kmeans clustering Để dự Đoán chất lượng của rượu vang Đỏ

24 0 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Ứng Dụng Thuật Toán Phân Cụm Kmeans Clustering Để Dự Đoán Chất Lượng Của Rượu Vang Đỏ
Tác giả Nguyễn Hữu Hùng, Tạ Quang Đạt, Dương Minh Đức
Người hướng dẫn Vũ Văn Định
Trường học Trường Đại Học Điện Lực
Chuyên ngành Công Nghệ Thông Tin
Thể loại báo cáo chuyên đề
Năm xuất bản 2023
Thành phố Hà Nội
Định dạng
Số trang 24
Dung lượng 3,54 MB

Nội dung

CHƯƠNG 1: TỔNG QUAN VỀ HỌC MÁY1.1 Khái niệm về học máy Học máy Machine learning là một lĩnh vực con của Trí tuệ nhân tạoArtificial Intelligence sử dụng các thuật toán cho phép máy tính c

Trang 1

TRƯỜNG ĐẠI HỌC ĐIỆN LỰC

KHOA CÔNG NGHỆ THÔNG TIN

BÁO CÁO CHUYÊN ĐỀ HỌC PHẦN

MÔN NHẬP MÔN HỌC MÁY

ĐỀ TI: ỨNG DỤNG THUẬT TOÁN PHÂN CỤM KMEANS CLUSTERING ĐỂ DỰ ĐOÁN CHẤT LƯỢNG CỦA RƯỢU

VANG ĐỎ

Sinh viên thực hiện : NGUYỄN HỮU HÙNG

TẠ QUANG ĐẠT DƯƠNG MINH ĐỨC Giảng viên hướng dẫn : VŨ VĂN ĐỊNH

Hà Nội, tháng 4 năm 2023

Trang 2

2 Nguyễn Hữu Hùng

20810320124

Khảo sát +Phân tích +code + làm báo cáo

3 Dương Minh Đức

20810320115

Khảo sát +Phân tích +code + làm báo cáo

Giảng viên chấm 1:

Giảng viên chấm 2:

LỜI CẢM ƠN

Trang 3

Để hoàn thành được để tài này, trước hết em xin gửi lời cảm ơn chân thànhnhất đến các Cán bộ Giảng viên Khoa Công nghê Thông tin, các cán bộ giảng viêntrong Trường Đại học Điện Lực đã tận tình giảng dạy và truyền đạt kiến thức cho

em Đồng thời em xin gửi lời cảm ơn đặc biệt về sự chỉ dạy, hướng dẫn tận tình củathầy Vũ Văn Định đã luôn tận tình hướng dẫn, giúp đỡ em trong suốt thời gianthực hiện đề tài

Em xin gửi lời cảm ơn chân thành đến quý thầy/cô đã dành thời gian quý báu

để đọc qua báo cáo chuyên đề nhập môn học máy về đề tài " ỨNG DỤNG THUẬT

TOÁN PHÂN CỤM KMEANS CLUSTERING ĐỂ DỰ ĐOÁN CHẤT LƯỢNG CỦA RƯỢU VANG ĐỎ " Đây là một đề tài thú vị và đầy tiềm năng trong lĩnh vực “machinelearning”, nơi mà công nghệ và nghệ thuật hội tụ, tạo nên những tác phẩm độc đáo

và đẹp mắt

Qua quá trình nghiên cứu, thiết kế và triển khai dự án, em đã học hỏi đượcnhiều kỹ năng, công nghệ và phương pháp mới trong việc sử dụng thuật toán phâncụm KMEANS CLUSTERING trong việc dự đoán chất lượng của rượu vang đỏ Đây

là một trải nghiệm thực sự thú vị và có ý nghĩa đối với em, giúp em phát triển khảnăng sáng tạo, thẩm mỹ và kỹ năng kỹ thuật

Em cũng xin gửi lời cảm ơn đến quý thầy/cô đã đồng hành và hỗ trợ trong quátrình thực hiện đề tài này Sự động viên, hướng dẫn và góp ý của quý thầy/cô lànguồn động lực lớn giúp em hoàn thành báo cáo này

Hà Nội, tháng 4 năm 2023

Trang 4

MỤC LỤC

LỜI NÓI ĐẦU 1

CHƯƠNG 1: TỔNG QUAN VỀ HỌC MÁY 2

1.1 Khái ni m vềề h c máy ệ ọ 2

1.2 Phân nhóm các thu t toán h c máy ậ ọ 2

1.2.1 H c có giám sát ( ọ Supervised Learning) 2

1.2.2 H c phi giám sát (Unsupervised Learning)-UL ọ 3

1.2.3 H c tăng c ọ ườ ng (reinforcement learning) 5

1.2.4 H c bán giám sát (Semi-Supervised Learning) ọ 5

1.3 ng d ng h c máy Ứ ụ ọ 5

CHƯƠNG 2: THUẬT TOÁN K-MEANS CLUSTERING TRONG BI TOÁN PHÂN CỤM 7

2.1 T ng quan vềề thu t toán K-Means Clustering ổ ậ 7

2.2 Thu t toán K-Means Clustering ậ 8

2.2.1 Mô hính toán h c ọ 8

2.2.2 Đ chính xác c a thu t toán ộ ủ ậ 9

2.2.3 Nghi m c a thu t toán K-Means Clustering ệ ủ ậ 9

2.2.4 Tóm tăắt thu t toán ậ 9

CHƯƠNG 3: ỨNG DỤNG THUẬT TOÁN K-MEANS CLUSTERING 11

3.1 Gi i thi u Google colab ớ ệ 11

3.2 D li u wine_red_quality ữ ệ 14

3.2.1 Phát bi u bài toán ể 14

3.2.2 Yều câều 14

3.2.3 B d li u ộ ữ ệ 14

3.2.4 Tiềắn hành phân c m ụ 17

KẾT LUẬN 20

Trang 5

Danh mục hình

Hình 1.1 Mô hình học có giám sát 3

Hình 1.2 Mô hình học phi giám sát 3

Hình 1.3 Sự khác biệt giữa 2 mô hình SL và UL 4

Hình 2.1 Bài toán với 3 cluters 7

Hình 2.2 Mô hình dữ liệu phân cụm 8

Hình 3.1 Dữ liệu cụ thể 16

Hình 3.2 Hình ảnh dữ liệu khi được phân cụm trên đồ thị 19

Trang 6

LỜI NÓI ĐẦU

Công nghệ ngày càng phổ biến và không ai có thể phủ nhận được tầm quantrọng và những hiệu quả mà nó đem lại cho cuộc sống chúng ta Bất kỳ trong lĩnhvực nào, sự góp mặt của trí tuệ nhân tạo sẽ giúp con người làm việc và hoàn thànhtốt công việc hơn Và gần đây, một thuật ngữ “machine learning” rất được nhiềungười quan tâm Thay vì phải code phần mềm với cách thức thủ công theo một bộhướng dẫn cụ thể nhằm hoàn thành một nhiệm vụ đề ra thì máy sẽ tự “học hỏi”bằng cách sử dụng một lượng lớn dữ liệu cùng những thuật toán cho phép nó thựchiện các tác vụ

Đây là một lĩnh vực khoa học tuy không mới, nhưng cho thấy lĩnh vực trí tuệnhân tạo đang ngày càng phát triển và có thể tiến xa hơn trong tương lai Đồng thời

nó được xem là một lĩnh vực “nóng” và dành rất nhiều mối quan tâm để phát triển

nó một cách mạnh mẽ, bùng nổ hơn

Hiện nay, việc quan tâm machine learning càng ngày càng tăng lên là vì nhờ

có machine learning giúp gia tăng dung lượng lưu trữ các loại dữ liệu sẵn, việc xử

lý tính toán có chi phí thấp và hiệu quả hơn rất nhiều

Những điều trên được hiểu là nó có thể thực hiện tự động, nhanh chóng để tạo

ra những mô hình cho phép phân tích các dữ liệu có quy mô lớn hơn và phức tạphơn đồng thời đưa ra những kết quả một cách nhanh và chính xác hơn Chính sựhiệu quả trong công việc và các lợi ích vượt bậc mà nó đem lại cho chúng ta khiếnmachine learning ngày càng được chú trọng và quan tâm nhiều hơn Vì vậy chúng

em đã chọn đề tài ”Ứng dụng thuật toán K-Means Clustering để dự đoán chấtlượng của rượu vang đỏ

Chúng em xin chân thành gửi lời cảm ơn tới thầy Vũ Văn Định đã tận tìnhgiảng dạy, truyền đạt cho chúng em những kiến thức cũng như kinh nghiệm quýbáu trong suốt quá trình học Thầy đã giúp đỡ, trực tiếp hướng dẫn trong suốt quátrình học tập của chúng em

Trang 7

CHƯƠNG 1: TỔNG QUAN VỀ HỌC MÁY

1.1 Khái niệm về học máy

Học máy (Machine learning) là một lĩnh vực con của Trí tuệ nhân tạo(Artificial Intelligence) sử dụng các thuật toán cho phép máy tính có thể học từ

dữ liệu để thực hiện các công việc thay vì được lập trình một cách rõ ràng, cungcấp cho hệ thống khả năng tự động học hỏi và cải thiện hiệu suất, độ chính xácdựa trên những kinh nghiệm từ dữ liệu đầu vào Học máy tập trung vào việcphát triển các phần mềm, chương trình máy tính có thể truy cập vào dữ liệu vàtận dụng nguồn dữ liệu đó để tự học

Học máy vẫn đòi hỏi sự đánh giá của con người trong việc tìm hiểu dữ liệu

cơ sở và lựa chọn các kĩ thuật phù hợp để phân tích dữ liệu Đồng thời, trướckhi sử dụng, dữ liệu phải sạch, không có sai lệch và không có dữ liệu giả.Các mô hình học máy yêu cầu lượng dữ liệu đủ lớn để "huấn luyện" vàđánhgiá mô hình Trước đây, các thuật toán học máy thiếu quyền truy cập vàomột lượng lớn dữ liệu cần thiết để mô hình hóa các mối quan hệ giữa các dữliệu Sự tăngtrưởng trong dữ liệu lớn (big data) đã cung cấp các thuật toán họcmáy với đủ dữ liệu để cải thiện độ chính xác của mô hình và dự đoán

1.2 Phân nhóm các thuật toán học máy

1.2.1 Học có giám sát (Supervised Learning)

Là phương pháp sử dụng những dữ liệu đã được gán nhãn từ trước đểsuy luận ra quan hệ giữa đầu vào và đầu ra Các dữ liệu này được gọi là dữ liệuhuấn luyện và chúng là cặp các đầu vào-đầu ra Học có giám sát sẽ xem xét cáctập huấn luyện này để từ đó có thể đưa ra dự đoán đầu ra cho 1 đầu vào mớichưa gặp bao giờ Ví dụ dự đoán giá nhà, phân loại email Các mô hình nhưmạng Nơ-ron, SVM, CNN…

Trang 8

Hình 1.1 Mô hình học có giám sát

1.2.2 Học phi giám sát (Unsupervised Learning)-UL

Khác với học có giám sát, học phi giám sát sử dụng những dữ liệu chưađược gán nhãn từ trước để suy luận Phương pháp này thường được sử dụng đểtìm cấu trúc của tập dữ liệu Tuy nhiên lại không có phương pháp đánh giá đượccấu trúc tìm ra được là đúng hay sai Ví dụ như phân cụm dữ liệu, triết xuấtthành phần chính của một chất nào đó K-mean Ứng dụng phổ biến nhất của họckhông giám sát là gom cụm (cluster)

Hình 1.2 Mô hình học phi giám sát

Trang 9

Trong thuật toán này, chúng ta không biết được dữ liệu đầu ra hay nhãn màchỉ có dữ liệu đầu vào Thuật toán Học không giám sát 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 hoặc giảm số chiềucủa dữ liệu để thuận tiện trong việc lưu trữ và tính toán.

Một cách toán học, Học không giám sát là khi chúng ta chỉ có dữ liệu vào

X mà không biết nhãn Y tương ứng

Sự khác nhau giữa học có giám sát và học không giám sát:

Hình 1.3 Sự khác biệt giữa 2 mô hình SL và UL

Học có giám sát: Là cách huấn luyện một mô hình trong đó dữ liệu học cóđầu vào và đầu ra tương ứng đầu vào đó Mô hình được huấn luyện bằng cáchgiảm thiểu sai số lỗi (loss) của các dự đoán tại các vòng lặp huấn luyện Sau quátrìnhhuấn luyện mô hình sẽ có khả năng đưa ra dự đoán về đầu ra với một đầu vàomới gặp (không có trong dữ liệu học) Nếu không gian đầu ra được biểu diễn dứớidạng rời rạc, ta gọi đó là bài toán phân loại (classification) Nếu không gian đầu rađược biểu diễn dưới dạng liên tục, ta gọi đó là bài toán hồi quy (regression).Học không giám sát: Là cách huấn luyện một mô hình trong đó dữ liệu họcchỉ bao gồm đầu vào mà không có đầu ra Mô hình sẽ được huấn luyện cách để tìmcấu trúc hoặc mối quan hệ giữa các đầu vào Một trong những phương pháp họckhông giám sát quan trọng nhất là phân cụm (clustering): Tạo các cụm khác nhauvới mỗi cụm biểu diễn một đặc trưng nào đó của dữ liệu và phân các đầu vào mớivào các cụm theo các đặc trưng của đầu vào đó Các phương pháp học không giámsát khác có thể kể đến như: phát hiện điểm bất thường(anomaly detection),Singular-value decomposition,…

Trang 10

1.2.3 Học tăng cường (reinforcement learning)

Phương pháp học tăng cường tập trung vào việc làm sao để cho 1 tác tửtrong môi trường có thế hành động sao cho lấy được phần thưởng nhiều nhất cóthể Khác với học có giám sát nó không có cặp dữ liệu gán nhãn trước làm đầuvào và cũng không có đánh giá các hành động là đúng hay sai

1.2.4 Học bán giám sát (Semi-Supervised Learning)

Các bài toán khi chúng ta có một lượng lớn dữ liệu X nhưng chỉ một phầntrong chúng được gán nhãn được gọi là Semi-Supervised Learning Những bàitoán thuộc nhóm này nằm giữa hai nhóm được nêu bên trên Một ví dụ điển hìnhcủa nhóm này là chỉ có một phần ảnh hoặc văn bản được gán nhãn (ví dụ bứcảnh về người, động vật hoặc các văn bản khoa học, chính trị) và phần lớn cácbức ảnh/văn bản khác chưa được gán nhãn được thu thập từ internet

Thực tế cho thấy rất nhiều các bài toán Machine Learning thuộc vào nhómnày vì việc thu thập dữ liệu có nhãn tốn rất nhiều thời gian và có chi phí cao Rấtnhiều loại dữ liệu thậm chí cần phải có chuyên gia mới gán nhãn được (ảnh yhọcchẳng hạn) Ngược lại, dữ liệu chưa có nhãn có thể được thu thập với chi phíthấp từ internet

Trang 11

- Trong y tế: xác định bệnh lý của người bệnh mới dựa trên dữ liệu ịch sửcủa các bệnh nhan có cùng bệnh lý có cùng đặc điểm đã được chauwxkhỏi trước đây, hay xác định loại thuốc phù hợp.

- Trong lĩnh vực ngân hàng: xác định khả năng khách hàng chậm trả cáckhoản vay rủi ro tín dụng do nợ xấu dựa trên phân tích Credit score; xácđịnh xem liệu các giao dịch có hành vi phạm tội, lừa đảo hay không

- Trong giáo dục: phân loại học sinh theo hoàn cảnh, học lực để xem cần

hỗ trợ gì cho học sinh VD: hoàn cảnh sống khó khăn nhưng học lực tốt

- Trong thương mại điện tử: phân loại khách hàng theo sở thích cụ thể để

dễ hỗ trợ personalized marketing hay xây dựng hệ thống khuyến nghị,dựa trên dữ liệu từ website, social media

- Trong kinh tế: giúp đỡ sự kiện kinh tế trong tương lai, dự báo tình hìnhthời tiết trong nông nghiệp, xác định hướng thị trường chứng khoán đểlên kế hoạch đầu tư thích hợp

Trang 12

CHƯƠNG 2: THUẬT TOÁN K-MEANS CLUSTERING TRONG

BI TOÁN PHÂN CỤM2.1 Tổng quan về thuật toán K-Means Clustering

Với thuật toán K-Means Clustering, chúng ta không biết nhãn (label) củatừng điểm dữ liệu Mục đích là làm thể nào để phân dữ liệu thành các cụm(cluster) khác nhau sao cho dữ liệu trong cùng một cụm có tính chất giống nhau

Ý tưởng đơn giản nhất về cluster (cụm) là tập hợp các điểm ở gần nhau trongmột không gian nào đó (không gian này có thể có rất nhiều chiều trong trườnghợp thông tin về một điểm dữ liệu là rất lớn) Hình bên dưới là một ví dụ về 3cụm dữ liệu (từ giờ tôi sẽ viết gọn là cluster)

Hình 2.4 Bài toán với 3 cluters

Giả sử mỗi cluster có một điểm đại diện (center) màu vàng Và những điểm

Trang 13

xung quanh mỗi center thuộc vào cùng nhóm với center đó Một cách đơn giảnnhất, xét một điểm bất kỳ, ta xét xem điểm đó gần với center nào nhất thì nóthuộc về cùng nhóm với center đó.

2.2 Thuật toán K-Means Clustering

2.2.1 Mô hính toán học

Ta gọi điểm tại vị trí trung bình của tất cả các điểm dữ liệu trong một cụm

là trung tâm cụm Như vậy, nếu có K cụm thì sẽ có K trung tâm cụm và mỗitrung tâm cụm sẽ nằm gần các điểm dữ liệu trong cụm tương ứng hơn các trungtâm cụm khác Trong hình dưới đây, K = 3 và ta có 3 trung tâm cụm là các điểmmàu vàng

Hình 2.5 Mô hình dữ liệu phân cụm

Để phân cụm dữ liệu bằng K-Means Clustering, trước hết ta chọn K là sốcụm để phân chia và chọn ngẫu nhiên K trong số m dữ liệu ban đầu làm trungtâm cụm μ1, μ2, …, μK Sau đó, với điểm dữ liệu x(i) ta sẽ gán nó cho cụm c(i)

là cụm có trung tâm cụm gần nó nhất

Trang 14

Khi tất cả các điểm dữ liệu đã được gán về các cụm, bước tiếp theo là tínhtoán lại vị trí các trung tâm cụm bằng trung bình tọa độ các điểm dữ liệu trongcụm đó.

với k1, k2, …, kn là chỉ số các dữ liệu thuộc cụm thứ k Các bước trên được lặplại cho tới khi vị trí các trung tâm cụm không đổi sau một bước lặp nào đó

2.2.2 Độ chính xác của thuật toán

Hàm mất mát của thuật toán K-Means Clustering đặc trưng cho độ chínhxác của nó sẽ càng lớn khi khoảng cách từ mỗi điểm dữ liệu tới trung tâm cụmcàng lớn

2.2.3 Nghiệm của thuật toán K-Means Clustering

Trong các bước của thuật toán, thực chất bước gán các điểm dữ liệu vềtrung tâm cụm gần nhất và bước thay đổi trung tâm cụm về vị trí trung bình củacác điểmdữ liệu trong cụm đều nhằm mục đích giảm hàm mất mát Thuật toánkết thúc khi vị trí các trung tâm cụm không đổi sau một bước lặp nào đó Khi đóhàm mất mát đạt giá trị nhỏ nhất

Khi K càng nhỏ so với m, thuật toán càng dễ đi đến kết quả chưa phải tối

ưu Điều này phụ thuộc vào cách chọn K trung tâm cụm ban đầu

Để khắc phục điều này, ta cần lặp lại thuật toán nhiều lần và chọn phương

án có giá trị hàm mất mát nhỏ nhất

2.2.4 Tóm tắt thuật toán

Đầu vào: Dữ liệu XX và số lượng cluster cần tìm KK.

Đầu ra: Các center MM và label vector cho từng điểm dữ liệu YY.

1 Chọn KK điểm bất kỳ làm các center ban đầu

2 Phân mỗi điểm dữ liệu vào cluster có center gần nó nhất

3 Nếu việc gán dữ liệu vào từng cluster ở bước 2 không thay đổi so với

Trang 15

4 Cập nhật center cho từng cluster bằng cách lấy trung bình cộng của tấtcác các điểm dữ liệu đã được gán vào cluster đó sau bước 2.

5 Quay lại bước 2

CHƯƠNG 3: ỨNG DỤNG THUẬT TOÁN K-MEANS

CLUSTERING3.1 Giới thiệu Google colab

Google Colaboratory (gọi tắt là Google Colab hay Colab) là một sản phẩmcủa Google Research Colab dựa trên Jupyter Notebook, người dùng có thể viết

và thực thi đoạn mã python thông qua trình duyệt và đặc biệt rất phù hợp vớidata analysis, machine learning và giáo dục

Google đã phát hành Google Colab cho công chúng với mục đích cải thiệngiáo dục và nghiên cứu Machine Learning

Google Colab cung cấp GPU miễn phí

Nhờ có sự phát triển mạnh mẽ của Machine learning và Deep learningtrong những năm gần đây không chỉ bởi các thuật toán, các mô hình tân tiến liêntiếp ra đời mà còn bởi sự phát triển không ngừng của phần cứng, đặc biệt làGPU Việc tính toán về toán học cho Deep Learning trên CPU có thể mất hàngtháng! Nhưng những tính toán này có thể được gán cho GPU để thực hiện nhanhhơn Việc train Neural Network trên CPU không được khuyến nghị GPU cầnthiết cho việc tính toán ở mức độ cao

Như chúng ta đều biết, GPU rất đắt tiền và các nền tảng đám mây nhưAWS và GCP cũng vậy

xử lý Intel Xeon với hailõi 2.20 GHz và 13 GB

Cloud TPU cho phépthực hiện 180 nghìn

tỷ phép tính trongmột giây,

Bộ vi xử lý Intel Xeon

Ngày đăng: 22/01/2025, 14:41

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN