Phương Pháp Phân Cụm Kmeans và Ứng Dụng Vào Nhận Diện Chữ Số Viết Tay

Tài liệu nghiên cứu Phương pháp phân cụm kmeans và ứng dụng vào bài toán nhận diện chữ số viết tay, tổng hợp lý thuyết và thực hành, cung cấp kiến thức chuyên sâu về toán học.

Trường đại học

Đại học Huế

Chuyên ngành

Tin học kinh tế

Người đăng

Ẩn danh

Thể loại

khóa luận tốt nghiệp

2019

71
4
0

Phí lưu trữ

30 Point

Mục lục chi tiết

LỜI CẢM ƠN

LỜI CAM ĐOAN

1. PHẦN I: Lý do chọn đề tài

1.1. Mục tiêu nghiên cứu

1.2. Đối tượng và phạm vi nghiên cứu

1.3. Phương pháp nghiên cứu

1.4. Cấu trúc khóa luận

2. PHẦN II: NỘI DUNG

2.1. Chương 1: Giới thiệu về Học máy

DANH MỤC HÌNH ẢNH

DANH MỤC BẢNG BIỂU

DANH MỤC CHỮ VIẾT TẮT

TÀI LIỆU THAM KHẢO

Tóm tắt

I. Tổng quan về Phân Cụm Kmeans và Nhận Diện Chữ Số Viết Tay

Phân cụm Kmeans là một trong những thuật toán phổ biến trong lĩnh vực Machine Learning. Thuật toán này giúp phân loại dữ liệu thành các nhóm dựa trên sự tương đồng. Trong bối cảnh nhận diện chữ số viết tay, Kmeans đóng vai trò quan trọng trong việc phân loại các mẫu chữ số. Bài viết này sẽ khám phá cách mà Kmeans được áp dụng để nhận diện chữ số viết tay, từ đó giúp cải thiện độ chính xác trong các ứng dụng thực tiễn.

1.1. Khái niệm về Phân Cụm Kmeans

Phân cụm Kmeans là một phương pháp phân tích dữ liệu, giúp nhóm các điểm dữ liệu thành các cụm dựa trên khoảng cách. Thuật toán này hoạt động bằng cách xác định các trọng tâm cụm và phân loại các điểm dữ liệu gần nhất vào các cụm tương ứng.

1.2. Tầm quan trọng của Nhận Diện Chữ Số Viết Tay

Nhận diện chữ số viết tay có nhiều ứng dụng thực tiễn, từ nhận diện biển số xe đến xử lý phiếu hàng hóa. Việc áp dụng Kmeans trong lĩnh vực này giúp cải thiện độ chính xác và hiệu suất của các hệ thống nhận diện.

II. Vấn đề và Thách thức trong Nhận Diện Chữ Số Viết Tay

Mặc dù có nhiều tiến bộ trong công nghệ nhận diện chữ số viết tay, nhưng vẫn tồn tại nhiều thách thức. Các yếu tố như độ chính xác của dữ liệu, sự đa dạng trong cách viết và độ phức tạp của các mẫu chữ số là những vấn đề cần được giải quyết. Việc áp dụng thuật toán Kmeans có thể giúp giảm thiểu những thách thức này.

2.1. Độ Chính Xác của Dữ Liệu

Độ chính xác của dữ liệu đầu vào là yếu tố quyết định đến hiệu quả của thuật toán. Dữ liệu không đồng nhất hoặc có nhiều nhiễu có thể dẫn đến kết quả không chính xác.

2.2. Sự Đa Dạng trong Cách Viết

Mỗi người có cách viết khác nhau, điều này tạo ra sự đa dạng trong các mẫu chữ số. Kmeans cần phải được điều chỉnh để nhận diện chính xác các mẫu này.

III. Phương Pháp Phân Cụm Kmeans trong Nhận Diện Chữ Số Viết Tay

Phương pháp phân cụm Kmeans được áp dụng để nhóm các mẫu chữ số viết tay thành các cụm. Quá trình này bao gồm việc xác định số lượng cụm K và tối ưu hóa các trọng tâm. Việc áp dụng Kmeans giúp cải thiện khả năng nhận diện chữ số viết tay một cách hiệu quả.

