1. Trang chủ
  2. » Luận Văn - Báo Cáo

Tiểu luận môn Máy học và ứng dụng Sử dụng mạng nơron đa lớp để xây dựng ứng dụng nhận dạng chữ viết tay

29 1,3K 12

Đ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

Thông tin cơ bản

Định dạng
Số trang 29
Dung lượng 1,12 MB

Nội dung

CH ƯƠNG I : KHÁI NIỆM VỀ MÁY HỌC NG I : KHÁI NI M V MÁY H C ỆM VỀ MÁY HỌC Ề MÁY HỌC ỌCHọc, như trí thông minh, được mọi sinh vật áp dụng mọi nơi, mọi lúc trong nhiều hoàncảnh khác nhau n

Trang 1

Báo cáo đ án Máy h c và ng ồ án Máy học và ứng ọc và ứng ứng

S d ng m ng n ron đa l p ử dụng mạng nơron đa lớp ụng ạng nơron đa lớp ơron đa lớp ớp

đ xây d ng ng d ng nh n d ng ch vi t tay ể xây dựng ứng dụng nhận dạng chữ viết tay ựng ứng dụng nhận dạng chữ viết tay ứng ụng ận dạng chữ viết tay ạng nơron đa lớp ữ viết tay ết tay

GVHD: PGS TS Vũ Thanh Nguyên

Học viên thực hiện: Dương Hữu Phước

MSHV: CH1301105

Trang 2

M c l c ụng ụng

A CHƯƠNG I : KHÁI NIỆM VỀ MÁY HỌC 2

I Định nghĩa máy học : 3

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

1) Học có giám sát (Supervised Learning) 6

2) Học không giám sát: (Unsupervised Learning) 8

3) Học nửa giám sát 9

4) Một số thuật toán máy học : 9

B CHƯƠNG II: MÔ HÌNH HỆ THỐNG MẠNG NƠRON NHÂN TẠO 10

I Mạng neural nhân tạo: cấu trúc, nguyên tắc hoạt động và các giải thuật huấn luyện 10

1 Cấu trúc của mạng nơron nhân tạo 10

2 Nguyên tắc họat động mạng neural nhân tạo 13

3 Huấn luyện mạng neural : 14

II Ứng dụng demo: Nhận dạng chữ viết tay 23

1 Mục đích chương trình 23

2 Mô tả chương trình 24

Trang 3

A CH ƯƠNG I : KHÁI NIỆM VỀ MÁY HỌC NG I : KHÁI NI M V MÁY H C ỆM VỀ MÁY HỌC Ề MÁY HỌC ỌC

Học, như trí thông minh, được mọi sinh vật áp dụng mọi nơi, mọi lúc trong nhiều hoàncảnh khác nhau nên khó có thể định nghĩa một cách chính xác như chúng ta mong muốn.Các từ điển thì định nghĩa như sau: “Học giúp đạt được tri thức, hay gia tăng hiểu biết,hay có thêm kỹ năng trong một lãnh vực, là thực hiện công việc nghiên cứu tìm hiểu,thực hiện các chỉ dẫn, hay là áp dụng các kinh nghiệm tích lũy từ quá khứ vào hiện tại vàtương lai” và “Học là điều chỉnh để cải thiện hành vi ứng xử theo kinh nghiệm đạt được”,

Máy học là môn khoa học nghiên cứu kết hợp song song nhiều ngành khác nhau nhưkhoa học máy tính, tâm lý học, động vật học và như vậy có nhiều vấn đề kỹ thuật trongmáy học xuất phát từ các cố gắng của các nhà tâm lý học, nhà nghiên cứu về động vật để

có thể mô phỏng chính xác hơn các lý thuyết về phương pháp học của con người hayđộng vật ứng dụng vào các mô hình thuật toán trên máy tính

Cũng cần nói thêm rằng các khái niệm và kỹ thuật được phát triển trong máy học cũngsoi sáng trở lại nhiều khía cạnh được ẩn dấu trong quá trình học của sinh vật

Từ góc nhìn của khoa học máy tính, chúng ta có thể nói máy tính luôn luôn học ở bất

