Đề tài thuật toán k mean và ứng dụng vào bài toán phân lớp đối tượng khách hàng trong kinh doanh

19 1 0
Đề tài  thuật toán k mean và ứng dụng vào bài toán phân lớp đối tượng khách hàng trong kinh doanh

Đ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

Trang 1

TRƯỜNG ĐẠI HỌC QUY NHƠNKHOA CÔNG NGHỆ THÔNG TIN

BÁO CÁO MÔN HỌC

NHẬP MÔN TRÍ TUỆ NHÂN TẠO

ĐỀ TÀI : Thuật toán K-mean và ứng dụng vào bài toánphân lớp đối tượng khách hàng trong kinh doanh

Giảng viên hướng dẫn: TS Lê Thị Kim Nga

Sinh viên thực hiện: 1 Bùi Lê Nghị - 4451050220 2 Phạm Thị Hà Châu - 4451050024 3 Nguyễn Thịnh - 4451050359 4 Ngô Mạnh Tường - 4451050606

Trang 2

Quy Nhơn, tháng 12 năm 2023 Lời mở đầu

Trong thế giới ngày nay, lượng dữ liệu ngày càng lớn và phức tạp, đặt ra thách thức lớn trong việc trích xuất thông tin hữu ích từ những khối dữ liệu này Một trong những công cụ quan trọng để hiểu và phân loại dữ liệu là thuật toán K-means, một phương pháp phân cụm mạnh mẽ được sử dụng rộng rãi trong các lĩnh vực như khoa học dữ liệu, máy học, và khám phá dữ liệu.

Chúng em xin trình bày chi tiết về thuật toán K-means, từ cơ bản đến ứng dụng thực tế Báo cáo này bao gồm không chỉ cách thuật toán hoạt động và các bước thực hiện, mà còn đưa ra nhận định về những ưu và nhược điểm của nó.

Mục tiêu của chúng em là không chỉ cung cấp cái nhìn sâu sắc về thuật toán K-means mà còn đề xuất các hướng nghiên cứu tương lai và cách tiếp cận hiệu quả hơn trong việc ứng dụng thuật toán này vào thực tế Chúng em hy vọng rằng báo cáo này sẽ làm rõ sự quan trọng của K-means trong phân tích dữ liệu và là nguồn cảm hứng cho các nghiên cứu và ứng dụng sâu sắc hơn trong tương lai.

Trang 3

2 Phân loại học máy 4

2.1 Học máy có giám sát (Supervised Learning) 5

2.2 Học máy không có giám sát (Unsupervised Learning): 5

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

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

II Thuật toán K-mean 6

2.1 Khái niệm thuật toán K-mean: 6

2.2 Hoạt động của thuật toán K-mean 6

2.3 Ưu và nhược điểm của thuật toán K-mean 7

Ưu điểm: 7

Nhược điểm: 7

2.4 Ứng dụng của K-mean: 8

2.5 Yêu cầu để khởi chạy thuật toán K-mean: 9

III Ứng dụng thuật toán K-mean vào bài toán phân lớp đối tượng khách hàng trong kinh doanh 13

IV Kết luận 18

Trang 4

I Học máy

1 Học máy

1.1.1 Khái niệm học máy

- Học máy (Machine Learning) là một lĩnh vực trong trí tuệ nhân tạo (Artificial

Intelligence - AI) tập trung vào việc phát triển các hệ thống có khả năng tự học và cải thiện từ dữ liệu mà không cần được lập trình cụ thể Mục tiêu của học máy là tạo ra các mô hình và thuật toán có khả năng tự điều chỉnh và dự đoán kết quả dựa trên dữ liệu mới.

1.1.2 Lý do cần tới học máy

- Khả năng dự đoán và tự động hóa: Học máy cho phép máy tính học từ dữ liệu và tạo ra các mô hình có khả năng dự đoán và tự động hóa các nhiệm vụ

- Xử lý dữ liệu lớn: Học máy giúp xử lý và phân tích dữ liệu này để tìm ra thông tin hữu ích, phát hiện các mối quan hệ, và tạo ra các ứng dụng thông minh

=> Tóm lại, học máy đóng vai trò quan trọng trong nhiều lĩnh vực và có tiềm năng biến đổi cách chúng ta sống và làm việc trong tương lai.

2 Phân loại học máy

Trang 5

