Tải bản đầy đủ (.pdf) (23 trang)

Phân loại dữ liệu bằng mạng nơ ron nhân tạo với thuật toán levenberg-marquardt

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (4.54 MB, 23 trang )

<span class="text_page_counter">Trang 1</span><div class="page_container" data-page="1">

<small>HỌC VIEN CƠNG NGHỆ BƯU CHÍNH VIỄN THONG</small>

<small>Lê Việt Linh</small>

<small>PHAN LOẠI DU LIEU BẰNG MẠNG NO RON NHÂN TẠOVỚI THUẬT TỐN LEVENBERG-MARQUARDT</small>

<small>Chun ngành: Hệ thống thơng tinMãsó: 60.48.01.04</small>

<small>TOM TAT LUẬN VĂN THẠC SĨ</small>

<small>HÀ NỘI - 2015</small>

</div><span class="text_page_counter">Trang 2</span><div class="page_container" data-page="2">

<small>Người hướng dẫn khoa học: Tiến sĩ Nguyễn Đình Hóa</small>

<small>Phản biện 1: PGS TS Nguyễn Ngọc Hóa</small>

<small>Phản biện 2: TS Lê Hồng Phương</small>

<small>Luận văn sẽ được bảo vệ trước Hội đồng chấm luận văn thạcsĩ tại Học việnCơng nghệ Bưu chính Viễn thơng</small>

<small>Vào lúc: 13 giờ 45 ngày 27 tháng 02 năm 2016</small>

<small>Có thê tìm hiéu luận văn tại:</small>

<small>- Thư viện của Học viện Công nghệ Bưu chính Viễn thơng</small>

</div><span class="text_page_counter">Trang 3</span><div class="page_container" data-page="3">

MỞ ĐẦU

1. Tính cấp thiết của đề tài

Hiện nay, việc bảo đảm chất lượng vệ sinh an tồn thực phẩm giữ vi

trí quan trọng trong sự nghiệp bảo vệ sức khỏe người dân, góp phần thúc đây sự tăng trưởng kinh tế, văn hóa xã hội. Tuy nhiên, việc sử dụng các chất phụ gia trong sản xuất đang dan trở nên phổ biến: các loại pham màu,

đường hóa học đang bị lạm dụng trong pha chế đồ uống: rượu, bia, nước

giải khát ... Thậm chí, tình hình sản xuất đồ uống giả, khơng đảm bảo chat lượng vẫn thường xuyên xảy ra. Theo Trung tâm kiểm soát dịch bệnh Mỹ CDC (Centers for Disease Control and Prevention) thống kê tháng 01/2015

[3] cho biết mỗi ngày có hơn sáu ca tử vong do ngộ độc bia rượu. Theo đó, hơn 2.200 người Mỹ chết do ngộ độc bia rượu hàng năm, 75% số người chết là những người có độ tudi từ 35-64. Ti trọng nay ở Việt Nam [11] còn cao hơn nhiều, khi chiếm tới 71,7% số ca bệnh gan ở nam giới, và 37,7% số ở nữ giới, ngoài ra, con số này là 36,2% số ca tai nạn ở nam giới ...

Bên cạnh việc tăng cường sự quản lý, điều hành của nhà nước trong

công tác thanh kiểm tra chất lượng vệ sinh an toàn thực phẩm, một nhu cầu

thiết thực đối với chúng ta là cẦn có một cơng cụ hỗ trợ, góp phần kiểm sốt từ khâu sản xuất. Mục tiêu là dựa trên nguồn dữ liệu về thành phan cấu tao, sản pham sẽ được phan loại, đánh giá, từ đó có sự điều chỉnh, nâng cao chất lượng, giảm thiểu sự rủi ro khi đưa vào sử dụng. Câu hỏi đặt ra là với khối lượng dữ liệu thu thập được, làm sao chúng ta có thể khai thác và lẫy thông tin. Kỹ thuật khai phá dữ liệu ra đời để phục vụ con

người thực hiện việc đó. Trong thực tế, nó đã được sử dụng trong các bài

toán cụ thé như phân loại khách huy động tiền gửi [7], phân loại kết qua game đánh bai [12], phân loại chất lượng của rượu [4]. Đó là các bài tốn