3.1. Cách Thức Hoạt Động của Kmeans

Kmeans hoạt động bằng cách khởi tạo K trọng tâm ngẫu nhiên, sau đó phân loại các điểm dữ liệu vào các cụm dựa trên khoảng cách đến các trọng tâm. Quá trình này lặp lại cho đến khi không còn sự thay đổi nào trong các cụm.

3.2. Ưu Điểm và Nhược Điểm của Kmeans

Kmeans có ưu điểm là đơn giản và dễ triển khai. Tuy nhiên, nó cũng có nhược điểm như nhạy cảm với việc chọn số lượng cụm K và có thể bị ảnh hưởng bởi các điểm ngoại lệ.

IV. Ứng Dụng Thực Tiễn của Phân Cụm Kmeans trong Nhận Diện Chữ Số Viết Tay

Phân cụm Kmeans đã được áp dụng thành công trong nhiều hệ thống nhận diện chữ số viết tay. Các nghiên cứu cho thấy rằng việc sử dụng Kmeans có thể cải thiện đáng kể độ chính xác của các mô hình nhận diện. Các ứng dụng này không chỉ giới hạn trong lĩnh vực học máy mà còn mở rộng ra nhiều lĩnh vực khác.

4.1. Kết Quả Nghiên Cứu và Thí Nghiệm

Nhiều nghiên cứu đã chỉ ra rằng Kmeans có thể đạt được độ chính xác cao trong việc nhận diện chữ số viết tay. Các thí nghiệm cho thấy rằng việc tối ưu hóa số lượng cụm K là rất quan trọng.

4.2. Ứng Dụng trong Thực Tế

Kmeans được sử dụng trong nhiều ứng dụng thực tế như nhận diện biển số xe, xử lý hóa đơn và nhiều hệ thống tự động khác. Điều này chứng tỏ tính ứng dụng cao của phương pháp này.

V. Kết Luận và Tương Lai của Phân Cụm Kmeans trong Nhận Diện Chữ Số Viết Tay

Phân cụm Kmeans đã chứng minh được giá trị của nó trong việc nhận diện chữ số viết tay. Tương lai của phương pháp này hứa hẹn sẽ còn nhiều tiềm năng với sự phát triển của công nghệ Học sâu (Deep Learning). Việc kết hợp Kmeans với các phương pháp học máy khác có thể tạo ra những bước tiến mới trong lĩnh vực này.

5.1. Tiềm Năng Phát Triển

Với sự phát triển không ngừng của công nghệ, Kmeans có thể được cải tiến để xử lý các bài toán phức tạp hơn trong nhận diện chữ số viết tay.

5.2. Hướng Nghiên Cứu Tương Lai

Nghiên cứu có thể tập trung vào việc kết hợp Kmeans với các thuật toán học sâu để nâng cao độ chính xác và hiệu suất trong nhận diện chữ số viết tay.

15/07/2025
Phương pháp phân cụm kmeans và ứng dụng vào bài toán nhận diện chữ số viết tay

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

CHƯƠNG 1. Giới thiệu về Học máy Mỗi con người chúng ta được trang bị các giác quan như thị giác, thính giác, xúc giác,… để quan sát, cảm nhận, nhận thức mọi thứ xung quanh rồi từ đó mỗi cá nhân từng người sẽ tự mình rút ra được những kinh nghiệm, đánh giá, phân tích riêng để đối phó, xử lí khi gặp lại các trường hợp đó trong cuộc sống. Máy tính cũng cũng vậy, muốn nó nhận thức, xử lí được như con người thì ta cần phải trang bị cho nó những thứ cần thiết, những thứ được xem như giác quan của máy tính như máy quay, tai nghe,… Từ đó, máy tính có thể thay thế con người để làm những việc phức tạp, thậm chí nó còn làm nhanh hơn và chính xác hơn. Ví dụ như hãy lọc ra những người giống nhau ở trong hai đoạn băng ghi hình ở hai nơi khác nhau kéo dài 12 tiếng để tìm ra những đối tượng bị tình nghi là thuộc một băng nhóm nào đó, hay là lọc ra âm thanh của cuộc trò chuyện điện thoại trong một buổi tiệc ồn ào,.