Có nhiều loại học máy (machine learning) khác nhau, nhưng chúng thường được chia thành ba loại cơ bản dựa trên cách mà học máy học từ dữ liệu và thực hiện dự đoán:

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

Trong loại này, mô hình học từ dữ liệu đã được gán nhãn Nó được gọi là "có giám sát" vì mô hình học từ các ví dụ có sẵn với thông tin đầu ra mong muốn Mục tiêu của học máy có giám sát là học mối quan hệ giữa đầu vào và đầu ra để sau đó có thể thực hiện dự đoán hoặc phân loại cho các dữ liệu mới

2.2 Học máy không có giám sát (Unsupervised Learning):

Trong loại này, mô hình học từ dữ liệu không có nhãn hoặc không có thông tin đầu ra mong muốn Mục tiêu của học máy không có giám sát là tìm cách nhóm hoặc tìm cấu trúc ẩn trong dữ liệu.

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

Loại này kết hợp giữa học máy có giám sát và không có giám sát Một phần dữ liệu được gán nhãn và một phần không

Mục tiêu của học máy bán giám sát là sử dụng thông tin từ cả hai loại dữ liệu để cải thiện hiệu suất mô hình.

3 Ứng dụng học máy

‒ Thị giác máy tính: giúp trong việc nhận dạng và phân loại hình ảnh và video, ví dụ như trong ôtô tự lái, kiểm tra chất lượng sản phẩm, và giám sát an ninh.

‒ Hệ thống đề xuất: Các thuật toán học máy được sử dụng để tạo ra hệ thống đề xuất cá nhân, như trong lĩnh vực thương mại điện tử hoặc nền tảng phương tiện truyền thông xã hội.

‒ Tư duy tự động: giúp máy tính học cách tự động đưa ra quyết định hoặc dự đoán trong các tình huống như trò chơi, tư vấn tài chính, và quản lý chuỗi cung ứng.

‒ Dự đoán và dự báo: có thể được sử dụng để dự đoán xu hướng tương lai dựa trên dữ

liệu lịch sử, chẳng hạn như dự báo thời tiết, giá cổ phiếu, và tiêu dùng.

Trang 6

II Thuật toán K-mean

2.1 Khái niệm thuật toán K-mean:

- Thuật toán k-means : là một thuật toán phân cụm trong lĩnh vực học máy và khai

phá dữ liệu Nhiệm vụ chính của thuật toán này là phân chia một tập dữ liệu thành các cụm (clusters) sao cho các điểm dữ liệu trong cùng một cụm có đặc điểm tương tự nhau và khác biệt với các điểm dữ liệu trong các cụm khác.

2.2 Hoạt động của thuật toán K-mean

Khởi tạo cụm: Ban đầu, bạn phải chọn một số lượng cụm k (k là một số nguyên dương) mà

bạn muốn tạo Thông thường, bạn cần phải chọn giá trị k một cách thích hợp dựa trên kiến thức về dữ liệu hoặc qua việc thử nghiệm.

1) Khởi tạo điểm trọng tâm (centroids): Mỗi cụm được đại diện bởi một điểm trọng

tâm ban đầu Các điểm trọng tâm này có thể được chọn ngẫu nhiên từ dữ liệu hoặc bằng cách sử dụng các phương pháp khác nhau.

2) Phân loại điểm dữ liệu: Dựa vào khoảng cách giữa mỗi điểm dữ liệu và các điểm

trọng tâm, mỗi điểm dữ liệu sẽ được gán vào cụm có điểm trọng tâm gần nhất.

Trang 7

3) Cập nhật điểm trọng tâm: Tính toán lại các điểm trọng tâm cho từng cụm bằng cách

lấy trung bình của tất cả các điểm dữ liệu thuộc cụm đó.

4) Lặp lại quá trình: Bước 3 và 4 được thực hiện lặp lại cho đến khi điểm trọng tâm

không thay đổi đáng kể hoặc đạt đến một số lần lặp tối đa.

- Thuật toán k-means cố gắng tối ưu hóa sự tương tự giữa các điểm dữ liệu trong cùng một cụm và khác biệt giữa các cụm bằng cách điều chỉnh vị trí của các điểm trọng tâm Kết quả cuối cùng của thuật toán là việc phân cụm dữ liệu thành k cụm và các điểm trọng tâm tương ứng.