kỳ nơi nào khi mà có sự biến đổi về cấu trúc, có sự thay đổi trong chương trình hay dữliệu (các thay đổi dựa trên các dữ liệu vào hay dựa vào việc hồi đáp các thông tin từ bênngoài), máy tính học theo cách cải thiện công việc mà nó thực hiện trong tương lai

Nhưng có những thay đổi như thêm một record vào cơ sở dữ liệu hay đơn giản là xóatập tin thì không gọi là học Và ví dụ, sau khi nghe vài mẫu giọng nói của con người máytính tăng khả năng nhận dạng giọng nói, thì chúng ta hoàn toàn có thể nói là máy tính đãhọc

Trang 4

Máy học thường dùng khi hệ thống có sự biến đổi kết hợp với việc cải tiến chức năng

nhờ vào áp dụng trí thông minh nhân tạo Sự biến đổi hệ thống có thể hiểu một cách mở

rộng như hoàn thiện hệ thống hay khởi tạo hệ thống mới

Mọi người có thể tự hỏi: “Tại sao máy tính cần phải học? Tại sao không thiết kế máytính để nó thực hiện công việc mà chúng ta mong muốn ngay từ đầu?” Có vài lý do tạisao việc máy tính có thể học là quan trọng, nhất là về mặt kỹ thuật :

 Có vài công việc chúng ta không thể xác định một cách rỏ ràng khi thiết kế, ví

dụ : chúng ta có thể chỉ ra dữ liệu nhập hay dữ liệu xuất nhưng khó nắm bắt đượcmối quan hệ giữa chúng với nhau Chúng ta mong muốn máy tính có khả năngthêm vào cấu trúc của nó chức năng điều chỉnh các dữ liệu xuất cho phù hợp cả vớicác dữ liệu nhập khi nó rất lớn hay thể hiện được một cách gần đúng ràng buộctrong các quan hệ ẩn giấu của dữ liệu

I Đ nh nghĩa máy h c : ịnh nghĩa máy học : ọc và ứng

Máy học (Machine learning) là một lĩnh vực của trí tuệ nhân tạo liên quan đến

việc nghiên cứu và xây dựng các kĩ thuật cho phép các hệ thống “học” tự động từ

dữ liệu để giải quyết những vấn đề cụ thể Ví dụ như các máy có thể “học” cáchphân loại thư điện tử xem có phải thư rác (spam) hay không và tự động xếp thư vàothư mục tuơng ứng Máy học rất gần với suy diễn thống kê (statistical inference)tuy có khác nhau về thuật ngữ

Trang 5

Máy học có liên quan lớn đến thống kê, vì cả hai lĩnh vực đều nghiên cứu việcphân tích dữ liệu, nhưng khác với thống kê, máy học tập trung vào sự phức tạp củacác giải thuật trong việc thực thi tính toán Nhiều bài toán suy luận được xếp vàoloại bài toán NP-khó, vì thế một phần của máy học là nghiên cứu sự phát triển cácgiải thuật suy luận xấp xỉ mà có thể xử lý được.

Máy học có hiện nay được áp dụng rộng rãi bao gồm máy truy tìm dữ liệu, chẩnđoán y khoa, phát hiện thẻ tín dụng giả, phân tích thị trường chứng khoán, phânloại các chuỗi DNA, nhận dạng tiếng nói và chữ viết, dịch tự động, chơi trò chơi và

cử động robot (robot locomotion).

Dưới góc nhìn của trí tuệ nhân tạo, động lực chính học máy bởi là nhu cầuthu nhận tri thức (knowledge acquisition) Thật vậy, trong nhiều trường hợp ta cầnkiến thức chuyên gia là khan hiếm (không đủ chuyên gia ngồi phân loại lừa đảo thẻtín dụng của tất cả giao dịch hàng ngày) hoặc chậm vì một số nhiệm vụ cần đưa raquyết định nhanh chóng dựa trên xử lý dữ liệu khổng lồ (trong mua bán chứngkhoán phải quyết định trong vài khoảng khắc của giây chẳng hạn) và thiếu ổn địnhthì buộc phải cần đến máy tính Ngoài ra, đại đa số dữ liệu sinh ra ngày nay chỉ phùhợp cho máy đọc (computer readable) tiềm tàng ngưồn kiến thức quan trọng Máyhọc nghiên cứu cách thức để mô hình hóa bài toán cho phép máy tính tự động hiểu,