</div><span class="text_page_counter">Trang 4</span><div class="page_container" data-page="4">

thuộc lớp dự báo và phân loại, có thể xem là các bài tốn cơ bản và có nhiều ứng dụng thực tiễn.Đã có nhiều phương pháp được đưa ra để giải các lớp bài toán trên như phương pháp hồi quy [8], cây quyết định [2],

<small>mang nơ ron nhân tạo [1].</small>

2. Tổng quan vấn đề nghiên cứu

<small>Luận văn này được thực hiện với mục đích nghiên cứu làm sáng tỏ</small>

một số khía cạnh về mạng no ron truyền thăng nhiều lớp, đi sâu vao thuật toán Levenberg — Marquardt và ứng dụng trong giải quyết các bài toán

phân loại dữ liệu mà cụ thể là áp dụng vào bài toán phân loại chất lượng

<small>3. Mục đích nghiên cứu</small>

<small>Nghiên cứu các đặc trưng của mạng nơ ron nhân tạo, khả năng và các</small>

nguyên tắc để ứng dụng thành công mạng nơ ron nhân tạo trong thực tế.

<small>Nghiên cứu ứng dụng mạng nơ ron nhân tạo vào lớp bài toán phân loại.</small>

Nghiên cứu sử dụng phần mềm thích hợp cho việc xây dựng và ứng dụng nhanh chóng mạng nơ ron nhân tạo đề giải quyết các bài toán phân loại.

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

Nghiên cứu, tìm hiểu về mạng nơ ron truyền thăng và phương pháp huấn luyện Levenberg — Marquardt.

Ứng dụng của mạng nơ ron trong giải quyết bài toán phân loại chất

<small>lượng rượu.</small>

<small>5. Phương pháp nghiên cứu</small>

Phương pháp nghiên cứu tài liệu: nghiên cứu lý thuyết và ứng dụng

<small>mạng nơ ron nhân tạo trong bài toán phân loại.</small>

Phương pháp thực nghiệm: sử dụng phần mềm mô phỏng mạng nơ ron cho bài toán phân loại và đánh giá kết quả.

</div><span class="text_page_counter">Trang 5</span><div class="page_container" data-page="5">

Chương 1 - TONG QUAN VE MẠNG NO RON

<small>1.1. Mang nơ ron nhân tạo</small>

Mạng nơ ron nhân tạo là một hệ thống xử lý thơng tin được xây dựng

<small>trên cơ sở tơng qt hố mơ hình tốn học của nơ ron sinh học và phỏngtheo cơ chê làm việc của bộ não con người. Một nơ ron nhân tạo được thê</small>

hiện thông qua các thành phan cơ bản.

Tập các đầu vào: là tín hiệu vào của mạng nơ ron, các tín hiệu này

thường được đưa vao dưới dang | véc tơ R thành phan, hoặc tin hiệu

ra của các nơ ron thuộc lớp đằng trước.

Trọng số liên kết: là trọng số liên kết giữa tín hiệu vào thứ j cho nơ roni. Thơng thường các trọng số nay được khởi tạo ngẫu nhiên ở thời điểm khởi tạo mạng và được cập nhật liên tục trong quá trình học.

Bộ tổng (Hàm tổng): thường dùng dé tính tổng của các đầu vào đã được nhân với các trọng số liên kết của nó.

Độ lệch (bias): thường được đưa vào như một thành phần của hàm

Hàm truyền: hàm nay dùng dé xác định và giới han giá trị đầu ra của mỗi nơ ron. Nó nhận đầu vào là kết quả của hàm tổng kết hợp với độ lệch đã cho. Các hàm truyền rất đa dạng có thê là tuyến tính hoặc phi

Đầu ra: là tín hiệu đầu ra của một nơ ron, với mỗi nơ ron sẽ có tối đa một giá tri đầu ra.

<small>Vé mặt toán học câu trúc cua một nơ roni được biêu diễn bang biêuthức sau:</small>

a, =/Ô,p,+b) (1.3)

</div><span class="text_page_counter">Trang 6</span><div class="page_container" data-page="6">