Những công việc dạng như vậy khi được chúng ta huấn luyện cho máy tính thì được gọi là tác vụ. Máy tính được trang bị một hay nhiều các tác vụ như trên để làm những công việc đó thay cho con người được gọi là AI (Trí tuệ nhân tạo). AI [1] là viết tắt của Artificial Intelligence, dịch ra là trí tuệ nhân tạo. Trong lịch sử phát triển thì trí tuệ nhân tạo được các nhà nghiên cứu phân thành 4 hướng tiếp cận chính đó là: - Hàng động như người (Acting humanly) - Suy nghĩ như người (Thinking humanly) - Suy nghĩ hợp lý (Thinking rationally) - Hành động hợp lý (Acting rationally) Trong thời đại phát triển chóng mặt của công nghệ số hiện nay, trí tuệ nhân tạo đang mang lại sự thay đổi sâu sắc về nhiều khía cạnh của cuộc sống, nó len lõi và hỗ trợ một cách tối đa cho các hoạt động của con người như kinh doanh, bảo mật, y tế,… Có thể kể ra một vài hệ thống trí tuệ nhân tạo tiêu biểu như máy chơi cờ vây tự động Google AlphaGo của Google DeepMind; các trợ lý ảo như Siri của Apple,Google Assistant của Google, Bixby của Samsung; nhà thông minh có khả năng học hỏi và ghi SV: Ngô Trần Hoàng Lâm 5 Khóa luận tốt nghiệp nhớ người dùng qua lệnh giọng nói, hành vi, thói quen,… của ACIS JSC; hệ thống nhận diện khuôn mặt trong ảnh đăng của người dùng lên Facebook, FaceID của Apple; hệ thống gợi ý sản phẩm cho khách hàng dựa trên lịch sử mua hàng, sở thích, thói quen của khách hàng của Amazon; thiết bị bay không người lái được ứng dụng vào y tế để tăng thời gian và có thể đến nơi có địa hình hiểm trở;…đây là một vài hệ thống trong vô vàn hệ thống có ứng dụng trí tuệ nhân tạo.

Trí tuệ nhân tạo thực sự mang lại cho con người chúng ta một cuộc sống tiện nghi, hiện đại và chất lượng hơn rất nhiều, khiến con người cảm thấy thoải mái hơn và bên cạnh đó, việc áp dụng thêm các tiến bộ khoa học kĩ thuật khác càng làm cho năng suất công việc được nâng cao, chất lượng sản phẩm được cải thiện từ đó dẫn đến một xã hội tiến bộ và cuộc sống chất lượng hơn. Để có được trí tuệ nhân tạo thì máy tính cần phải “học tập”, vậy máy tính sẽ “học tập” như thế nào? Một trong những lĩnh vực con bên trong AI rất quan trọng và có liên quan đến việc phát triển các kỹ thuật cho phép máy tính có thể “học tập” đó là Học máy (Machine Learning - ML) [2]. Học máy là một trong những công cụ có thể giúp máy tính có thể “tự học hỏi” và nâng cao khả năng nhận biết về thế giới xung quanh dựa vào các dữ liệu đã thu thập được từ trước đó. Học máy giúp giải quyết bài toán bằng cách sử dụng một lượng lớn dữ liệu sẵn có từ trước, sau quá trình được “học tập” thì máy tính có thể có khả năng tự động thực hiện những tác vụ khác nhau để giải quyết bài toán đó, thay cho các phương pháp lập trình truyền thống.

Cụ thể ở đây, máy tính có thể thực hiện các tác vụ đó thông qua việc phân tích dữ liệu, cập nhật và xử lý bộ dữ liệu có sẵn và sau đó khi gặp các trường hợp mới phát sinh thì nó có thể tự động ghi nhận lại và tự động xử lý với độ chính xác tương đối cao. Các thuật toán học máy được chia thành 2 loại thường dùng đó là: - Học có giám sát (Supervised Learning): máy tính được huấn luyện bằng một số mẫu đầu vào và đầu ra tương ứng đã được biết trước kết quả. Sau khi được huấn luyện, máy tính quan sát khi có đầu vào mới và có thể tự động tính ra kết quả cho đầu ra. Trong học có giám sát thì được phân thành 2 loại đó là hồi quy (Regression) và phân lớp (Classification).