xử lý và học từ dữ liệu để thực thi nhiệm vụ được giao cũng như cách đánh giágiúp tăng tính hiệu quả

Tom Mitchell, giáo sư nổi tiếng của Đại học Carnegie Mellon University CMU định nghĩa cụ thể và chuẩn mực hơn như sau: "Một chương trình máy tính

-CT được xem là học cách thực thi một lớp nhiệm vụ NV thông qua trải nghiệm

KN, đối với thang đo năng lực NL nếu như dùng NL ta đo thấy năng lực thực thicủa chuơng trình có tiến bộ sau khi trải qua KN" (máy đã học)

Lợi điểm của các phương pháp máy học là nó phát sinh ra các luật tườngminh, có thể được sửa đổi,hoặc được huấn luyện trong một giới hạn nhất định Các

Trang 6

phương pháp máy học hoạt động trên các dữ liệu có đặc tả thông tin Các thông tinđược trình bày theo một cấu trúc gồm 4 mức được gọi là tri thức kim tự tháp(pyramid knowledge).

Máy học kiểm tra những ví dụ trước đó và kiểm tra luôn cả những kết quả củachúng khi xuất và học làm cách nào để tái tạo lại những kết quả này và tạo nên những

sự tổng quát hóa cho những trường hợp mới

Nói chung, máy học sử dụng một tập hữu hạn dữ liệu được gọi là tập huấnluyện Tập này chứa những mẫu dữ liệu mà nó được viết bằng mã theo một cáchnào đó để máy có thể đọc và hiểu được Tuy nhiên, tập huấn luyện bao giờ cũnghữu hạn do đó không phải toàn bộ dữ liệu sẽ được học một cách chính xác

II Phân lo i máy h c ạng nơron đa lớp ọc và ứng

Một tiến trình máy học gồm 2 giai đoạn:

 Giai đoạn học (learning): hệ thống phân tích dữ liệu và nhận ra mối quan hệ (có thể

là phi tuyến hoặc tuyến tính) giữa các đối tượng dữ liệu Kết quả của việc học cóthể là: nhóm các đối tượng vào trong các lớp, tạo ra các luật, tiên đoán lớp cho cácđối tượng mới

Trang 7

 Giai đoạn thử nghiệm (testing): mối quan hệ (các luật, lớp ) được tạo ra phải đượckiểm nghiệm lại bằng một số hàm tính toán thực thi trên một phần của tập dữ liệuhuấn luyện hoặc trên một tập dữ liệu lớn

Các thuật toán máy học được chia làm 3 loại: học giám sát, học không giám sát và họcnửa giám sát

Đây là cách học từ những mẫu dữ liệu mà ở đó các kỹ thuật máy học giúp hệthống xây dựng cách xác định những lớp dữ liệu Hệ thống phải tìm một sự mô tảcho từng lớp (đặc tính của mẫu dữ liệu)

Người ta có thể sử dụng các luật phân loại hình thành trong quá trình học vàphân lớp để có thể sử dụng dự báo các lớp dữ liệu sau này

Thuật toán học có giám sát gồm tập dữ liệu huấn luyện M cặp:

S = {(xi, cj), i=1,…,M; j=1,…,C}

Các cặp huấn luyện này được gọi là mẫu, với xi là vector n-chiều còn gọi là vector đặc trưng, cj là lớp thứ j đã biết trước.

là H Đối với một hay nhiều giả thuyết, mà ước lượng tốt nhất hàm không được biết chính xác f : x  c.

Thuật toán máy học tìm ra những giả thuyết bằng cách khám phá ra những đặctrưng chung của những ví dụ mẫu thể hiện cho mỗi lớp