<small>Trong đó:</small>

pj: là tín hiệu đầu vào thứ j

w: là trong số liên kết của nơ ron i cho đầu vào j ƒ: là hàm truyền

<small>b; : là độ lệch</small>

aj: đầu ra

<small>Như vậy cũng tương tự như nơ ron sinh học, nơ ron nhân tạo cũng</small>

nhận các tín hiệu đầu vào, xử lý (nhận các tín hiệu này với trọng số liên kết, tính tơng các tích thu được kết hợp với độ lệnh rồi gửi kết quả tới hàm truyền), và cho một tín hiệu dau ra là kết qua của hàm truyền.

1.2. Cau trúc của mạng nơ ron

Các loại mạng nơ ron nhân tạo được xác định bởi cách liên kết giữa các nơ ron, trọng số của các liên kết đó và hàm truyền tại mỗi nơ ron. Dưới

đây là một số kiến trúc mạng nơ ron điền hình.

Mạng tự kết hợp - autoassociative: là mạng có các nơ ron đầu vào cũng là các nơ ron đầu ra (mang Hopfield).

Kiến trúc truyền thắng - feedforward architechture: là kiểu kiến

trúc mạng khơng có các kết nối ngược trở lại từ các nơ ron đầu ra về các nơ ron đầu vào; mạng không lưu lại các giá trị output trước và

<small>các trạng thái kích hoạt của nơ ron.</small>

Kiến trúc phản hồi - Feedback architecture: là kiểu kiến trúc mạng có các kết nối từ nơ ron đầu ra tới nơ ron đâu vào.

<small>1.3. Các luật học của mạng nơ ron nhân tạo</small>

<small>1.3.1. Học có giám sát</small>

<small>1.3.2. Học khơng có giám sát1.3.3. Học bán giám sát</small>

</div><span class="text_page_counter">Trang 7</span><div class="page_container" data-page="7">

1.4. Ứng dụng của mạng nơ ron nhân tạo

Các nhóm ứng dụng mà mạng nơ ron nhân tạo đã được áp dụng rất

<small>có hiệu quả là:</small>

Bài tốn phân lớp, bài toán dự báo, bai toán điều khiến và tối ưu hố

Kết luận

Trong chương này chúng ta tìm hiểu các khái niệm và khả năng ứng

<small>dụng của mạng nơ ron nhân tạo. Mạng nơ ron nhân tạo được coi là một</small>

công cụ mạnh, mềm dẻo để giải quyết các bài tốn có tính phi tuyến, phức tạp và đặc biệt trong các trường hợp mà mối quan hệ giữa các q trình khơng dễ thiết lập một cách tường minh. Do đó, khả năng ứng dụng của nó là rất lớn đặc biệt trong bài toán phân loại. Trong chương tiếp theo, chúng ta sẽ tìm hiểu về mạng no ron nhiều lớp truyền thăng va các thuật toán

<small>huan luyện đôi với loại mạng này.</small>

</div><span class="text_page_counter">Trang 8</span><div class="page_container" data-page="8">

Chương 2 - MẠNG NO RON TRUYEN THANG VÀ THUẬT TOÁN

<small>LEVENBERG MARQUARDT</small>

2.1. Mang no ron truyền thang

Mang no ron truyén thang duoc chia thanh hai loai 1A mang perceptron một lớp và mang perceptron nhiéu lớp.

<small>2.1.1. Mang Perceptron 1 lớp</small>

Mang perceptron một lớp do F.Rosenblatt đề xuất năm 1960 là mạng truyền thăng chỉ một lớp vào và một lớp ra khơng có lớp an

2.1.1. Mạng Perceptron nhiều lớp (Multilayer Perceptron — MLP)

Mạng perceptron nhiều lớp còn được gọi là mạng truyền thắng nhiều lớp là sự mở rộng của mô hình mang perceptron một lớp với sự bổ sung thêm các lớp ân và các nơ ron trong lớp an này có hàm truyền (hàm kích

hoạt) dạng phi tuyến. Mạng MLP có một lớp an là mạng nơ ron nhân tạo