SV: Ngô Trần Hoàng Lâm 6 Khóa luận tốt nghiệp Một vài giải thuật phổ biến trong học có giám sát:  Hồi quy: hồi quy tuyến tính (Linear Regression), hồi quy Logistic (Logistic Regression), rừng ngẫu nhiên (Random Forest).  Phân lớp: rừng ngẫu nhiên (Random Forest), vectơ hỗ trợ (Support Vector) - Học không giám sát (Unsupervised Learning): máy tính không được cho đầu ra mà chỉ có dự liệu đầu vào. Sau đó máy tính phải tự tìm cách phân lớp các mẫu này và các mẫu mới. Trong học không giám sát thì được chia thành 2 loại đó là phân cụm (Clustering) và không phân cụm (Non-Clustering) Một vài giải thuật phổ biến trong học không giám sát:  Phân cụm: Kmeans  Không phân cụm: Cocktail Party Algorithm Khoảng 2 thập kỷ trở lại đây thì học máy mới thực sự gây ra cơn sốt trong giới công nghệ trên toàn cầu, còn trước đó do khả năng tính toán của vi xử lý còn yếu và lưu lượng dữ liệu số lưu trữ trên các máy chủ trên khắp thế giới chưa được nhiều nên việc sự dụng học máy rất hạn chế.

Hiện nay, với khả năng xử lý của đơn vị xử lý trung tâm (CPU) đã đạt đến tầm cao mới theo cấp số nhân (Định luật Moore) và kho dữ liệu số lưu trữ trên các máy chủ ngày càng được tích lũy nhiều hơn thì học máy thực sự là một cơn bão trong giới công nghệ. Nó có tính ứng dụng rất cao trong nhiều lĩnh vực như hô biến ảnh đen trắng thành ảnh màu, phát hiện thẻ tín dụng giả, tự động tạo chú thích cho các bức ảnh, viết truyện – làm thơ – viết quảng cáo, dịch máy, phân lớp các chuỗi DNA,… Những ứng dụng này phần nào đã chứng tỏ sự vượt trội của học máy so với các phương pháp cổ điển khác và cho thấy sự cần thiết của học máy đối với cuộc sống của chúng ta hiện nay. Vì việc nghiên cứu và ứng dụng học máy còn chưa phổ biến ở Việt Nam nên các thuật ngữ dịch sang tiếng Việt còn chưa được thống nhất và chưa có một chuẩn mực chung cho mọi tài liệu. Do đó trong khóa luận này, người thực hiện khóa luận xin được dùng thuật ngữ tiếng Anh gốc để giữ được nghĩa gốc vốn có của các thuật ngữ.

Bảng các thuật ngữ tiếng Anh được dùng trong khóa luận được cung cấp ở trang viii. SV: Ngô Trần Hoàng Lâm 7 Khóa luận tốt nghiệp 1. Tổng quan về học không giám sát Như đã giới thiệu ở trên thì trong ngành khoa học dữ liệu có 2 hướng để sử dụng dữ liệu đó là học có giám sát và học không giám sát. Sử dụng dữ liệu để huấn luyện mô hình và tạo ra các dự đoán với dữ liệu mới đó là học có giám sát.

Nhưng đôi khi ta không muốn tạo ra các dự đoán mà lại muốn tìm ra những điểm tương đồng trong bộ dữ liệu đó và phân dữ liệu và các nhóm khác nhau đó lại là học không giám sát. Đó cũng là ưu điểm của nó so với học có giám sát vì trong cuộc sống không phải lúc nào chúng ta cũng có được kết quả đầu ra cho tất cả các bộ dữ liệu. Vì khóa luận này đang nói về phương pháp phân cụm Kmeans mà phương pháp này thuộc về học không có giám sát nên người thực hiện khóa luận sẽ trình bày phần học không giám sát trước, còn về phần học có giám sát thì chúng ta sẽ cần đến nó nhưng sẽ đề cập đến nó ở phần tiếp sau của khóa luận. Học không giám sát [3], [4] là phương pháp học mà máy tính học không có hướng dẫn cụ thể, không có các ví dụ cho trước, không có đầu ra mà chỉ có bộ dữ liệu đầu vào, sau đó nó sẽ tự động tìm các điểm tương đồng, sự khác biệt của dữ liệu và nhóm dữ liệu thành từng cụm khác nhau dựa vào độ tương đồng giữa chúng.