Kết quả nhận được thường ở dạng luật (Nếu thì)

Khi áp dụng cho những mẫu dữ liệu mới, cần dựa trên những giả thuyết đã có

để dự báo những phân lớp tương ứng của chúng Nếu như không gian giả thuyết

Trang 8

lớn, thì cần một tập dữ liệu huấn luyện đủ lớn nhằm tìm kiếm một hàm xấp xỉ tốt

nhất f.

Tùy thuộc vào mức độ của thuật toán học giám sát, người ta có những mô hìnhhọc giám sát như sau:

việc tương tự, nhưng không xác định Vì thế hệ thống phải hiệu chỉnh phản hồitrước đó bằng cách tạo ra một luật mới có thể áp dụng cho trường hợp mới

học lưu trữ tất cả các trường hợp, cùng với kết quả đầu ra của chúng Khi bắt gặpmột trường hợp mới, nó sẽ cố gắng hiệu chỉnh đến trường hợp mới này cách xử lýtrước đó của nó đã được lưu trữ

hợp những giải pháp nhằm chỉ ra tại sao mỗi phương pháp là thành công hay khôngthành công Sau khi những giải thích này được tạo ra, chúng sẽ được dùng để giảiquyết những vấn đề mới

Đây là việc học từ quan sát và khám phá Hệ thống khai thác dữ liệu được ứngdụng với những đối tượng nhưng không có lớp được định nghĩa trước, mà để nóphải tự hệ thống quan sát những mẫu và nhận ra mẫu Hệ thống này dẫn đến mộttập lớp, mỗi lớp có một tập mẫu được khám phá trong tập dữ liệu

Học không giám sát còn gọi là học từ quan sát và khám phá

Trong trường hợp chỉ có ít, hay gần như không có tri thức về dữ liệu đầu vào,khi đó một hệ thống học không giám sát sẽ khám phá ra những phân lớp của dữ

Trang 9

liệu, bằng cách tìm ra những thuộc tính, đặc trưng chung của những mẫu hìnhthành nên tập dữ liệu

Một thuật tốn máy học giám sát luơn cĩ thể biến đổi thành một thuật tốn máyhọc khơng giám sát (Langley 1996)

Đối với một bài tốn mà những mẫu dữ liệu được mơ tả bởi n đặc trưng, người

ta cĩ thể chạy thuật tốn học giám sát n-lần, mỗi lần với một đặc trưng khác nhau

đĩng vai trị thuộc tính lớp, mà chúng ta đang tiên đốn

Kết quả sẽ là n tiêu chí phân lớp (n bộ phân lớp), với hy vọng là ít nhất một trong n bộ phân lớp đĩ là đúng.

3) H c n a giám sát ọc và ứng ử dụng mạng nơron đa lớp

Học nửa giám sát là các thuật tốn học tích hợp từ học giám sát và học khơnggiám sát Việc học nửa giám sát tận dụng những ưu điểm của việc học giám sát và họckhơng giám sát và loại bỏ những khuyết điểm thường gặp trên hai kiểu học này

4) M t s thu t tốn máy h c : ột số thuật tốn máy học : ố thuật tốn máy học : ận dạng chữ viết tay ọc và ứng

Thuật Tốn Nạve Bayes

Mơ hình Hệ thống mạng Nơrơn Lan truyền ngược – Backpropogation Neural Network (FNN)

Mơ hình hệ thống mạng Nơrơn dạng hàm radial - RADIAL BASIS FUNCTION NEURAL NETWORKS (RBFNNs)

Mơ Hình Hệ Thống Mạng Nơrơn mờ hồi quy - RECURRENT FUZZY NEURAL NETWORK (RFNNs)

Mơ Hình Hệ thống Fuzzy Artmap Neural Network

Mơ hình Hệ luật mờ - Standard Additive Model (SAM)

Trang 10

Giải Thuật Di Truyền

Thuật toán Support Vector machine (SVMs)

Thuật toán Fuzzy Support Vector machine (FSVMs)

Thuật toán PageRank

Thuật toán Weighted PageRank