được sử dụng phổ biến nhất, nó có thể xap xỉ các hàm liên tục được định nghĩa trên một miền có giới hạn cũng như những hàm là tập hợp hữu hạn của các điểm rời rạc.

<small>2.2. Thuật toán Levenberg Marquardt</small>

Thuật toán Levenberg Marquardt là sự kết hợp của thuật toán steepest descent và thuật toán Gaussian-Newton. Trước khi đi tìm hiểu thuật tốn Levenberg Marquardt ta sẽ đi tìm hiểu 2 thuật tốn Steepest

<small>descent và Gaussian-Newton.</small>

2.2.1. Thuật tốn steepest descent (Độ doc lớn nhat)

Thuật tốn Steepest descent cịn được biết đến là thuật toán lan

truyền ngugc sai số, tuy nhiên nhược điểm của nó là hội tụ chậm. Trong

thuật này, vector gradient của mặt phăng sai số sẽ được tính tốn. Vector

</div><span class="text_page_counter">Trang 9</span><div class="page_container" data-page="9">

này chỉ ra đường dốc nhất và vị trí hiện tại, vì thế nếu ta di chuyển theo nó 1 khoảng ngăn ta có thé dat giá trị nhỏ nhất.

<small>Luật cập nhật của thuật toán Steepest descent:</small>

=w,-ag, ala hang số học (2.6)

<small>w</small> <sub>k+l</sub>

<small>Thuật toán Steepest descent lặp theo hướng cua các bước trước nên</small>

hội tụ không nhanh, sẽ hiệu quả hơn nếu trong mỗi bước của thuật toán

khi ta trượt theo hướng nao đó thi ta trượt đến chỗ thuật tốn dừng tại bước

lặp cuối cùng.

<small>2.2.2. Thuật toán Newton</small>

<small>Luật cập nhật cho phương pháp Newton:</small>

<small>Wier =Wk— Hy gx (2.17)</small>

<small>So sánh luật cập nhật giữa thuật toán Newton (2.17) và thuật toán</small>

Steepest Descent (2.6) ta thấy răng thuật tốn Newton có thêm ma trận

<small>nghịch dao Hessian.</small>

<small>2.2.3. Thuật toán Gaussian-Newton</small>

Trong thuật toán Newton luật cập nhật trọng số có ma trận nghịch đảo Hessian, là ma trận bậc đạo hàm bậc 2 của sai số tồn phương. Do đó,

việc tính tốn sẽ rất phức tạp. Để đơn giản hóa q trình tính tốn, ta sử

<small>dụng ma trận Jacobian J</small>

<small>Luật cập nhật của thuật toán Gaussian-Newton được trình bay như</small>

Wi =W, -(J¿7, ) Tie, (2.25)

<small>Luật cập nhật của Gaussian-Newton (2.25) so với phương phápNewton (2.17) đã khơng cịn ma trận đạo hàm bậc 2 Hessian.</small>

</div><span class="text_page_counter">Trang 10</span><div class="page_container" data-page="10">

<small>2.2.4. Thuật toán Levenberg - Marquardt</small>

Levenberg Marquardt được cải tiễn từ thuật toán Quasi-Newton dé tránh rơi vào cực tri địa phương. Thuật toán nay dựa trên khai triển bậc 2 của khai triển Taylor nhằm mục đích xác định giá trị nhỏ nhất của hàm sai số E. Các tham số tham gia quá trình điều chỉnh E chính là trọng số kết nối giữa các nơ ron của mạng. Khi đó các ma trận triển khai xung quanh E có

<small>dạng: H = J’J và gradient được tính là: ø=Jƒ e. Do việc tính tốn ma trận</small>

H phức tạp nên Levenberg Marquardt đã thay thế H bang giá trị gần đúng

<small>được xác định như sau:</small>

<small>HeJ' J tul (2.26)</small>

<small>Trong đó</small>

u là hệ số kết hợp (> 0)

<small>I là ma trận đơn vi.</small>

Khi sai số giảm xuống va E tiến gần tới điểm cực trị thì hé số kết hợp u sẽ được giảm và thành phan [J7 J] sẽ chiếm tỉ trọng ngày càng lớn trong

