Mạng Nơ ron

Một phần của tài liệu Kỹ thuật khai phá dữ liệu và ứng dụng xây dựng cơ sở tri thức (Trang 30 - 33)

Mạng nơ ron là một mô hình dựa trên hoạt động của bộ não con người. Mặc dù được mô tả là một mạng, tuy nhiên một mạng nơ ron đơn giản là một thuật toán với đầu vào và đầu ra. Mạng nơ ron được dùng trong khai phá dữ liệu nhằm mục đích dự đoán kết quả dựa vào các thuộc tính đầu vào. Mô hình mạng nơ ron được mô tả trong hình 3.2

Hình 3.2 Ví dụ một mạng nơ ron

Mạng trong hình 3.2 bao gồm 6 nút được ký hiệu A,B,C,D,E,F. Các nút A, B, C là các nút vào, tạo thành tầng vào (input layer). Nút F là nút ra, nút này thuộc tầng ra (output layer). Trong trường hợp này chỉ có 1 nút ra, tuy nhiên mạng nơ ron không hạn chế số lượng nút ra. Nút D và E là các nút ẩn, chúng thuộc tầng ẩn (hidden layer) của mạng. Số lượng các nút ẩn tuỳ thuộc vào số nút vào và độ phức tạp của vấn đề. Quá nhiều nút ẩn sẽ dẫn tới kết quả quá phù hợp (overfitting), quá ít nút ẩn sẽ dẫn tới kết quả có độ chính xác thấp. Việc xác định số nút ẩn phù hợp là một phần quan trọng của mọi quá trình khai phá dữ liệu sử dụng mạng nơ ron. Một phương thức được dùng là sử dụng các thuật toán tìm kiếm để đánh giá các mạng với số nút ẩn khác nhau nhằm tìm ra số nút thích hợp.

Nguyễn Tiến Thành – Công nghệ phần mềm K44 30 -2 1 -5 -1 2 2 -2 1 A B C D E F

Kỹ thuật khai phá dữ liệu và ứng dụng xây dựng cơ sở tri thức

Mạng trong hình 3.2 được gọi là kết nối hoàn toàn vì mỗi nút trong một tầng đều có đường kết nối với tất cả các nút ở tầng tiếp theo. Các con số trên mạng biểu thị trọng số của kết nối. Trọng số này được xác định trong quá trình học bằng mạng.

Trọng tâm của thuật toán mạng nơ ron bao gồm một tập các phép toán để tính tổng trọng số của đầu vào tại mỗi nút. Ngoài ra, mỗi nút có một hàm truyền dùng để tính giá trị ra từ các giá trị vào.

Trong hầu hết các mạng nơ ron, mục đích của việc học là tìm ra một tập trọng số phù hợp nhất với dữ liệu học mà không có sự quá phù hợp. Do trọng số là các giá trị liên tục nên số lượng tổ hợp các giá trị trọng số gần như là vô hạn. Cho dù hạn chế bằng các khoảng giá trị cụ thể thì số tổ hợp vẫn rất lớn. Việc tìm ra tổ hợp trọng số tốt nhất là một vấn đề lớn, nói chung không thể thực hiện bằng phương pháp thống kê thông thường. Một số kỹ thuật tìm kiếm, trong đó bao gồm giải thuật di truyền được sử dụng cho mục đích này. Một trong những kỹ thuật thường dùng là thuật toán lan truyền ngược. Thuật toán này khởi đầu với một giải pháp bao gồm một tập trọng số ngẫu nhiên. Sau đó dùng mạng với tập trọng số này khảo sát một trường hợp được lấy từ tập học. Mạng sẽ tính toán kết quả đầu ra, kết quả này được so sánh với kết quả thực tế để tính sai số. Các trọng số sẽ được điều chỉnh sao cho nếu gặp trường hợp này thì sai số sẽ thấp hơn. Cách thực hiẹn là sử dụng các hàm toán học để khảo sát từ đầu ra quay về các nút trong mạng. Lần lượt với mỗi nút, thuật toán sẽ tính toán độ ảnh hưởng của nó đến sai số đầu ra, rồi tiến hành hiệu chỉnh. Theo cách này sai số sẽ được truyền ngược qua toàn bộ mạng, làm cho tất cả các trọng số gây ra sai số đều được hiệu chỉnh.

Vòng lặp trên được lặp lại với mỗi trường hợp trong tập học, với những hiệu chỉnh nhỏ được thực hiện sau mỗi trường hợp. Khi toàn bộ tập học đã được xử lý xong, quá trình lại được lặp lại từ đầu. Việc học bằng mạng nơ

ron có thể yêu cầu từ hàng trăm đến hàng nghìn vòng lặp như vậy, điều này làm tăng độ hiệu quả của phương pháp.

Mức độ hiệu chỉnh giá trị trong mỗi vòng lặp được gọi là tỷ lệ học, thường vào khoảng 5%. Điều này có nghĩa là sau khi tính tổng số trọng số cần hiệu chỉnh để thu được kết quả dự đoán tốt cho một trường hợp, lần hiệu chỉnh tiếp theo sẽ chỉ thực hiện với 5% số trọng số trên. Lý do là nếu đặt tỷ lệ học quá cao, chẳng hạn 100% sẽ làm cho mạng chỉ được học với trường hợp sau cùng được đưa vào.

Để xây dựng một mạng nơ ron cần xác định được các yếu tố sau: - Mô hình mạng : bao gồm số lượng nút ẩn, số tầng ẩn, các kết nối - Hàm truyền : Một hàm s(u) là một hàm truyền nếu nó thoả mãn điều

kiện : là hàm bị chặn, đơn điệu tăng và liên tục. Các hàm sau đây hay được dùng : u e u s 1 1 1 ) ( + = u u e e u s −− + − = 1 1 ) (

- Tỷ lệ học : nếu tỷ lệ học quá lớn thì kết quả sẽ dao động. Ngược lại, tỷ lệ học quá thấp sẽ làm cho quá trình học tốn nhiều thời gian hơn cần thiết.

Trong quá trình học bằng mạng nơ ron, thuật toán duyệt qua dữ liệu rất nhiều lần. Để kiểm soát điểm dừng của thuật toán, mạng nơ ron sử dụng các luật kết thúc như sau :

- Dừng sau một số vòng lặp xác định - Dừng khi sai số đạt tới ngưỡng

- Dừng khi sai số không được cải thiện sau một số vòng lặp

Nguyễn Tiến Thành – Công nghệ phần mềm K44 32

Kỹ thuật khai phá dữ liệu và ứng dụng xây dựng cơ sở tri thức

Một phần của tài liệu Kỹ thuật khai phá dữ liệu và ứng dụng xây dựng cơ sở tri thức (Trang 30 - 33)