Thuật toán Topic Sensitive PageRank

B CH ƯƠNG I : KHÁI NIỆM VỀ MÁY HỌC NG II: MÔ HÌNH H TH NG M NG N RON NHÂN ỆM VỀ MÁY HỌC ỐNG MẠNG NƠRON NHÂN ẠNG NƠRON NHÂN ƠNG I : KHÁI NIỆM VỀ MÁY HỌC

T O ẠNG NƠRON NHÂN

Theo nghĩa sinh học, mạng nơ-ron là một tập hợp các dây thần kinh kết nối vớinhau Ngày nay, thuật ngữ này còn dùng để chỉ mạng nơ-ron nhân tạo, cấu thành từ các

nơ-ron nhân tạo Do đó thuật ngữ 'mạng nơ-ron' xác định hai khái niệm phân biệt:

 Mạng nơ-ron sinh học là một mạng lưới (plexus) các nơ-ron có kết nối hoặc có liên

quan về mặt chức năng trực thuộc hệ thần kinh ngoại biên (peripheral nervous

kinh học (neuroscience), nó thường được dùng để chỉ một nhóm nơ-ron thuộc hệ

thần kinh là đối tượng của một nghiên cứu khoa học nhất định

 Mạng nơ-ron nhân tạo được thiết kế để mô hình một số tính chất của mạng nơ-ronsinh học, tuy nhiên, khác với các mô hình nhận thức, phần lớn các ứng dụng lại cóbản chất kỹ thuật

I M ng neural nhân t o: c u trúc, nguyên t c ho t đ ng và các ạng nơron đa lớp ạng nơron đa lớp ấu trúc, nguyên tắc hoạt động và các ắc hoạt động và các ạng nơron đa lớp ột số thuật toán máy học :

gi i thu t hu n luy n ải thuật huấn luyện ận dạng chữ viết tay ấu trúc, nguyên tắc hoạt động và các ện.

1 C u trúc c a m ng n ron nhân t o ấu trúc, nguyên tắc hoạt động và các ủa mạng nơron nhân tạo ạng nơron đa lớp ơron đa lớp ạng nơron đa lớp

Mạng neural nhân tạo là một mạng gồm một tập các node được kết nối với nhaubằng các cạnh có trọng số, mỗi node là một đơn vị tính toán thường gọi là perceptron

Trang 11

Một perceptron (Hình 1) thực hiện một công việc rất đơn giản: nó nhận tín hiệuvào từ các perceptron phía trước hay một nguồn bên ngoài và sử dụng chúng để tínhtín hiệu ra Mỗi perceptron có thể có nhiều tín hiệu đầu vào nhưng chỉ có một tín hiệuđầu ra duy nhất Đôi khi các perceptron còn có một giá trị gọi là độ lệch (bias) đượcgộp vào các tính hiệu đầu vào để tính tín hiệu ra.

Trong một mạng nơron có ba kiểu perceptron:

1) Các perceptron đầu vào, nhận tín hiệu từ bên ngoài;

2) Các perceptron đầu ra, gửi dữ liệu ra bên ngoài;

3) Các perceptron ẩn, tín hiệu vào của nó được truyền từ các perceptron khác vàtín hiệu ra được truyền đến các perceptron khác trong mạng

Khi nhận được các tín hiệu đầu vào, một perceptron sẽ nhân mỗi tín hiệu vớitrọng số tương ứng rồi lấy tổng các giá trị vừa nhận được Kết quả sẽ được đưa vàomột hàm số gọi là hàm kích hoạt mà đôi khi còn gọi là hàm chuyển để tính ra tín hiệuđầu ra

Có 4 loại hàm kích hoạt thường dùng:

1) Hàm đồng nhất (Identity function):

Trang 12

1) Mạng truyền thẳng: Một perceptron ở lớp đứng trước sẽ kết nối với tất cả cácperceptron ở lớp đứng sau Tín hiệu chỉ được truyền theo một hướng từ lớp đầu vào qua các lớp ẩn (nếu có) và đến lớp đầu ra Nghĩa là tín hiệu ra của một perceptron không được phép truyền cho các perceptron trong cùng lớp hay ở lớp trước Đây là loại mạng rất phổ biến và được dung nhiều trong việc dự báo dữ liệu chuỗi thời gian Bài báo cáo này chỉ tập trung vào mô hình mạng này

