Đồ án 2: Tìm hiểu bài toán phân loại chữ số viết tay tại Đại học Công nghệ Thông tin

Tôi có thể tạo meta tags cho bài viết "Phân loại chữ số viết tay: Đồ án học thuật" theo yêu cầu của bạn. Dưới đây là kết quả: { "ai_description": "Phân loại

Chuyên ngành

Công nghệ Phần mềm

Người đăng

Ẩn danh

Thể loại

Đồ án

2021

17
1
0

Phí lưu trữ

30 Point

Tóm tắt

I. Tổng quan về bài toán phân loại chữ số viết tay

Bài toán phân loại chữ số viết tay là một lĩnh vực nghiên cứu quan trọng trong trí tuệ nhân tạo. Mục tiêu chính là nhận dạng và phân loại các chữ số từ 0 đến 9 được viết bằng tay trên hình ảnh. Bài toán này có nhiều ứng dụng thực tế trong đời sống hàng ngày. Ví dụ điển hình bao gồm nhận dạng chữ số trên chi phiếu ngân hàng, mã số trên bì thư bưu chính, hoặc xử lý biểu mẫu tự động. Bộ dữ liệu MNIST được sử dụng phổ biến để nghiên cứu bài toán này. MNIST chứa hàng chục nghìn hình ảnh chữ số viết tay với kích thước 28x28 pixel. Mỗi hình ảnh được gán nhãn tương ứng với chữ số từ 0 đến 9. Quá trình xử lý bao gồm nhiều giai đoạn: thu thập dữ liệu, tiền xử lý, mã hóa dữ liệu, và dạy cho máy học. Sự phát triển của công nghệ Machine Learning đã mang lại nhiều phương pháp hiệu quả cho bài toán phân loại chữ số viết tay. Các thuật toán từ đơn giản đến phức tạp đều được nghiên cứu và áp dụng rộng rãi.

1.1. Định nghĩa và ý nghĩa của nhận dạng chữ số viết tay

Nhận dạng chữ số viết tay là quá trình chuyển đổi hình ảnh chữ số viết tay thành dữ liệu số trong máy tính. Bài toán này đóng vai trò quan trọng trong việc tự động hóa quy trình xử lý văn bản. Công nghệ này giúp tiết kiệm thời gian và nhân lực so với xử lý thủ công. Trong thời đại cách mạng công nghiệp 4.0, nhu cầu số hóa tài liệu ngày càng tăng. Nhận dạng chữ viết tay trở thành công cụ thiết yếu trong nhiều lĩnh vực. Dịch vụ bưu chính sử dụng công nghệ này để phân loại thư tự động. Ngân hàng áp dụng để xử lý séc và phiếu chi nhanh chóng. Các cơ quan hành chính sử dụng để số hóa biểu mẫu giấy. Bài toán này đã được nghiên cứu và phát triển trong hơn 40 năm qua với nhiều kết quả đáng kể.

1.2. Giới thiệu bộ dữ liệu MNIST và vai trò trong nghiên cứu

MNIST là bộ dữ liệu chuẩn được sử dụng rộng rãi trong nghiên cứu nhận dạng chữ số viết tay. Bộ dữ liệu này chứa 70.000 hình ảnh chữ số viết tay chất lượng cao. Trong đó có 60.000 mẫu dùng để huấn luyện và 10.000 mẫu dùng để kiểm tra. Mỗi hình ảnh có kích thước 28x28 pixel với giá trị xám từ 0 đến 255. MNIST được xây dựng từ dữ liệu của Viện Tiêu chuẩn và Công nghệ Quốc gia Hoa Kỳ. Bộ dữ liệu này đóng vai trò nền tảng để đánh giá hiệu suất các thuật toán phân loại. Các nhà nghiên cứu sử dụng MNIST để so sánh và cải thiện phương pháp nhận dạng. Sự phổ biến của MNIST giúp tạo ra tiêu chuẩn chung cho việc đánh giá thuật toán. Nhiều công trình nghiên cứu quốc tế đều sử dụng MNIST làm cơ sở thí nghiệm.

II. Phân tích các vấn đề và thách thức trong phân loại chữ số

Bài toán phân loại chữ số viết tay đối mặt với nhiều thách thức phức tạp. Sự đa dạng trong cách viết của con người là vấn đề lớn nhất. Mỗi người có phong cách viết khác nhau về độ nghiêng, kích thước và nét chữ. Một số chữ số có hình dạng tương tự như 1 và 7, hoặc 3 và 8. Điều này gây khó khăn cho thuật toán trong việc phân biệt chính xác. Chất lượng hình ảnh đầu vào cũng ảnh hưởng đến kết quả phân loại. Hình ảnh mờ, nhiễu hoặc bị biến dạng sẽ giảm độ chính xác. Bài toán đòi hỏi thuật toán phải có khả năng tổng quát hóa tốt. Thuật toán cần hoạt động hiệu quả trên dữ liệu mới chưa từng thấy. Ngoài ra, vấn đề tốc độ xử lý cũng cần được quan tâm. Ứng dụng thực tế yêu cầu thời gian phản hồi nhanh chóng. Việc lựa chọn phương pháp phù hợp là yếu tố quyết định thành công của bài toán.

2.1. Sự đa dạng trong cách viết tay của con người

Con người viết chữ số với nhiều phong cách khác nhau tùy thuộc vào thói quen cá nhân. Độ nghiêng của chữ số có thể sang trái, sang phải hoặc đứng thẳng. Kích thước chữ số thay đổi đáng kể giữa các cá nhân. Nét viết có thể đậm hoặc nhạt, liền mạch hoặc đứt đoạn. Một số người viết chữ số cách điệu, khác biệt so với chuẩn thông thường. Sự đa dạng này tạo nên thách thức lớn cho hệ thống nhận dạng tự động. Thuật toán phải học được các biến thể phổ biến của mỗi chữ số. Tập huấn luyện cần đủ lớn để bao quát được sự đa dạng này. Việc tăng cường dữ liệu có thể giúp cải thiện khả năng nhận dạng. Tuy nhiên, không thể đảm bảo bao quát được tất cả các trường hợp đặc biệt.

2.2. Nhầm lẫn giữa các chữ số có hình dạng tương tự

Nhiều chữ số viết tay có hình dạng tương tự nhau gây ra hiện tượng nhầm lẫn. Chữ số 1 và 7 thường bị nhầm khi viết không có gạch ngang. Chữ số 3 và 8 có thể giống nhau khi nét viết không rõ ràng. Chữ số 4 và 9 cũng dễ bị nhầm trong một số trường hợp. Chữ số 5 và 6 có thể tương tự khi viết nhanh. Hiện tượng nhầm lẫn này làm giảm độ chính xác của hệ thống phân loại. Để khắc phục, cần thiết kế đặc trưng tốt để phân biệt các chữ số tương tự. Thuật toán học sâu có thể tự động học được các đặc trưng phân biệt. Tuy nhiên, ngay cả con người cũng đôi khi nhầm lẫn giữa các chữ số viết tay. Bài toán đặt ra yêu cầu cao về khả năng phân loại chính xác.

III. Giải pháp và phương pháp tiếp cận bài toán phân loại chữ số

Có nhiều phương pháp được sử dụng để giải quyết bài toán phân loại chữ số viết tay. Thuật toán K-means clustering là một phương pháp đơn giản và hiệu quả. K-means hoạt động dựa trên nguyên tắc phân cụm dữ liệu thành K nhóm. Mỗi nhóm được đại diện bởi một tâm cụm. Thuật toán lặp lại quá trình cập nhật tâm cụm cho đến khi hội tụ. Với bài toán phân loại chữ số, K được chọn bằng 10 tương ứng 10 chữ số. Thuật toán so sánh hình ảnh đầu vào với tâm cụm gần nhất để phân loại. Python là ngôn ngữ lập trình được sử dụng để hiện thực hóa thuật toán. Thư viện scikit-learn cung cấp công cụ K-means sẵn có. Thư viện MNIST giúp tải và xử lý dữ liệu dễ dàng. Kết quả cho thấy K-means có thể phân loại chữ số với độ chính xác tương đối. Tuy nhiên, phương pháp này còn một số hạn chế cần được cải thiện.

3.1. Thuật toán K means clustering và nguyên lý hoạt động

K-means clustering là thuật toán phân cụm không giám sát phổ biến trong Machine Learning. Thuật toán bắt đầu bằng việc chọn ngẫu nhiên K tâm cụm ban đầu. Mỗi điểm dữ liệu được gán vào cụm có tâm gần nhất. Sau đó, tâm cụm được tính lại bằng trung bình của các điểm trong cụm. Quá trình này lặp lại cho đến khi tâm cụm không thay đổi. Với MNIST, mỗi hình ảnh 28x28 pixel được chuyển thành vector 784 chiều. K-means phân nhóm các hình ảnh tương tự vào cùng một cụm. Mỗi cụm tương ứng với một chữ số viết tay. Thuật toán có ưu điểm đơn giản, dễ hiểu và dễ cài đặt. Tốc độ chạy nhanh phù hợp với dữ liệu lớn. Tuy nhiên, kết quả phụ thuộc vào vị trí tâm cụm ban đầu.

3.2. Cài đặt và thực nghiệm với Python và thư viện scikit learn

Việc cài đặt thuật toán K-means được thực hiện bằng ngôn ngữ Python. Thư viện python-mnist được sử dụng để tải dữ liệu từ bộ MNIST. Thư viện matplotlib.pyplot hỗ trợ hiển thị kết quả trực quan. Thư viện scikit-learn cung cấp hàm KMeans sẵn có và dễ sử dụng. Môi trường phát triển được thiết lập với các thư viện cần thiết. Dữ liệu test set gồm 10.000 chữ số được sử dụng để thực nghiệm. K-means clustering được áp dụng với K bằng 10 tương ứng 10 chữ số. Kết quả hiển thị gồm tâm cụm và các điểm dữ liệu trong từng cụm. Mỗi hàng chứa 20 điểm dữ liệu ngẫu nhiên từ mỗi cụm. Thực nghiệm cho thấy thuật toán có khả năng phân loại các nhóm chữ số. Tuy nhiên, một số cụm bị lẫn nhiều chữ số khác nhau.

IV. Kết luận và hướng phát triển cho bài toán phân loại chữ số

Đồ án đã nghiên cứu thành công bài toán phân loại chữ số viết tay. Thuật toán K-means clustering được áp dụng và đánh giá trên bộ dữ liệu MNIST. Kết quả cho thấy thuật toán có khả năng phân loại các chữ số viết tay. Mặc dù có hạn chế, K-means vẫn là nền tảng quan trọng trong Machine Learning. Thuật toán này là cơ sở cho nhiều phương pháp phức tạp hơn được phát triển sau này. Về hướng phát triển, có nhiều cách để cải thiện hiệu suất phân loại. Chạy K-means nhiều lần với tâm cụm ban đầu khác nhau giúp tìm kết quả tốt hơn. Thuật toán K-means++ cải thiện việc khởi tạo tâm cụm ban đầu. CNN là thuật toán tiên tiến hơn có thể giải quyết bài toán tốt hơn. Mạng nơ-ron tích chập học được đặc trưng tự động từ dữ liệu. Kết quả phân loại chính xác hơn so với phương pháp truyền thống.

4.1. Kết quả đạt được và hạn chế của phương pháp K means

Đồ án đã đạt được mục tiêu tìm hiểu bài toán phân loại chữ số viết tay. K-means clustering được cài đặt và chạy thành công trên bộ dữ liệu MNIST. Thuật toán phân nhóm chữ số viết tay thành 10 cụm tương ứng. Kết quả trực quan cho thấy một số cụm chứa chủ yếu một loại chữ số. Tuy nhiên, vẫn tồn tại hiện tượng nhầm lẫn giữa các cụm. Độ chính xác của K-means thấp hơn so với các phương pháp tiên tiến. Thuật toán nhạy cảm với vị trí tâm cụm ban đầu. Kết quả phân loại thay đổi khi chạy với tâm cụm khác nhau. K-means không xem xét được đặc trưng không gian của hình ảnh. Phương pháp này coi mỗi pixel là một chiều độc lập trong vector.

4.2. Hướng phát triển và ứng dụng thực tiễn của bài toán

Nhiều hướng phát triển được đề xuất để cải thiện hiệu suất phân loại. Sử dụng K-means++ để khởi tạo tâm cụm tốt hơn giúp tăng độ chính xác. Chạy thuật toán nhiều lần và chọn kết quả tốt nhất là chiến lược hiệu quả. CNN là hướng đi đầy hứa hẹn cho bài toán nhận dạng chữ số viết tay. Mạng nơ-ron tích chập học được đặc trưng cấp cao từ dữ liệu hình ảnh. Kết quả phân loại có thể đạt độ chính xác trên 99 phần trăm. Về ứng dụng thực tế, công nghệ này được sử dụng rộng rãi. Dịch vụ bưu chính áp dụng để phân loại thư tự động. Ngân hàng sử dụng để xử lý séc và phiếu chi. Hệ thống nhập liệu tự động giúp tiết kiệm thời gian và nhân lực.

Tóm tắt và mô tả trên trang này được tạo với sự hỗ trợ của AI từ nội dung tài liệu gốc; tài liệu do người dùng đóng góp và được kiểm duyệt trước khi xuất bản. Báo lỗi nội dung.

21/04/2026
Đồ án tìm hiểu bài toán phân loại chữ số viết tay

Trích đoạn nội dung tài liệu

CHƯƠNG I: TỔNG QUAN Để giải quyết được bài toán chúng ta cần nắm rõ bài toán này là gì, các yêu cầu của nó như thế nào. Những câu hỏi đó sẽ được trả lời trong chương này. Ngoài ra, chương này còn trình bày tổng quan về một số công trình nghiên cứu liên quan đến bài toán đã được công bố trong và ngoài nước. Từ đó xác định mục tiêu, đối tượng và phạm vi nghiên cứu cho đồ án.

Giới thiệu bài toán Nhận dạng chữ số viết tay là cần thiết và được ứng dụng rộng rãi trong nhiều lĩnh vực như nhận dạng các chữ số trên chi phiếu ngân hàng, mã số trên bì thư của dịch vụ bưu chính, hay các chữ số trên các biểu mẫu nói chung. Vấn đề nhận dạng chữ viết tay nói chung và nhận dạng chữ số viết tay nói riêng là một thách thức lớn đối với các nhà nghiên cứu. Bài toán lớn luôn đặt ra phía trước vì sự phức tạp của việc nhận dạng chữ viết phụ thuộc nhiều vào phong cách viết và cách thể hiện ngôn ngữ của người viết. Chúng ta không thể luôn luôn viết một ký tự chính xác theo cùng một cách.

Do vậy, xây dựng hệ thống nhận dạng chữ viết có thể nhận dạng bất cứ ký tự nào một cách đáng tin cậy trong tất cả các ứng dụng là điều không dễ dàng. Hệ thống nhận dạng thường bao gồm hai bước: rút trích đặc trưng từ ảnh và học tự động từ các đặc trưng để có thể nhận dạng ký tự. Hiệu quả của hệ thống nhận dạng phụ thuộc vào các phương pháp sử dụng ở hai giai đoạn trên Các nghiên cứu - Hệ thống hiện nay (LeCun et al., 1998), (Simard et al., 2003), (Kégl & BusaFekete, 2009) đều sử dụng các đặc trưng cơ bản từ ảnh ký tự như đường biên, cạnh, độ dày, giá trị mức xám, haar-like, với các xử lý đặc thù như lấy mẫu, dao động các điểm ảnh, biến đổi ảnh, thêm dữ liệu ảo, hay trung lập. Mục tiêu, đối tượng và phạm vi nghiên cứu của đề tài I.

Mục tiêu 6 Tìm hiểu và áp dụng các thuật toán cơ bản của ML vào trong bài toán nhận diện chữ viết tay. Và cụ thể hơn là bài toán phân loại hình ảnh. Đối tượng Các hình ảnh chụp chữ số viết tay được chụp lại I. Phạm vi nghiên cứu Các hình ảnh trên thư viện MNIST.

7 CHƯƠNG II: CÁC KHÁI NIỆM VÀ CÔNG NGHỆ LIÊN QUAN Trong chương này sẽ trình bày về các khái niệm và công nghệ liên quan trong quá trình hiện thực đồ án. Đây là những khái niệm và công nghệ quan trọng và cốt lõi cần nắm rõ để có thể hiện thực được đồ án một cách tốt nhất. Các khái niệm liên quan II. Machine Learning Machine Learning là một tập con của AI.

Trong giới chuyên môn không có một khái niệm cụ thể và được xem là đúng đắn nhất về Machine Learning [6]. Tuy nhiên có một vài định nghĩa được đánh giá cao như sau: - Theo A Samuel: Machine Learning là một lĩnh vực nghiên cứu mà máy tính có thể tự học mà không cần lập trình cụ thể. - Theo Tom Mitchell: Machine Learning là chương trình máy tính sử dụng kinh nghiệm E để thực hiện công việc T với hiệu năng P. Ví dụ: chức năng tự gắn thẻ bạn bè trên Facebook, chức năng gợi ý sản phẩn liên quân của Amazon, … Sự ra đời của Machine Learning giúp con người giải quyết nhanh chóng những công việc phức tạp nếu xử lí thủ công sẽ tốn rất nhiều thời gian, chi phí và nhân lực.

Digit Recognizer Bài toán là từ dữ liệu văn bản đầu vào là một hình ảnh chụp lại của các chữ số viết bằng tay, từ đó có thể nhận dạng được và số hóa vào máy tính Ví dụ: Lĩnh vực như nhận dạng các chữ số trên chi phiếu ngân hàng, mã số trên bì thư của dịch vụ bưu chính, hay các chữ số trên các biểu mẫu nói chung. Các giai đoạn chính trong việc xử lí bài toán: 8 - Giai đoạn 0: Thu thập dữ liệu - Giai đoạn 1: Tiền xử lí - Giai đoạn 2: Mã hóa dữ liệu - Giai đoạn 3: Dạy cho máy học II. Các công nghệ liên quan II. Python - Python là ngôn ngữ lập trình hướng đối tượng, cấp cao, mạnh mẽ, được tạo ra bởi Guido van Rossum.

Nó dễ dàng để tìm hiểu và đang nổi lên như một trong những ngôn ngữ lập trình nhập môn tốt nhất cho người lần đầu tiếp xúc với ngôn ngữ lập trình. Python hoàn toàn tạo kiểu động và sử dụng cơ chế cấp phát bộ nhớ tự động. Python có cấu trúc cấp cao mạnh mẽ và cách tiếp cận đơn giản nhưng hiệu quả đối với lập trình hướng đối tượng. Cú pháp lệnh của Python là điểm cộng vô cùng lớn vì sự rõ ràng, dễ hiểu và cách gõ linh động làm cho nó nhanh chóng trở thành một ngôn ngữ lý tưởng để viết script và phát triển ứng dụng trong nhiều lĩnh vực, ở hầu hết các nền tảng.

Bộ cơ sở dữ liệu MNIST Bộ cơ sở dữ liệu MNIST là bộ cơ sở dữ liệu lớn nhất về chữ số viết tay và được sử dụng trong hầu hết các thuật toán nhận dạng hình ảnh (Image Classification). CHƯƠNG III: HƯỚNG TIẾP CẬN VÀ GIẢI PHÁP III. Giới thiệu thuật toán K-means clustering Trong thuật toán K-means clustering, chúng ta không biết nhãn (label) của từ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 trong một không gian nào đó (không gian này có thể có rất nhiều chiều trong trường hợ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ề 3 cụm dữ liệu 9 Bài toán với 3 clusters. Giả sử mỗi cluster có một điểm đại diện (center) màu vàng. Và những điểm xung quanh mỗi center thuộc vào cùng nhóm với center đó.

Một cách đơn giản nhấ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 đó. Tới đây, chúng ta có một bài toán thú vị: Trên một vùng biển hình vuông lớn có ba đảo hình vuông, tam giác, và tròn màu vàng như hình trên. Một điểm trên biển được gọi là thuộc lãnh hải của một đảo nếu nó nằm gần đảo này hơn so với hai đảo kia. Hãy xác định ranh giới lãnh hải của các đảo.

Hình dưới đây là một hình minh họa cho việc phân chia lãnh hải nếu có 5 đảo khác nhau được biểu diễn bằng các hình tròn màu đen: 10 Phân vùng lãnh hải của mỗi đảo. Các vùng khác nhau có màu sắc khác nhau. Chúng ta thấy rằng đường phân định giữa các lãnh hải là các đường thẳng (chính xác hơn thì chúng là các đường trung trực của các cặp điểm gần nhau). Vì vậy, lãnh hải của một đảo sẽ là một hình đa giác.

Cách phân chia này trong toán học được gọi là Voronoi Diagram. Trong không gian ba chiều, lấy ví dụ là các hành tinh, thì (tạm gọi là) lãnh không của mỗi hành tinh sẽ là một đa diện. Trong không gian nhiều chiều hơn, chúng ta sẽ có những thứ (mà tôi gọi là) siêu đa diện (hyperpolygon). Thuật toán Đầu vào: Dữ liệu X và số lượng cluster cần tìm K.

Đầu ra: Các center M và label vector cho từng điểm dữ liệu Y. Chọn K điểm bất kỳ làm các center ban đầu. Phân mỗi điểm dữ liệu vào cluster có center gần nó nhất. Nếu việc gán dữ liệu vào từng cluster ở bước 2 không thay đổi so với vòng lặp trước nó thì ta dừng thuật toán.

Cập nhật center cho từng cluster bằng cách lấy trung bình cộng của tất các các điểm dữ liệu đã được gán vào cluster đó sau bước 2. Quay lại bước 2. Chúng ta có thể đảm bảo rằng thuật toán sẽ dừng lại sau một số hữu hạn vòng lặp. Hạn chế thuật toán Có một vài hạn chế của thuật toán K-means clustering: - Chúng ta cần biết số lượng cluster cần clustering Trong thực tế, nhiều trường hợp chúng ta không xác định được giá trị này.

- Nghiệm cuối cùng phụ thuộc vào các centers được khởi tạo ban đầu Tùy vào các center ban đầu mà thuật toán có thể có tốc độ hội tụ rất chậm, hoặc thậm chí cho chúng ta nghiệm không chính xác (chỉ là local minimum - điểm cực tiểu - mà không phải giá trị nhỏ nhất) - Các cluster cần có dạng hình tròn Tức các cluster tuân theo phân phối chuẩn và ma trận hiệp phương sai là ma trận đường chéo có các điểm trên đường chéo giống nhau. - Khi một cluster nằm phía trong 1 cluster khác Có một vài cách khắc phục đó là: ● Chạy K-means clustering nhiều lần với các center ban đầu khác nhau rồi chọn cách có hàm mất mát cuối cùng đạt giá trị nhỏ nhất. ● K-means++ -Improve initialization algorithm - wiki. ● Có thể xem bài báo khoa học “Cluster center initialization algorithm for K-means clustering”.

- Các cluster cần có só lượng điểm gần bằng nhau 12 CHƯƠNG IV: THỰC NGHIỆM VÀ XÂY DỰNG CHƯƠNG TRÌNH Nội dung chính của chương này sẽ trình bày chi tiết về quá trình hiện thực chương trình từ các bước chuẩn bị (thiết kế và xây dựng cơ sở dữ liệu, cài đặt môi trường) đế giai đoạn hiện thực mã nguồn cho chương trình. Cài đặt môi trường, dữ liệu import numpy as np from mnist import MNIST # require `pip install python-mnist` import matplotlib.pyplot as plt from sklearn.cluster import KMeans Thực hiện thuật toán K-means clustering trên toàn bộ 10k chữ số. from display_network import * mndata = MNIST('./MNIST/') # path to your MNIST folder mndata.load_testing() X = mndata.test_images kmeans = KMeans(n_clusters=K).fit(X) pred_label = kmeans. Mã nguồn 14 Áp dụng K-means clustering vào tập test set của bộ cơ sở dữ liệu MNIST với K = 10 cluster.

Cột 1: centers của các cluster. Các cột còn lại: Mỗi hàng là 20 điểm dữ liệu ngẫu nhiên được chọn ra từ mỗi cluster 15 CHƯƠNG V: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN Chương này với mục đích kết luận về kết quả thực hiện được trong đồ án và từ đó đề ra hướng phát triển cho đồ án trong tương lai. Kết luận Mặc dù có những hạn chế, K-means clustering vẫn cực kỳ quan trọng trong Machine Learning và là nền tảng cho nhiều thuật toán phức tạp khác sau này. Hướng phát triển Chạy K-means clustering nhiều lần với các center ban đầu khác nhau rồi chọn cách có hàm mất mát cuối cùng đạt giá trị nhỏ nhất.

K-means++ -Improve initialization algorithm - wiki. Có thể xem bài báo khoa học “Cluster center initialization algorithm for K-means clustering”.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