- K-means là một trong những thuật toán phân cụm phổ biến và dễ hiểu, nhưng hiệu suất của nó có thể phụ thuộc vào sự lựa chọn ban đầu của số lượng cụm (k) và cách khởi tạo điểm trọng tâm.

2.3 Ưu và nhược điểm của thuật toán K-meanƯu điểm:

1 Dễ hiểu và dễ sử dụng: Thuật toán K-Mean tương đối dễ hiểu và dễ triển khai Nó

không đòi hỏi kiến thức toán học phức tạp và có thể được sử dụng hiệu quả trong nhiều tình huống

2 Tính toán nhanh: Khi gặp bài toán có số lượng cụm nhỏ, dữ liệu không quá phức

tạp thì thuật toán K-Mean thường có thời gian chạy nhanh.

3 Kết quả phân cụm dễ hiểu: K-Means tạo ra các cụm có các điểm trung tâm, và các

điểm dữ liệu được gán vào cụm gần nhất Kết quả này dễ dàng giúp hiểu sơ qua về cấu trúc của dữ liệu.

4 Thường hoạt động tốt với dữ liệu có phân phối đồng nhất: K-Means thường hoạt

động tốt khi các cụm có kích thước tương đương và có phân phối đồng nhất.

5 Tích hợp dễ dàng: K-Means có thể dễ dàng tích hợp vào các ứng dụng khác và

được hỗ trợ trong nhiều thư viện machine learning.

Nhược điểm:

Trang 8

1 Phụ thuộc vào số lượng cụm (K): Rất khó khăn trong việc xác định số lượng cụm

(K) Số lượng cụm sai có thể dẫn đến kết quả không tốt.

2 Nhạy cảm với điểm khởi tạo ban đầu: Kết quả cuối cùng của K-Means có thể thay

đổi tùy thuộc vào điểm ban đầu mà bạn chọn Điều này có thể làm cho thuật toán không ổn định trong một số trường hợp.

3 Không thể xử lý các cụm có hình dạng không đều và kích thước không đồng đều: K-Means có thể không hoạt động tốt với các cụm có hình dạng và kích thước

không đồng đều, và nó thường tạo ra các cụm hình tròn hoặc elip.

4 Không phân biệt các cụm với dạng không tròn: K-Means có khả năng kém trong

việc phân biệt các cụm có dạng không tròn, ví dụ như các cụm dạng dài, chéo, hoặc lỏng lẻo.

5 Không xử lý nhiễu tốt: K-Means dễ bị ảnh hưởng bởi dữ liệu nhiễu, và các điểm

nhiễu có thể gây sai sót trong việc phân cụm.

Tùy vào bài toán cụ thể và đặc điểm của dữ liệu, K-Means có thể là một lựa chọn phù hợp hoặc không phù hợp Nếu dữ liệu của bạn phù hợp với các điểm mạnh của K-Means và bạn có thể xác định số lượng cụm hợp lý, thì nó có thể là một giải pháp phân cụm hiệu quả

2.4 Ứng dụng của K-mean:

Ứng dụng thuật toán K - MEAN trong đời sống (ví dụ thuật toán này áp dụng vào để giải quyết những vấn đề nào trong cuộc sống).

- Thuật toán K-Means là: một thuật toán phân cụm trong lĩnh vực học máy và khai

phá dữ liệu Nhiệm vụ chính của thuật toán K-Means là phân chia tập dữ liệu thành các cụm (cluster) sao cho các điểm dữ liệu trong cùng một cụm gần nhau và khác cụm thì xa nhau.

- Phân loại sản phẩm trong các cửa hàng: sử dụng K-Mean để phân loại sản phẩm

dựa trên các tiêu chí như giá cả,thương hiệu ,….

- Phân loại học sinh trong hệ thống giáo dục: K - Mean có thể được sử dụng để

phân loại học sinh hoặc sinh viên dựa trên kết quả học tập, hoặc điểm rèn luyện để cảnh báo hoặc nhắc nhở.

Trang 9

- Phân loại dữ liệu vị trí các địa điểm trong GPS: sử dụng K - Mean để phân loại

các cửa hàng hoặc các loại quán ăn để dễ dàng tìm các địa điểm muốn tới hơn

- Phân loại danh mục đầu tư: Người đầu tư có thể sử dụng K-Means để phân chia