Trang 13

2) Mạng hồi quy: Khác với mạng truyền thẳng, mạng hồi quy có chứa các liênkết ngược từ một perceptron đến perceptron ở lớp trước nó

2 Nguyên t c h at đ ng m ng neural nhân t o ắc hoạt động và các ọc và ứng ột số thuật toán máy học : ạng nơron đa lớp ạng nơron đa lớp

Trong mạng neural truyền thẳng nhiều lớp, các tín hiệu sẽ được truyền từ cácperceptron đầu vào qua các perceptron ở lớp ẩn (nếu có) và đến các perceptron ở lớp đầu

ra Các perceptron đầu vào là các perceptron đặc biệt, chúng không thực hiện một tínhtoán nào cả mà chỉ truyền tín hiệu từ môi trường ngoài sang các perceptron ở lớp sau.Một perceptron i không phải là perceptron ở lớp đầu vào sẽ tính giá trị đầu ra của nó nhưsau Đầu tiên nó sẽ tính tổ hợp tuyến tính các giá trị đầu vào của mình

Ở đây pred(j) là các perceptron đứng trước i và kết nối với i, sj là đầu ra của cáperceptron này và cũng là đầu vào của I, wij trọng số của cạnh nối từ perceptron j đếnperceptron i, là độ lệch (bias) của perceptron i Đôi khi giá trị độ lệch được biểu diễn

Trang 14

bằng một trọng số của một cạnh kết nối từ một perceptron giả có giá trị đầu ra luôn là 1đến perceptron i Sau đó giá trị neti sẽ được truyền vào hàm kết hợp để tính giá trị đầu racủa si của perceptron i Nếu perceptron i là perceptron ở tầng suất của mạng thì si chính làtín hiệu đầu ra của mạng neural, nếu không thì si sẽ được truyền đến làm giá trị đầu vàocho các perceptron ở lớp kế sau Ví dụ nếu hàm kích hoạt là hàm sigmoid thì si được tínhnhư sau :

Mạng neural nhân tạo có thể được xem như một hàm số từ một tập các giá trị đầuvào đến một tập các giá trị đầu ra có các tham số là số lớp, số perceptron trên mỗi lớp vàcác tập hợp các trọng số wij Bài toán trên mạng neural là làm sao xác định được cácthông số trên để mạng neural thực hiện được yêu cầu mong muốn Điều này được thựchiện qua một quá trình gọi là quá trình huấn luyện mạng

3 Hu n luy n m ng neural : ấu trúc, nguyên tắc hoạt động và các ện ạng nơron đa lớp

Chức năng của một mạng nơron được quyết định bởi các nhân tố như: hình dạngmạng (số lớp, số đơn vị trên mỗi lớp, cách mà các lớp được liên kết với nhau) và cáctrọng số của các liên kết bên trong mạng Hình dạng của mạng thường là cố định, và cáctrọng số được quyết định bởi một thuật toán huấn luyện (training algorithm) Tiến trìnhđiều chỉnh các trọng số để mạng “nhận biết” được quan hệ giữa đầu vào và đích mongmuốn được gọi là học (learning) hay huấn luyện (training) Rất nhiều thuật toán huấnluyện đã được phát minh để tìm ra tập trọng số tối ưu làm giải pháp cho các bài toán Cácthuật toán đó có thể chia làm hai nhóm chính: Học có giám sát (Supervised learning) vàHọc không có giám sát (Unsupervised Learning)

Học có giám sát: mạng được huấn luyện bằng cách cung cấp cho nó các cặp mẫuđầu vào và các đầu ra mong muốn (target values) Các cặp này có sẵn trong quá trình thunhập dữ liệu Sự khác biệt giữa các đầu ra theo tính toán trên mạng so với các đầu ra

Ngày đăng: 21/05/2015, 12:49

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w