Thuật toán phân cụm: 1 K-Mean Clustering:

Một phần của tài liệu TÌM HIỂU VỀ MACHINE LEARNING VÀỨNG DỤNG VÀO VIỆC DỰ ĐOÁN GIÁ NHÀ (Báo cáo đồ án 2 ) (Trang 85 - 98)

b. Nhược điểm:

2.3 Thuật toán phân cụm: 1 K-Mean Clustering:

2.3.1 K-Mean Clustering: a. Thuật toán:

Là một thuật toán trong Unsupervised Learning. K-Means Clustering là thuật toán quan trọng và được sử dụng phổ biến trong kỹ thuật Clustering. Tư tưởng chính của thuật toán K-Means là tìm cách phân nhóm các đối tượng (objects) đã cho vào K cụm (K là số các cụm được xác định trước, K nguyên dương) sao cho tổng bình phương khoảng cách giữa các đối tượng đến tâm nhóm (centroid) là nhỏ nhất.

Cho một tập dữ liệu:

Thuật toán:

B1: Chọn số lượng K-cụm

B2: Tương ứng với số cụm, chọn những điểm trung tâm ( không cần chọn trùng với những điểm có trong tập dữ liệu)

B3: Chia những điểm dữ liệu tương ứng với những điểm trung tâm (điểm dữ liệu gần điểm trung tâm nào thì điểm dữ liệu thuộc cụm trung tâm đó)

B4: Tính toán và thay đổi điểm trung tâm của mỗi cụm

B5: Chia lại những điểm dữ liệu vào chụm tương ứng. Nếu không có điểm dữ liệu nào bị chia lại thì hoàn thành thuật toán, còn không quay lại bước 4.

Tập dữ liệu như hình vẽ bên dưới

Bước đầu tiên ta chọn số cụm K=2 (tại sao chọn K=2 thì sẽ giải thích sau)

Sau đó có bao nhiêu cụm thì chọn bấy nhiêu điểm trung tâm, điểm trung tâm này có thể lấy bất kỳ ở đâu, không cần thiết phải là điểm có trong tập dữ liệu

Phần chia những điểm dữ liệu dựa vào những điểm trung tâm này => nó sẽ hình thành K cụm.

Ví dụ như lấy một điểm, xét xem điểm đó gần điểm nào hơn trong 2 điểm trung tâm xanh dương và đỏ (khoảng cách euclidean). Nếu điểm đó gần điểm xanh dương hơn thì nó thuộc cụm xanh dương và ngược lại.

Trong trường hợp này thì những điểm phía trên đường thẳng màu xanh lá sẽ gần điểm trung tâm màu xanh hơn, và những điểm dữ liệu phía dưới đường thẳng màu xanh sẽ gần điểm trung tâm màu đỏ.

Sau đó tính toán và dời điểm trung tâm trước đó sang vị trí trung tâm sau khi đã chia cụm.

Sau khi đã dịch chuyển điểm dữ liệu tới điểm trung tâm mới (như trên hình) thì thuật toán sẽ phân chia những điểm dữ liệu thành các cụm dựa vào điểm trung tâm mới (hình bên dưới).

Ta thấy rằng 2 điểm màu xanh dương dưới đường thẳng màu xanh lá giờ gần điểm trung tâm màu đỏ và điểm màu đỏ trên đường thẳng màu xanh lá giờ gần với điểm xanh dương. Nên 2 điểm màu xanh dương sẽ bị chuyển sang cụm màu đỏ và điểm màu đỏ ở trên sẽ bị chuyển sang cụm màu xanh dương

Tiếp tục tính toán và duy chuyển điểm trung tâm trước đó tới vị trí điểm trung tâm của tập dữ liệu mới vừa phân cụm lại:

Sau đó chia những điểm dữ liệu dựa trên điểm trung tâm mới và cứ lặp đi lặp lại bước trên cho đến khi không có điểm dữ liệu nào bị chuyển sang cụm khác nữa thì thuật toán dừng.

Như ở hình bên trên thì không có điểm dữ liệu nào bị chuyển sang cụm khác Bỏ điểm trung tâm đi, ta sẽ có được cụm sau khi hoàn thành thuật toán

Và khi so sánh với ban đầu, rõ ràng trước khi thuật toán chạy, ta không có cơ sở nào để phân cụm các điểm dữ liệu.

Ưu, nhược điểm:

Thuật toánK-Meanscó ưu điểm là đơn giản, dễ hiểu và cài đặt.

Tuy nhiên, một số hạn chế củaK-Means là hiệu quả của thuật toán phụ thuộc vào việc chọn số nhóm K (phải xác định trước) và chi phí cho thực hiện vòng lặp tính toán khoảng cách lớn khi số cụm K và dữ liệu phân cụm lớn.

Ứng dụng trong thực tế:

Marketing: Xác định các nhóm khách hàng (khách hàng tiềm năng, khách hàng giá trị, phân loại và dự đoán hành vi khách hàng,…) sử dụng sản phẩm hay dịch vụ của công ty để giúp công ty có chiến lược kinh doanh hiệu quả hơn