danh mục đầu tư của họ thành các cụm dựa trên rủi ro và lợi nhuận kỳ vọng, từ đó quản lý danh mục hiệu quả hơn.

- Phân cụm tín dụng khách hàng: Ngân hàng và tổ chức tài chính có thể sử dụng

K-Means để phân cụm khách hàng dựa trên lịch sử tài chính, thu nhập, và hành vi tài chính để xác định rủi ro và cung cấp dịch vụ tài chính tùy chỉnh.

- Quản lý kho hàng: Các doanh nghiệp trong chuỗi cung ứng có thể sử dụng

K-Means để quản lý kho hàng và dự đoán nhu cầu của khách hàng, từ đó giảm thiểu tồn kho không cần thiết và tối ưu hóa chuỗi cung ứng.

- Phân loại nhà ở dựa trên giá tiền và đặc điểm: Trong lĩnh vực bất động sản,

K-Means có thể được sử dụng để phân chia các căn nhà dựa trên giá tiền, diện tích, số phòng, và các đặc điểm khác Điều này giúp người mua và người bán hiểu rõ hơn về thị trường và giá cả.

- Phân loại hình ảnh và video: K-Means có thể sử dụng để phân loại hình ảnh hoặc

video dựa trên các đặc trưng như màu sắc, texture, hoặc đặc điểm hình dáng Ví dụ, trong việc phân loại chó và mèo trong hình ảnh, K-Means có thể được sử dụng để phân cụm các pixel dựa trên màu sắc để xác định các vùng chứa chó và mèo.

2.5 Yêu cầu để khởi chạy thuật toán K-mean:

Để thuật toán K-Means chạy ổn định và cho kết quả tốt, cần đảm bảo một số tính chất và điều kiện sau:

1 Số lượng cụm (k) phải được xác định trước: Bạn cần biết trước số lượng cụm mà

bạn muốn phân chia dữ liệu thành Việc chọn số lượng cụm thường phụ thuộc vào kiến thức về dữ liệu hoặc có thể dựa trên các phương pháp chọn số lượng cụm như

Elbow Method (Elbow Method để xác định số lượng cụm tối ưu Đây là phương phápđánh giá hiệu suất của K-Means với nhiều giá trị k và chọn giá trị k tại điểm “khuỷu

Trang 10

tay” của đồ thị giảm biến động.) hoặc Silhouette Score ( Sử dụng Silhouette Score đểđánh giá chất lượng phân cụm với nhiều giá trị k Chọn k tương ứng với SilhouetteScore cao nhất.)

2 Dữ liệu phải được chuẩn bị cẩn thận: Đảm bảo dữ liệu đã được tiền xử lý đúng

cách, bao gồm việc loại bỏ các giá trị ngoại lai (outliers)( "Các giá trị ngoại lai" lànhững điểm dữ liệu có giá trị rất lớn hoặc rất nhỏ so với phần còn lại của tập dữliệu Việc loại bỏ giá trị ngoại lai giúp làm sạch dữ liệu, cải thiện độ chính xác củathuật toán K-Means, và đảm bảo rằng kết quả phân cụm phản ánh đúng cấu trúcthực sự của dữ liệu.) và chuẩn hóa dữ liệu ("Chuẩn hóa dữ liệu" là quá trình biến đổidữ liệu sao cho chúng có cùng một thang đo hoặc miền giá trị Mục tiêu chính củaviệc chuẩn hóa dữ liệu là đảm bảo rằng các biến độc lập không có sự chênh lệch lớnvề tỷ lệ hoặc phạm vi giữa chúng.) để đảm bảo các biến có cùng thang đo.

3 Chọn điểm khởi tạo ban đầu một cách cẩn thận: Lựa chọn các điểm trung tâm ban

đầu (centroids) có ảnh hưởng đáng kể đến kết quả cuối cùng Cần chọn các điểm khởi

