Phương pháp nhận dạng Support Vector Machines(SVM) trong nhận dạngchữ viết tay

35 412 1
Phương pháp nhận dạng Support Vector Machines(SVM) trong nhận dạngchữ viết tay

Đ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

  __________________________________________________________________________ - MHV: CH1102010 1 M   1  2  3  4 1.1. Khám phá tri thức và khai phá dữ liệu là gì? 4 1.2. Quá trình phát hiện tri thức 4 1.3. Quá trình khai phá dữ liệu 7 1.4. Chức năng của khai phá dữ liệu 9 1.5. Các kỹ thuật khai phá dữ liệu 9 1.6. Các dạng dữ liệu có thể khai phá được 12 1.7. Các lĩnh vực liên quan đến khai phá dữ liệu và ứng dụng của khai phá dữ liệu 12 1.8. Các thách thức và hướng phát triển của phát hiện tri thức và khai phá dữ liệu. 13  15 2.1.Support Vector Machines (SVM) : 15  18 2. 18 2.4 19  20  20   21  21  21  23  26  27  27  28   30  32  32  32  34   __________________________________________________________________________ - MHV: CH1102010 2  Trước tiên, em xin gửi lời cảm ơn chân thành nhất tới PGS - T.S Đỗ Phúc đã tận tình hướng dẫn, giảng dạy truyền đạt những kiến thức nền tảng cơ bản cho chúng em về môn học:"Khai phá Dữ liệu và kho dữ liệu". Em xin được gửi lời cảm ơn chân thành tới các thầy cô giáo trong khoa Công nghệ thông tin - Trường đại học Công nghệ thông tin- Đai học QG.TPHCM đã tần tình giúp đỡ và giảng dạy cho chúng em trong những môn học vừa qua. Trong thời gian vừa qua mặc dù em đã cố gắng rất nhiều để hoàn thành tốt môn học. Song chắc chắn kết quả nghiên cứu sẽ không tránh khỏi những thiếu sót, vì vậy em kính mong nhận được sự chỉ bảo và góp ý của quý thầy cô và các bạn. Em xin chân thành cám ơn! Hà Nội, tháng 11 năm 2012  - CH1102010   __________________________________________________________________________ - MHV: CH1102010 3  Trong nhiều năm qua, cùng với sự phát triển của công nghệ thông tin và ứng dụng của công nghệ thông tin trong nhiều lĩnh vực của đời sống xã hội, thì lượng dữ liệu được các cơ quan thu thập và lưu trữ ngày một nhiều lên. Người ta lưu trữ những dữ liệu này vì cho rằng nó ẩn chứa những giá trị nhất định nào đó. Tuy nhiên theo thống kê thì chỉ có một lượng nhỏ của những dữ liệu này (khoảng từ 5% đến 10%) là luôn được phân tích, số còn lại họ không biết sẽ phải làm gì và có thể làm gì với những dữ liệu này, nhưng họ vẫn tiếp tục thu thập và lưu trữ vì hy vọng những dữ liệu này sẽ cung cấp cho họ những thông tin quý giá một cách nhanh chóng để đưa ra những quyết định kịp thời vào một lúc nào đó. Chính vì vậy, các phương pháp quản trị và khai thác cơ sở dữ liệu truyền thống ngày càng không đáp ứng được thực tế đã làm phát triển một khuynh hướng kỹ thuật mới đó là Khai phá dữ liệu (Data Mining). Kỹ thuật khai phá dữ liệu đã và đang được nghiên cứu, ứng dụng trong nhiều lĩnh vực khác nhau trên thế giới, tại Việt Nam kỹ thuật này còn tương đối mới mẻ tuy nhiên cũng đang được nghiên cứu và bắt đầu đưa vào một số ứng dụng thực tế. Vì vậy, hiện nay ở nước ta vấn đề phát hiện tri thức và khai phá dữ liệu đang thu hút được sự quan tâm của nhiều người và nhiều công ty phát triển ứng dụng công nghệ thông tin. Trong phạm vi đề tài này của em, em sẽ trình bày nội dung sau: "      "   __________________________________________________________________________ - MHV: CH1102010 4  1.1. Khám phá tri thức và khai phá dữ liệu là gì? Phát hiện tri thức (Knowledge Discovery ) trong các cơ sở dữ liệu là một qui trình nhận biết các mẫu hoặc các mô hình trong dữ liệu với các tính năng: hợp thức, mới, khả ích, và có thể hiểu được [4]. Còn khai thác dữ liệu (data mining) là một ngữ tương đối mới, nó ra đời vào khoảng những năm cuối của của thập kỷ 1980. Có rất nhiều định nghĩa khác nhau về khai phá dữ liệu. Giáo sư Tom Mitchell đã đưa ra định nghĩa của khai phá dữ liệu như sau: “Khai phá dữ liệu là việc sử dụng dữ liệu lịch sử để khám phá những qui tắc và cải thiện những quyết định trong tương lai.”. Với một cách tiếp cận ứng dụng hơn, tiến sĩ Fayyad đã phát biểu: ”Khai phá dữ liệu thường được xem là việc khám phá tri thức trong các cơ sở dữ liệu, là một quá trình trích xuất những thông tin ẩn, trước đây chưa biết và có khả năng hữu ích, dưới dạng các quy luật, ràng buộc, qui tắc trong cơ sở dữ liệu.”. Còn các nhà thống kê thì xem " khai phá dữ liệu như là một quá trình phân tích được thiết kế thăm dò một lượng cực lớn các dữ liệu nhằm phát hiện ra các mẫu thích hợp và/ hoặc các mối quan hệ mang tính hệ thống giữa các biến và sau đó sẽ hợp thức hoá các kết quả tìm được bằng cách áp dụng các mẫu đã phát hiện được cho tập con mới của dữ liệu". Nói tóm lại: khai phá dữ liệu là một bước trong quy trình phát hiện tri thức gồm có các thụât toán khai thác dữ liệu chuyên dùng dưới một số quy định về hiệu quả tính toán chấp nhận được để tìm ra các mẫu hoặc các mô hình trong dữ liệu [4]. 1.2. Quá trình phát hiện tri thức Quá trình khám phá tri thức được tiến hành qua 5 bước sau [5]:   __________________________________________________________________________ - MHV: CH1102010 5 Hình 1.1. Quá trình khám phá tri thức 1.2.1. Hình thành và định nghĩa bài toán Đây là bước tìm hiểu lĩnh vực ứng dụng và hình thành bài toán, bước này sẽ quyết định cho việc rút ra những tri thức hữu ích, đồng thời lựa chọn các phương pháp khai phá dữ liệu thích hợp với mục đích của ứng dụng và bản chất của dữ liệu. 1.2.2. Thu thập và tiền xử lý dữ liệu Trong bước này dữ liệu được thu thập ở dạng thô (nguồn dữ liệu thu thập có thể là từ các kho dữ liệu hay nguồn thông tin internet). Trong giai đoạn này dữ liệu cũng được tiền xử lý để biến đổi và cải thiện chất lượng dữ liệu cho phù hợp với phương pháp khai phá dữ liệu được chọn lựa trong bước trên. Bước này thường chiếm nhiều thời gian nhất trong quá trình khám phá tri thức. Các giải thuật tiền xử lý dữ liệu bao gồm : 1. Xử lý dữ liệu bị mất/ thiếu: Các dạng dữ liệu bị thiếu sẽ được thay thế bởi các giá trị thích hợp   __________________________________________________________________________ - MHV: CH1102010 6 2. Khử sự trùng lắp: các đối tượng dữ liệu trùng lắp sẽ bị loại bỏ đi. Kỹ thuật này không được sử dụng cho các tác vụ có quan tâm đến phân bố dữ liệu. 3. Giảm nhiễu: nhiễu và các đối tượng tách rời khỏi phân bố chung sẽ bị loại đi khỏi dữ liệu. 4. Chuẩn hoá: miền giá trị của dữ liệu sẽ được chuẩn hoá. 5. Rời rạc hoá: các dạng dữ liệu số sẽ được biến đổi ra các giá trị rời rạc. 6. Rút trích và xây dựng đặc trưng mới từ các thuộc tính đã có. 7. Giảm chiều: các thuộc tính chứa ít thông tin sẽ được loại bỏ bớt. 1.2.3. Khai phá dữ liệu và rút ra các tri thức Đây là bước quan trọng nhất trong tiến trình khám phá tri thức. Kết quả của bước này là trích ra được các mẫu và/hoặc các mô hình ẩn dưới các dữ liệu. Một mô hình có thể là một biểu diễn cấu trúc tổng thể một thành phần của hệ thống hay cả hệ thống trong cơ sở dữ liệu, hay miêu tả cách dữ liệu được nảy sinh. Còn một mẫu là một cấu trúc cục bộ có liên quan đến vài biến và vài trường hợp trong cơ sở dữ liệu. 1.2.4. Phân tích và kiểm định kết quả Bước thứ tư là hiểu các tri thức đã tìm được, đặc biệt là làm sáng tỏ các mô tả và dự đoán. Trong bước này, kết quả tìm được sẽ được biến đổi sang dạng phù hợp với lĩnh vực ứng dụng và dễ hiểu hơn cho người dùng.   __________________________________________________________________________ - MHV: CH1102010 7 1.2.5. Sử dụng các tri thức phát hiện được Trong bước này, các tri thức khám phá được sẽ được củng cố, kết hợp lại thành một hệ thống, đồng thời giải quyết các xung đột tiềm năng trong các tri thức đó. Các mô hình rút ra được đưa vào những hệ thống thông tin thực tế dưới dạng các môdun hỗ trợ việc đưa ra quyết định. Các giai đoạn của quá trình khám phá tri thức có mối quan hệ chặt chẽ với nhau trong bối cảnh chung của hệ thống. Các kỹ thuật được sử dụng trong giai đoạn trước có thể ảnh hưởng đến hiệu quả của các giải thuật được sử dụng trong các giai đoạn tiếp theo. Các bước của quá trình khám phá tri thức có thể được lặp đi lặp lại một số lần, kết quả thu được có thể được lấy trung bình trên tất cả các lần thực hiện. 1.3. Quá trình khai phá dữ liệu Khai phá dữ liệu là hoạt động trọng tâm của quá trình khám phá tri thức . Thuật ngữ khai phá dữ liệu còn được một số nhà khoa học gọi là phát hiện tri thức trong cơ sở dữ liệu ( knowledge discovery in database _KDD) ( theo Fayyad Smyth and Piatestky-Shapiro 1989). Quá trình này gồm có 6 bước [1]: Hình 1.2. Quá trình khai phá dữ liệu   __________________________________________________________________________ - MHV: CH1102010 8 Quá trình khai phá dữ liệu bắt đầu với kho dữ liệu thô và kết thúc với tri thức được chiết xuất ra. Nội dung của quá trình như sau: 1.3.1. Gom dữ liệu (gatherin) Tập hợp dữ liệu là bước đầu tiên trong khai phá dữ liệu. Bước này lấy dữ liệu từ trong một cơ sở dữ liệu, một kho dữ liệu, thậm chí dữ liệu từ những nguồn cung ứng web. 1.3.2. Trích lọc dữ liệu (selection) Ở giai đoạn này dữ liệu được lựa chọn và phân chia theo một số tiêu chuẩn nào đó. 1.3.3. Làm sạch và tiền xử lý dữ liệu (cleansing preprocessing). Giai đoạn thứ ba này là giai đoạn hay bị sao lãng, nhưng thực tế nó là một bước rất quan trọng trong quá trình khai phá dữ liệu. Một số lỗi thường mắc phải trong khi gom dữ liệu là dữ liệu không đầy đủ hoặc không thống nhất, thiếu chặt chẽ. Vì vậy dữ liệu thường chứa các giá trị vô nghĩa và không có khả năng kết nối dữ liệu. Ví dụ Sinh viên có tuổi=200. Giai đoạn thứ ba này nhằm xử lý các dữ liệu như trên(dữ liệu vô nghĩa, dữ liệu không có khả năng kết nối). Những dữ liệu dạng này thường được xem là thông tin dư thừa, không có giá trị. Bởi vậy đây là một quá trình rất quan trọng. Nếu dữ liệu không được làm sạch- tiền xử lý - chuẩn bị trước thì sẽ gây nên những kết quả sai lệch nghiêm trọng về sau. 1.3.4. Chuyển đổi dữ liệu (transformation) Trong giai đoạn này, dữ liệu có thể được tổ chức và sử dụng lại. Mục đích của việc chuyển đổi dữ liệu là làm cho dữ liệu phù hợp hơn với mục đích khai phá dữ liệu.   __________________________________________________________________________ - MHV: CH1102010 9 1.3.5. Phát hiện và trích mẫu dữ liệu ( pattern extraction and discovery) Đây là bước tư duy trong khai phá dữ liệu. Ở trong giai đoạn này nhiều thuật toán khác nhau đã được sử dụng để trích ra các mẫu từ dữ liệu. Thuật toán thường dùng để trích mẫu dữ liệu là thuật toán phân loại dữ liệu, kết hợp dữ liệu, thuật toán mô hình hoá dữ liệu tuần tự. 1.3.6. Đánh giá kết quả mẫu (evaluation of result ) Đây là giai đoạn cuối cùng trong quá trình khai phá dữ liệu, ở giai đoạn này các mẫu dữ liệu được chiết xuất ra bởi phần mềm khai phá dữ liệu. Không phải mẫu dữ liệu nào cũng hữu ích, đôi khi nó còn bị sai lệch. Vì vậy cần phải đưa ra những tiêu chuẩn đánh giá độ ưu tiên cho các mẫu dữ liệu để rút ra được những tri thức cần thiêt. 1.4. Chức năng của khai phá dữ liệu Khai phá dữ liệu có hai chức năng cơ bản đó là: chức năng dự đoán và chức năng mô tả. 1.5. Các kỹ thuật khai phá dữ liệu Trong thực tế có nhiều kỹ thuật khai phá dữ liệu khác nhau nhằm thực hiện hai chức năng mô tả và dự đoán. - Kỹ thuật khai phá dữ liệu mô tả: có nhiệm vụ mô tả các tính chất hoặc các đặc tính chung của dữ liệu trong CSDL hiện có. Một số kỹ thuật khai phá trong nhóm này là: phân cụm dữ liệu (Clustering), tổng hợp (Summarisation), trực quan hoá (Visualization), phân tích sự phát triển và độ lệch (Evolution and deviation analyst),…. - Kỹ thuật khai phá dữ liệu dự đoán: có nhiệm vụ đưa ra các dự đoán dựa vào các suy diễn trên cơ sở dữ liệu hiện thời. Một số kỹ thuật khai phá trong nhóm này là: phân lớp (Classification), hồi quy   __________________________________________________________________________ - MHV: CH1102010 10 (Regression), cây quyết định (Decision tree), thống kê (statictics), mạng nơron (neural network), luật kết hợp,…. Một số kỹ thuật phổ biến thường được sử dụng để khai phá dữ liệu hiện nay là : 1.5.1. Phân lớp dữ liệu: Mục tiêu của phân lớp dữ liệu đó là dự đoán nhãn lớp cho các mẫu dữ liệu. Quá trình gồm hai bước: xây dựng mô hình, sử dụng mô hình để phân lớp dữ liệu( mỗi mẫu 1 lớp). Mô hình được sử dụng để dự đoán nhãn lớp khi mà độ chính xác của mô hình chấp nhận được. 1.5.2. Phân cụm dữ liệu: Mục tiêu của phân cụm dữ liệu là nhóm các đối tượng tương tự nhau trong tập dữ liệu vào các cum, sao cho các đối tượng thuộc cùng một lớp là tương đồng. 1.5.3. Khai phá luật kết hợp: Mục tiêu của phương pháp này là phát hiện và đưa ra các mối liên hệ giữa các giá trị dữ liệu trong cơ sở dữ liệu. Đầu ra của giải thuật luật kết hợp là tập luật kết hợp tìm được. Phương pháp khai phá luật kết hợp gồm có hai bước: - Bước 1: Tìm ra tất cả các tập mục phổ biến. Một tập mục phổ biến được xác định thông qua tính độ hỗ trợ và thoả mãn độ hỗ trợ cực tiểu. - Bước 2: Sinh ra các luật kết hợp mạnh từ tập mục phổ biến, các luật phải thoả mãn độ hỗ trợ và độ tin cậy cực tiểu. [...]... Tổng quan về chữ viết tay Chữ viết tay trực tuyến có được khi người viết sử dụng "bút và giấy diện tử" Thiết bị này sẽ nghi nhận lại vị trí tọa độ của đầu viết sau đó chuyển tải vào máy tính để hiển thị lại nét viết hay nhận dạng chữ viết để máy tính có thể hiểu được giống như khi gõ từ bàn phím Chữ viết tay trực tuyến có các những dạng sau: a Hộp(box): thiết bị có các ô để người viết viết vào từng ô... với dạng 1, việc quy về nhạn dạng từng chữ một vì các chữ đã được viết riêng vào các box Đối với dạng 2, việc tách các chữ viết ra với nhau không phải là quá khó nên cuối cùng là nhận dạng từng chữ một Còn đối với dạng 3, vì các chữ nối vào nhau, người viết viết liên tục không nhấc bút nên việc tách các chữ ra con nhiều khó khăn, nhất là người viết không thẳng hay các chữ đè lên nhau Để tách chữ ở dạng. .. 4.1 Mục đích và phương pháp thực hiện chương tr nh Mục đích: chương trình phải có khả năng nhận dạng độc lập người viết và kiểu viết( với một số kiểu cơ bản) Nghĩa là chương trinh phải nhận dạng mẫu chữ đã than gia huấn luyện Chương trình sẽ huấn luyện và nhận dạng theo bốn nhóm chữ viết latinh như sau: 1) Nhóm 1: Gồm các chữ số "0" đến "9" và các dấu +, -, *, /,= 2) Nhóm 2: Gồm các chữ viết hoa từ "A"... (Dynamic Time Warping) Có thể thấy phương pháp nhận dạng SVM là một phương pháp co tính tổng quát cao, có thể áp dụng cho nhiều bài toán Tuy nhiên có một đặc điểm là SVM đòi hỏi các dữ liệu đầu vào phải biểu diễn được trong một không gian Euclid có số chiều xác định để từ đó tính được các giá trị của hàm kernel Chữ viết tay không đáp ứng được yêu cầu này do số điểm của mỗi chữ viết khác nhau, khắc phục bàng... rời(Discrete): người viết không bị giới hạn của các ô mà có thể viết liên tiếp các chữ, tuy nhiên người viết phải chừa một khoảng trống thích hợp giữa các chữ c Chữ liên tục(Continuous): người viết viết các chữ liên tục, chữ này nối vào chữ kia mà không phải nhấc bút khỏi giấy Đây là cách viết tự nhiên nhất theo lối viết thông thường hàng ngày của con người Hình 3.2 Các chữ viết tay ... SVM để nhận dạng cho từng phần chữ và phần dấu + Kết quả thực nghiệm cho thấy mô hình nhận dạng có độ chính xác tương đối cao 2.3 M h nh nh n d ng chữ viết tay Trong phần này, em sẽ tập trung xây dựng mô hình nhận dạng chữ viết tay rời rạc theo phương pháp phân lớp SVM Công việc được thực hiện theo hai bước chính sau đây: Bước 1: Xây dựng mô hình huấn luyện Học... mẫu của một chữ viết tay Có những trường hợp trong một chữ viết có nhiều hơn một nét bút Các nét này cũng là một yếu tố quan trọng để nhận dạng không thể bỏ qua Học viên : Bùi Hữu Tiến - MHV: CH1102010 24 Báo cáo chuyên đề: Khai Phá Dữ Liệu Và Kho Dữ Liệu Một vấn đề quân trọng khác cùng một chữ có thể có nhiều cách viết khác nhau Ví dụ: Phương pháp SVM có tính... có thể được giải bằng toán tử Lagrange để biến đổi thành dạng đẳng thức Một điểm đặc biệt trong phương pháp SVM là siêu mặt phẳng h chỉ phụ thuộc vào các vector hỗ trợ Khác so với các phương pháp khác vì các Học viên : Bùi Hữu Tiến - MHV: CH1102010 22 Báo cáo chuyên đề: Khai Phá Dữ Liệu Và Kho Dữ Liệu phương pháp khác có kết quả phân loại phụ thuộc vào toàn bộ dữ... kernel sửa đổi sau: K(x,y) = e-γ DTW(x,y)2 Do đó tránh được việc phải tìm ra không gian để biểu diễn chữ viết Việc sử dụng DTW không ảnh hưởng gì đến các dặc tính còn lại của phương pháp SVM Như vậy tất cả các yếu tố cần thiết cho việc soạn thảo chương trình nhận dạng chữ viết tay bằng phương pháp SVM đã được xác định Chương tiếp theo sẽ trình bày kết quả của việc thực hiên chương trình ... trên R+ 2.2.Ứng dụng của SVM: - Trong việc nh n d ng chữ viết tay tiếng Việt +Dựa trên cơ sở các thành phần liên thông của ảnh,phân tập ký tự tiếng Việt thành 3 nhóm (box ,dạng chữ rời ,dạng chữ liên tục) và tách các ký tự có dấu thành các phần rời nhau +Sau đó xây dựng máy phân lớp SVM để nhận dạng cho từng phần chữ và phần dấu + Kết quả thực nghiệm cho thấy mô hình nhận dạng có độ chính xác tương đối . mô hình nhận dạng có độ chính xác tương đối cao. 2.3. Trong phần này, em sẽ tập trung xây dựng mô hình nhận dạng chữ viết tay rời rạc theo phương pháp phân. - MHV: CH1102010 15 Chương 2: Giới thiệu về Support vector machines 2.1 .Support Vector Machines (SVM) : Giới thiệu : SVM là một phương pháp phân lớp xuất phát từ lý thuyết học thống kê tiêu của phương pháp này là phát hiện và đưa ra các mối liên hệ giữa các giá trị dữ liệu trong cơ sở dữ liệu. Đầu ra của giải thuật luật kết hợp là tập luật kết hợp tìm được. Phương pháp khai

Ngày đăng: 09/04/2015, 21:32

Từ khóa liên quan

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

  • Đang cập nhật ...

Tài liệu liên quan