<small>công thức (2.26). Tính hiệu quả của thuật tốn Levenberg Marquardt do</small>

việc điều chỉnh ¿ quyết định. Đầu tiên w có giá trị rat lớn và giảm dan về 0 khi đạt gần tới điểm cực trị

Từ phương trình (2.26), có thể nhận thấy rằng các yếu tố trên đường chéo chính của ma trận xấp xỉ Hessian sẽ lớn hơn không. Với phép xấp xỉ

<small>nay thi ma trận HH luôn là khả nghịch.</small>

<small>Luật cập nhật Levenberg Marquardt như sau:</small>

wi =, —(JTJ,+/H) Se, (2.27)

Như đã trình bày ở phần đầu thuật tốn Levenberg Marquardt là sự kết hợp của thuật toán steepest descent và thuật tốn Gaussian-Newton, thuật tốn Levenberg Marquardt có chun đổi giữa 2 thuật toán trong quá

</div><span class="text_page_counter">Trang 11</span><div class="page_container" data-page="11">

trình học. Khi hệ số kết hợp là rất nhỏ (gần như bằng 0), phương trình (2.27) tiến gần tới phương trình (2.15) và thuật tốn Gaussian-Newton được sử dụng. Khi hệ số kết hợp p là rất lớn, phương trình (2.27) xấp xi

<small>phương trình (2.6) và thuật tốn steepest descent được sử dụng.</small>

Nếu hệ số kết hợp trong phương trình (2.27) là rất lớn, nó có thé được hiểu như là hệ số học trong thuật toán steepest descent (2.6) với:

a= }⁄

<sub>“</sub>

<small>So sánh các thuật toán</small>

Trong phan này sé thực hiện so sánh 4 thuật tốn đã được trình bay ở trên các thông số so sánh được lay trong [13]

<small>Bang 2.1 So sánh 4 thuật toán [13]</small>

</div><span class="text_page_counter">Trang 12</span><div class="page_container" data-page="12">

2.3. Cải tiến thuật toán Levenberg Marquardt

<small>Thuật toán Levenberg-Marquardt tương tự như các thuật toán tối ưukhác, là 1 thuật toán lặp, bắt đầu từ tham số khởi tạo với độ lỗi tính tốn được</small>

<small>cao, sau mỗi lần lặp độ lỗi giảm dần dựa trên việc chọn 1 tham số ước lượngphù hợp hơn. Trong phần này chúng ta sẽ đi tìm cách tối ưu hóa q trình huấn</small>

<small>luyện mạng no ron sử dụng thuật toán Levenberg Marquardt.</small>

<small>2.3.1. M6 tả bai toán</small>

Xuất phát từ thuật toán steepest descent và thuật toán Newton, luật cập

<small>nhật của thuật toán Levenberg Marquardt được viết lại như sau;</small>

<small>Luật cập nhật mới cua thuật toán Levenberg Marquardt được viết như</small>

sau: Aw =(Q+4ul)'g (2.39)

Từ biểu thức (2.39) ta có nhận xét như sau:

<small>- Kích thước của ma trận quasi Hessian và vector gradient gtuong</small>

ứng với số lượng các trọng số của mạng, không còn phụ thuộc vào

đầu vào và số lượng mẫu huấn luyện của mạng.

<small>- Ma trận quasi Hessian Q và vector gradient ø được tính tốn trực</small>

tiếp mà khơng phải tính toán và lưu trữ ma trận Jacobian J như luật

</div><span class="text_page_counter">Trang 13</span><div class="page_container" data-page="13">

<small>Quay trở lại với bài toán “nhận dạng mơ hình” đã được nêu ở phân</small>

2.3.1. Ta có kết quả so sánh giữa Levenberg Marquardt ngốc và Levenberg Marquardt cải tiến.

<small>Bảng 2.4 So sánh về bộ nhớ</small>

<small>Tiêu chí</small> <sup>Bài tốn “Nhận dạng mơ</sup>

Cấu trúc 784 = 1 single layer network

<small>Kích thước ma tran Jacobian 47,100,000</small>

<small>Kích thước cua vector W 785</small>

<small>Thuat toan Bộ nhớ</small>