tạo ban đầu ngẫu nhiên (Một cách đơn giản là chọn ngẫu nhiên k điểm từ dữ liệu làmtrung tâm ban đầu Tuy nhiên, điều này có thể dẫn đến tình trạng mà thuật toán cóthể hội tụ nhanh chóng hoặc có thể rơi vào các cụm converge xa nhau, tùy thuộc vàomay mắn của việc chọn ngẫu nhiên.) hoặc sử dụng phương pháp khởi tạo tốt như K-Means++ (Thay vì chọn ngẫu nhiên, K-K-Means++ bắt đầu bằng cách chọn một điểmngẫu nhiên từ dữ liệu làm điểm đầu tiên Sau đó, mỗi điểm tiếp theo được chọn vớixác suất tỉ lệ với bình phương khoảng cách từ nó đến điểm gần nhất đã được chọnlàm trung tâm.) để tránh rơi vào các cụm converge khá xa nhau ("Cụm converge" làthuật ngữ mô tả tình trạng khi các trung tâm cụm và việc gán điểm dữ liệu cho cáccụm không thay đổi đáng kể giữa các lần lặp liên tiếp của thuật toán K-Means.)

4 Không gian feature phải tương đối đồng nhất: K-Means dựa vào khoảng cách giữa

các điểm để phân cụm, nên nó hoạt động tốt khi các biến đầu vào có phương sai (variance) tương đối đồng nhất Nếu có biến có phương sai lớn hơn, chúng có thể ảnh hưởng đáng kể đến kết quả Để giải quyết vấn đề này, việc chuẩn hóa dữ liệu (scaling) thường được thực hiện Chuẩn hóa dữ liệu là quá trình biến đổi dữ liệu sao

Trang 11

cho chúng có cùng một thang đo hoặc miền giá trị Điều này làm tăng hiệu suất và chính xác của thuật toán K-Means trên các tập dữ liệu có không gian feature "tương đối đồng nhất"

5 Kiểm tra điều kiện dừng: Cần có một tiêu chí dừng để ngăn chặn việc lặp vô hạn.

Thông thường, các điều kiện dừng bao gồm số lần lặp tối đa, không có thay đổi đáng kể trong việc gán các điểm cho các cụm, hoặc đạt được một ngưỡng sự hội tụ Ngưỡng sự hội tụ giúp đảm bảo rằng thuật toán dừng lại khi không có sự thay đổi đáng kể nữa, tức là khi các trung tâm cụm và việc gán điểm cho các cụm không thay đổi đáng kể so với lần lặp trước đó Nếu sự thay đổi nhỏ hơn hoặc bằng ngưỡng này, thuật toán coi mình đã hội tụ và dừng lại để trả về kết quả phân cụm Điều này giúp tăng hiệu suất của thuật toán và ngăn chặn việc thực hiện các bước lặp thêm khi kết quả đã ổn định.

6 Không sử dụng K-Means cho dữ liệu phi tuyến tính: K-Means giả định rằng các

cụm là các đám cầu và hoạt động tốt cho các dữ liệu tuyến tính (Dữ liệu phi tuyếntính là loại dữ liệu mà quan hệ giữa các biến không thể mô tả bằng một hàm tuyếntính Trong ngữ cảnh của thuật toán phân cụm như K-Means, giả sử dữ liệu là phituyến tính có thể làm giảm hiệu suất của thuật toán.) Khi K-Means được áp dụng trực

tiếp trên dữ liệu phi tuyến tính, nó có thể không phản ánh được cấu trúc phân bố thực sự của dữ liệu và cho ra kết quả không chính xác Nếu dữ liệu của bạn không phải là tuyến tính, bạn có thể cần sử dụng các phương pháp phân cụm khác như DBSCAN

(DBSCAN dựa trên mật độ (density) của các điểm dữ liệu để phân cụm Nó xác địnhcác cụm bằng cách tìm các vùng mật độ cao, nơi mà mật độ của điểm dữ liệu caohơn một ngưỡng được đặt trước.) hoặc t-SNE ( t-SNE là một thuật toán giảm chiềudữ liệu (dimensionality reduction) giữ lại các đặc trưng quan trọng Nó giữ lại cấutrúc của cụm trong không gian gốc khi giảm chiều dữ liệu.)

7 Quản lý việc lựa chọn kết quả tốt nhất: K-Means có thể cho kết quả khác nhau dựa

trên khởi tạo ban đầu Nên chạy thuật toán nhiều lần với các khởi tạo khác nhau và chọn kết quả tốt nhất dựa trên một tiêu chí như tổng bình phương khoảng cách từ các điểm dữ liệu đến các điểm trung tâm ("Tổng bình phương khoảng cách từ các điểm

Ngày đăng: 02/04/2024, 21:02

Tài liệu cùng người dùng

Tài liệu liên quan