Biology:Phân nhóm động vật và thực vật dựa vào các thuộc tính của chúng;

Libraries: Theo dõi độc giả, sách, dự đoán nhu cầu của độc giả…

Insurance, Finance: Phân nhóm các đối tượng sử dụng bảo hiểm và các dịch vụ tài chính, dự đoán xu hướng (trend) của khách hàng, phát hiện gian lận tài chính (identifying frauds)

www: Phân loại tài liệu (document classification), phân loại người dùng web

(clustering weblog), …

b.Ứng dụng:

Bài toán đặt ra có có thu nhập hằng năm và điểm tiêu xài của người dùng, một công ty nào đó muốn phân chia tối tượng người dùng thành các nhóm để có chiến lược khuyến mãi riêng cho những đối tượng.

Đầu tiên khai báo thư viện.

Đọc tập dữ liệu đầu vào và lấy 2 trường thu nhập hàng năm và điểm tiêu sài để tìm số nhóm.

Dùng phương pháp khuỷu tay để tìm số cụm tối ưu nhất

Tiến hành train bộ dữ liệu.

Kết quả:

Chương 3. Tìm hiểu về bài toán phổ biển 3.1 Recommend System – Hệ thống gợi ý 3.1.1 Sơ lược về hệ thống gợi ý

Khi mới sử dụng Facebook ta chỉ kết bạn với một vài người thân trong gia đình. Tuy nhiên vài hôm sau, Facebook đã tự gợi ý cho chúng ta những người họ hàng rất xa của mình.

Hoặc ta đang mua sắm trên một trang thương mại điện tử với mục đích ban đầu là tìm một chiếc quần thể thao. Sau đó một loạt các sản phẩm liên quan đến thời trang nam được gợi ý cho chúng ta nào là xe đạp thể thao, áo thể thao, giày thể thao .... và sau một hồi lang thang trên đó bạn nhận ra rằng mình đã bị cuốn theo những sản phẩm kia mà đôi khi còn quên mất luôn mục đích mình vào trang thương mại này để mua quần.

Một buổi chiều cuối tuần ta muốn thư giãn hơn bằng cách nghe một bản nhạc ballad nhẹ nhàng để giải stress sau một tuần dài làm việc mệt mỏi và cẳng thẳng, và khi ta mở Youtube và tìm kiếm một bài nhạc, ngồi nhâm nhi ly cà phê và thưởng thức âm nhạc, những bài hát tiếp theo sẽ được Youtube tự động gợi ý và tất nhiên những bài nhạc đó đều liên quan đến bài nhạc ballad bạn vừa bật. Tất cả những ví dụ trên đó chính là recommend system.

Tất cả những điều ta vừa thấy ở những ví dụ trên có một điểm chung đó là hệ thống của chúng ta có khả năng tự tìm kiếm và gợi ý những thứ mà có thể chúng ta rất thích nhưng chưa nghĩ đến, hoặc chưa biết đến nó trong thời diểm hiện tại. Đó chính là công việc của Hệ gợi ý - một trong những bài toán áp dụng trong lĩnh vực Trí tuệ nhân tạo.

Về bản chất ta có thể xem hệ thống gợi ý giống như một cầu nối mai mối. Nó dự vào sở thích của chúng ta, tìm kiếm các đối tượng tiềm năng phù hợp với sở thích để gợi ý cho chúng ta.

Chẳng hạn như ta mua một lon coca thì hệ thống sẽ gợi ý cho chung ta những lon coca khác tương tự hoặc những lon nước ngọt khác.

Khi ta mua một sản phẩm, hệ thống gợi ý sẽ làm công việc là đưa ra các sản phẩm tương tự mà ta có thể thích mua chúng. Điều này thực sự trở thành một trợ thủ đặc lực cho người tiêu dùng cũng như người bán hàng. Về người mua hàng thì họ sẽ tìm được sản phẩm phù hợp với nhu cầu của họ, còn về phía bán hàng, chính vì tăng trải nghiệm mua hàng của người dùng nên người bán sẽ bán được nhiều hàng và chính vì thế doanh thu được tăng lên.

Cụ thể ta có thể thấy cách mà Amazon - trang thương mại điện tử nổi tiếng của thế giới đã làm:

● Quan tâm đến việc khách hàng yêu thích, hoặc mua những sản phẩm nào dựa vào dữ liệu trên quá khứ của họ như điểm đánh giá trên từng sản phẩm, thời gian duyệt trên từng sản phẩm, số lần click vào sản phẩm... ● Từ đó có thể dự đoán được người dùng có thể sẽ thích những sản phẩm

nào khác và đưa ra gợi ý phù hợp cho họ

Một phần của tài liệu TÌM HIỂU VỀ MACHINE LEARNING VÀỨNG DỤNG VÀO VIỆC DỰ ĐOÁN GIÁ NHÀ (Báo cáo đồ án 2 ) (Trang 85 - 98)