Chúng ta có một ví dụ như sau: máy tính chưa từng nhìn qua bức ảnh dưới đây và cũng chưa được dạy cho nó về như thế nào là chó và như thế nào là mèo. Hình minh họa cho ví dụ của phương pháp học không giám sát Do chưa được dạy nên máy tính của chúng ta sẽ không thể phân biệt được con nào là chó và con nào là mèo trong bức ảnh. Nhưng vì là học không giám sát nên khi nhìn thấy bức ảnh, máy tính có thể phân cụm bức ảnh này ra dựa vào các điểm tương đồng của các SV: Ngô Trần Hoàng Lâm 8 Khóa luận tốt nghiệp con vật trong bức ảnh. Để rồi nó có thể phân bức ảnh thành vùng chỉ có những con chó và vùng chỉ có hình ảnh những con mèo dựa vào điểm tương đồng giữa các con vật.

Trong học không giám sát thì các thuật toán phổ biến nhất được sử dụng bao gồm: - Phân cụm  Phân cấp (Hierarchical Clustering)  Phân cụm k (Kmeans)  Mô hình hỗn hợp (Mixture models)  Phân cụm không gian dựa trên các ứng dụng có tiếng ồn (DBSCAN)  Thuật toán xác định cấu trúc phân cụm dựa trên thứ tự điểm (OPTICS algorithm) - Phát hiện bất thường (Anomaly detection)  Yếu tố ngoại lệ địa phương (Local Outlier Factor) - Mạng lưới thần kinh (Neural network)  Bộ tự động (Autoencoders)  Lưới niềm tin sâu sắc (Deep Belies Nets)  Học tiếng Do Thái (Hebbian Learning) - Mô hình biến tiềm ẩn (Latent variable models)  Thuật toán tối đa hóa kì vọng (Expectation – maximization algorithm) (EM)  Phương pháp của khoảnh khắc (Method of moment)  Tách tín hiệu mù (Blind signal separation) 1. Tổng quan về phân cụm 1.

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

Tài liệu có tiêu đề "Phân Cụm Kmeans: Ứng Dụng Trong Nhận Diện Chữ Số Viết Tay" cung cấp cái nhìn sâu sắc về phương pháp phân cụm Kmeans và cách nó được áp dụng trong việc nhận diện chữ số viết tay. Bài viết giải thích chi tiết về quy trình hoạt động của thuật toán Kmeans, từ việc phân chia dữ liệu thành các nhóm đến việc tối ưu hóa kết quả nhận diện. Đặc biệt, tài liệu nhấn mạnh những lợi ích của việc sử dụng Kmeans trong nhận diện chữ số, như khả năng xử lý nhanh chóng và hiệu quả trong việc phân loại dữ liệu lớn.

Để mở rộng kiến thức của bạn về các phương pháp phân cụm và nhận diện hình ảnh, bạn có thể tham khảo thêm tài liệu Khoá luận tốt nghiệp kết hợp các phương pháp phân cụm trong khai phá dữ liệu web, nơi bạn sẽ tìm thấy những ứng dụng khác của phân cụm trong khai thác dữ liệu. Ngoài ra, tài liệu Luận văn thạc sĩ kỹ thuật điều khiển và tự động hóa face recognition performance comparison between k nearest neighbors algorithm and self organized map sẽ giúp bạn so sánh hiệu suất giữa các thuật toán nhận diện khác nhau, mở rộng hiểu biết về lĩnh vực này. Những tài liệu này không chỉ cung cấp thông tin bổ ích mà còn giúp bạn nắm bắt được các xu hướng và ứng dụng mới trong công nghệ nhận diện.