<small>¬ Marquardt nguyên 385,68Mb</small>

Levenberg Marquardt cải tiễn 15,67Mb

</div><span class="text_page_counter">Trang 14</span><div class="page_container" data-page="14">

So sánh về thời gian

Sử dụng bài tốn parity-N để kiểm tra thời gian tính toán của Levenberg Marquardt trong cả 2 trương hợp ngốc và cải tiến (sử dụng

mạng FCC network). Ta thu được kết quả sau:

Marquardt cải tiễn

2.4. Vẫn đề học chưa đủ và học quá đà của mạng

Mạng nơ ron nhiều lớp là loại mạng nơ ron được sử dụng trong nhiều ứng dụng thực tế. Tuy nhiên, dé mạng có thé đưa ra kết quả tốt, chúng ta

cần quan tâm đến một số vấn đề có ảnh hưởng khá quan trọng đến hiệu quả làm việc của nó bao gồm: vấn đề học chưa đủ và học quá đà của

<small>mạng.</small>

</div><span class="text_page_counter">Trang 15</span><div class="page_container" data-page="15">

Kết luận chương

Chương này trình bay chi tiết về mang perceptron một lớp, mạng

MLP và thuật toán huấn luyện theo phương pháp Levenberg Marquardt,

cũng như các cách dé cải tiến thuật tốn Levenberg Marquardt làm cho nó

nhanh hơn và tiết kiệm bộ nhớ hơn. Trong chương tiếp theo chúng ta sẽ đi tìm hiểu quy trình xây dựng mạng nơ ron nhân tạo, để ứng dụng mạng nơ

<small>ron với thuật toán học được nêu trong chương này vào bai toán phân loạichât lượng của rượu.</small>

</div><span class="text_page_counter">Trang 16</span><div class="page_container" data-page="16">

Chương 3 - UNG DỤNG MẠNG NO RON NHÂN TẠO

TRONG BÀI TOÁN PHAN LOẠI CHAT LƯỢNG RƯỢU

3.1. Giới thiệu về bài toán phân loại 3.1.1. Pháp biểu bài toán

Phân loại là một trong những kỹ thuật phổ biến nhất của học máy và khai phá dữ liệu. Day là một tiến trình xử lý nhằm xếp các mẫu dit liệu hay các đối tượng vào một trong các lớp đã được định nghĩa trước. Cách sắp

xếp này dựa vào giá trị của các thuộc tính của một mẫu dữ liệu hay đối

tượng. Sau khi đã xếp tất cả các đối tượng biết trước vào các lớp tương

ứng, lúc này mỗi lớp được đặc trưng bởi tập các thuộc tính của các đối

<small>tượng chứa trong lớp đó.</small>

Bài tốn phân loại được phát biểu như sau: Cho một tập các mẫu huấn

<small>luyện (xi, Xi2, ...., xø, yi), =1,....,M. Nhiệm vụ là phải ước lượng được một</small>

bộ phân loại hay một mơ hình xap xỉ dưới dạng một ham y = f(x) chưa biết

mà có thé phân loại chính xác cho bất kỳ mẫu nào thuộc tập các mẫu huấn

3.1.2. Giới thiệu về bộ dữ liêu phân loại

<small>Luận văn sử dụng bộ dữ liệu phân loại rượu Vinho verde một loại</small>

rượu vang nỗi tiếng của vùng Minho phía đơng bắc Bồ Dao Nha. Dữ liệu được lấy từ kho dit liệu UCI [14] có hai bộ dữ liệu về rượu là bộ dữ liệu Tượu vang trăng và bộ dữ liệu rượu vang đỏ. Hai bộ dữ liệu này được thu thập từ tháng 5/2004 tới tháng 2/2007 bởi tổ chức CVRVV. Một tổ chức chuyên nghiên cứu để nâng cao chất lượng rượu Vinho verde.

Các dữ liệu của cả 2 bộ này được ghi lại bằng một hệ thống máy tính

tự động quản lý quá trình thử nghiệm mẫu rượu từ u cầu của nhà sản xuất đến phịng thí nghiệm. Bộ dữ liệu về rượu vang đỏ có 1599 mẫu, bộ

</div>

×