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

Phương pháp huấn luyện mạng nơ ron sử dụng giải thuật di truyền

83 8 0

Đ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 83
Dung lượng 2,2 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Mạng nơ ron sinh học Mạng nơ ron bao gồm vô số các nơ ron được liên kết truyền thông với nhau trong mạng, hình 1.1 là một phần của mạng nơ ron bao gồm hai nơ ron.. Khi học tập và làm vi

Trang 1

Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/

Thái Nguyên 2015

PHAN ANH TÚ

PHƯƠNG PHÁP HUẤN LUYỆN MẠNG NƠ RON SỬ

DỤNG GIẢI THUẬT DI TRUYỀN

Chuyên ngành: Khoa học máy tính

ĐẠI HỌC THÁI NGUYÊN

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN & TRUYỀN THÔNG

Trang 2

Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/

LỜI CAM ĐOAN

Tôi xin cam đoan đây là công trình nghiên cứu của tôi dưới sự định hướng của thầy hướng dẫn, các kiến thức trong luận văn được hệ thống từ các tài liệu đã được công bố và được trích dẫn đầy đủ

Các kết của nghiên cứu và chạy thử nghiệm đều là trung thực dựa trên chương trình cài đặt kèm theo nghiên cứu này

Thái Nguyên, ngày 20 tháng 7 năm 2015

Học viên

Trang 3

Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/

LỜI CẢM ƠN

Luận văn được thực hiện tại trường Đại học Công nghệ thông tin & Truyền thông – Đại học Thái Nguyên, dưới sự hướng dẫn của thầy TS Phạm Thanh Hà

Tôi xin bày tỏ lòng biết ơn sâu sắc tới thầy TS Phạm Thanh Hà; người

đã có những định hướng giúp tôi lựa chọn đề tài và hoàn thành đề tài nghiên cứu của mình Thầy đã ân cần chỉ bảo, giảng giải cho tôi và động viên tôi rất nhiều trong quá trình thực hiện đề tài

Tôi cũng xin gửi lời chân thành cảm ơn tới quý thầy cô thuộc phòng Đào tạo, khoa công nghệ thông tin trường Đại học Công nghệ thông tin và truyền thông đã giúp đỡ tôi, tạo mọi điều kiện thuận lợi để tôi hoàn thành luận văn này

Cuối cùng, tôi xin gửi lời cảm ơn tới gia đình đã cho tôi những chỗ dựa vững chắc để tôi hoàn thành tốt quá trình học tập của mình trong thời gian qua

Trang 4

Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/

MỤC LỤC

LỜI CAM ĐOAN i

LỜI CẢM ƠN iii

MỤC LỤC iv

DANH MỤC CÁC KÝ HIỆU VÀ TỪ VIẾT TẮT vi

DANH MỤC CÁC BẢNG vii

DANH MỤC CÁC HÌNH VẼ viii

MỞ ĐẦU 1

CHƯƠNG 1: MẠNG NƠ RON NHÂN TẠO 3

1.1 Các khái niệm về mạng nơ ron 3

1.1.1 Mạng nơ ron sinh học 3

1.1.2 Khái niệm mạng nơ ron nhân tạo 4

1.2 Mạng nơ ron truyền thẳng nhiều lớp MLP 11

1.3 Các luật học của mạng nơ ron 12

1.4 Thuật toán huấn luyện lan truyền ngược sai số - Back Propagation 18

Kết luận chương 1 26

CHƯƠNG 2: GIẢI THUẬT DI TRUYỀN 27

2.1 Các khái niệm cơ bản về giải thuật di truyền 27

2.2 Giải thuật di truyền mã hóa nhị phân 29

2.3 Cơ chế hoạt động của giải thuật di truyền 33

2.4 Giải thuật di truyền mã hóa số thực 37

2.4.1 Nhóm toán tử đột biến 39

2.4.2 Nhóm toán tử lai tạo 41

Kết luận chương 2 44

CHƯƠNG 3: ỨNG DỤNG GIẢI THUẬT DI TRUYỀN TRONG HUẤN LUYỆN MẠNG NƠ RON 45

3.1 Xây dựng giải thuật di truyền huấn luyện mạng 45

Trang 5

Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/

3.2 Một số kết quả huấn luyện mạng xấp xỉ hàm XOR 49

3.2.1 Sử dụng phương pháp lan truyền ngược sai số truyền thống 50

3.2.2 Sử dụng phương pháp huấn luyện nhờ giải thuật di truyền 51

3.3 Một số kết quả huấn luyện mạng xấp xỉ hàm hình chuông 53

3.3.1 Huấn luyện bằng lan truyền ngược sai số 55

3.3.2 Huấn luyện bằng giải thuật di truyền 56

3.4 Xấp xỉ XOR – XOR 66

3.4.1 Huấn luyện bằng mạng nơ ron 67

3.4.2 Huấn luyện bằng giải thuật di truyền 70

Kết luận chương 3 73

KẾT LUẬN 74

TÀI LIỆU THAM KHẢO 75

Trang 6

Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/

DANH MỤC CÁC KÝ HIỆU VÀ TỪ VIẾT TẮT

Trang 7

Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/

DANH MỤC CÁC BẢNG

Bảng 2.1: Bảng quá trình chọn lọc các cá thể có độ thích nghi tốt 32

Bảng 2.2: Bảng quá trình chọn lọc các cá thể có độ thích nghi tốt 33

Bảng 3.1 Kết quả xấp xỉ hàm XOR sử dụng phương pháp lan truyền ngược sai số 51

Bảng 3.2 Kết quả xấp xỉ hàm XOR sử dụng giải thuật di truyền lần 1 52

Bảng 3.3 Kết quả xấp xỉ hàm XOR sử dụng giải thuật di truyền lần 2 53

Bảng 3.4 Một số mẫu( theo dòng) sinh ra bởi chương trình 54

Bảng 3.5 Kết quả xấp xỉ hàm hình chuông sử dụng giải thuật di truyền lần 1 57

Bảng 3.6 Kết quả xấp xỉ hàm hình chuông sử dụng giải thuật di truyền lần 2 60

Bảng 3.7 Kết quả xấp xỉ hàm hình chuông sử dụng giải thuật di truyền lần 3 64

Bảng 3.8 Kết quả xấp xỉ hàm XOR-XOR sử dụng phương pháp lan truyền ngược sai số lần 1 68

Bảng 3.9 Kết quả xấp xỉ hàm XOR-XOR sử dụng phương pháp lan truyền ngược sai số lần 2 69

Bảng 3.10 Kết quả xấp xỉ hàm XOR-XOR sử dụng giải thuật di truyền lần 1 71

Bảng 3.11 Kết quả xấp xỉ hàm XOR-XOR sử dụng giải thuật di truyền lần 2 72

Trang 8

Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/

DANH MỤC CÁC HÌNH VẼ

Hình 1.1: Cấu tạo của một nơ ron 3

Hình 1.2: Mô hình của một nơ ron 5

Hình 1.3: Cấu trúc của một nơ ron 6

Hình 1.4: Hàm kích hoạt bước nhảy 8

Hình 1.5: Hàm kích hoạt hàm dấu 9

Hình 1.6: Hàm kích hoạt hàm dốc 9

Hình 1.7: Hàm kích hoạt sigmoid đơn cực 10

Hình 1.8: Hàm kích hoạt sigmoid đa cực 10

Hình 1.9: Mạng nơ ron truyền thẳng MLP 11

Hình 1.10: Học có giám sát 13

Hình 1.11: Học không có giám sát 15

Hình 1.12: Mạng MLP lan truyền ngược sai số 19

Hình 1.13: Thuật toán lan truyền ngược sai số 23

Hình 2.1: Bánh xe rulet lựa chọn nhiễm sắc thể 36

Hình 2.2: Biểu diễn giá trị của 40

Hình 3.1: Mã hóa trọng số biểu diễn thập phân trong mạng nơ ron 47

Hình 3.2: Sơ đồ giải thuật di truyền 48

Trang 9

Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/

MỞ ĐẦU

1 Đặt vấn đề

Như chúng ta đã biết mạng nơ ron nhân tạo là sự tái tạo bằng kỹ thuật những chức năng của hệ thần kinh con người Trong quá trình tái tạo không phải tất cả các chức năng của bộ não con người đều được tái tạo, mà chỉ có những chức năng cần thiết Bên cạnh đó còn có những chức năng mới được tạo ra nhằm giải quyết một bài toán định trước

Mạng nơ ron bao gồm các nơ ron được liên kết với nhau bằng các trọng

số theo một cấu trúc xác định Mạng nơ ron có thể được huấn luyện để thực hiện các nhiệm vụ khác nhau Quá trình huấn luyện sẽ thiết lập bộ trọng số cho các liên kết giữa các nơ ron trong mạng

Thuật toán huấn luyện lan truyền ngược là một thuật toán trong lịch sử phát triển mạng nơ ron nhân tạo, thuật toán được ứng dụng cho mạng truyền thẳng nhiều lớp Thuật toán sử dụng phương pháp giảm gradient (giảm dốc

nhất) để tối thiểu hàm sai số Giá trị hàm sai số E k đối với một mẫu được tính toán dựa trên giá trị các trọng số hiện tại Các giá trị trọng số này sau đó được hiệu chỉnh và trở thành các giá trị trọng số hiện tại để tính giá trị hàm sai số

tiếp theo E k+1

Hạn chế của giải thuật huấn luyện lan truyền ngược sai số là tốc độ chậm

và nhiều khi gặp phải vấn đề như:

Mạng liệt: xảy ra khi những trọng số được điều chỉnh tới những giá trị rất lớn Tổng đầu vào của một đơn vị ẩn hoặc đơn vị đầu ra có thể bởi vậy mà đạt giá trị rất cao (hoặc dương hoặc âm), và qua hàm kích hoạt sigmoid, đơn

vị sẽ có một giá trị kích hoạt rất gần 0 hoặc rất gần 1 Giá trị hiệu chỉnh trọng

số gần 0, và quá trình huấn luyện có thể đi đến một trạng thái dừng ảo

Trang 10

Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/

Cực tiểu địa phương: bề mặt sai số của mạng rất phức tạp đầy những ngọn đồi và những thung lũng Bởi vì sự hạ độ dốc, mạng có thể bị mắc bẫy tại một cực tiểu địa phương khi có nhiều cực tiểu thấp hơn gần bên cạnh Giải thuật di truyền là một trong những kỹ thuật tìm kiếm tối ưu giúp ta giải quyết được những vấn đề đã đặt ra ở trên, nó cho phép ta tìm kiếm lời giải tối ưu trên các không gian lớn, nguyên tắc cơ bản của giải thuật di truyền

là mô phỏng quá trình chọn lọc của tự nhiên Cho đến nay lĩnh vực nghiên cứu về giải thuật di truyền đã thu được nhiều thành tựu, giải thuật di truyền được ứng dụng trong nhiều lĩnh vực phức tạp, các vấn đề khó có thể giải quyết được bằng phương pháp thông thường [1-3]

Như đã đề cập ở trên quá trình huấn luyện mạng nơ ron chính là quá trình cực tiểu hàm sai số để xác định các trọng số của mạng và luận văn sẽ sử dụng giải thuật di truyền để xác định các trọng số của mạng thay vì sử dụng giải thuật huấn luyện

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

- Mạng nơ ron nhân tạo trong đó đi sâu vào mạng truyền thẳng và kỹ thuật huấn luyện lan truyền ngược sai số

- Nghiên cứu ứng dụng giải thuật di truyền trong huấn luyện mạng nơ ron truyền thẳng, thay thế kỹ thuật huấn luyện lan truyền ngược sai số

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

Nghiên cứu lý thuyết kết hợp với cài đặt thực nghiệm

4 Ý nghĩa khoa học của đề tài

Nghiên cứu về mạng nơ ron, giải thuật di truyền và sử dụng giải thuật di truyền trong huấn luyện mạng nơ ron

Trang 11

Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/

1 CHƯƠNG 1: MẠNG NƠ RON NHÂN TẠO

1.1 Các khái niệm về mạng nơ ron

1.1.1 Mạng nơ ron sinh học

Mạng nơ ron bao gồm vô số các nơ ron được liên kết truyền thông với nhau trong mạng, hình 1.1 là một phần của mạng nơ ron bao gồm hai nơ ron

Hình 1.1:Cấu tạo của một nơ ron

Nơ ron được cấu tạo gồm các phần chính sau:

Thân nơ ron: thường gọi là soma có nhiệm vụ chính là tổng hợp và xử

lý cho tín hiệu điện nhận được từ các rễ đầu vào Bản chất của quá trình này chính là việc lấy tổng cộng tất cả các tín hiệu mà nơ ron nhận được

Các xúc tu: đó là các tua dài gắn liền với soma có chức năng truyền tín

hiệu điện nhận từ môi trường hoặc từ các nơ ron khác để soma xử lý

Trục cảm ứng: là thành phần kết nối các nơ ron lại với nhau Nó có chức

năng phát các tín hiệu điện, truyền tín hiệu từ nơ ron này đi nơi khác Thông thường axon ở trạng thái nghỉ, khi điện thế trong soma vượt quá ngưỡng cho phép thì axon sẽ phát ra một xung điện thế

Trang 12

Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/

Khớp nối: Điểm liên kết giữa sợi trục cảm ứng-axon của nơron này với

các xúc tu-dendrites nhánh hình cây của nơron khác thông qua các mối nối rất đặc biệt gọi là synapses Liên kết giữa các nơron và độ nhạy của mỗi synapse đƣợc xác định bởi quá trình hóa học phức tạp Khi điện thế của synapses tăng lên do các xung điện phát ra từ axon thì synapses sẽ tiết ra một loại hóa chất

để xúc tu mở ra cho các ion đi qua nó Các ion này làm thay đổi tín hiệu điện thế trên các xúc tu tạo ra các xung dữ liệu lan truyền đến các nơ ron khác Các synapses đóng vai trò hết sức quan trọng trong quá trình học tập Khi học tập

và làm việc nhiều thì các hoạt động của synapses đƣợc tăng lên nhiều tạo ra nhiều liên kết mạnh mẽ giữa các nơ ron [5]

Một cách tổng quát hóa qua các thành phần cấu tạo và chứng năng của chúng trong mạng nơ ron chúng ta thấy rằng các hoạt động chính của nơ ron đƣợc thể hiện nhƣ sau: nơ ron lấy tổng tất cả các tín hiệu vào mà nó nhận đƣợc sau đó phát ra một tín hiệu điện; nếu tổng tất cả các tín hiệu điện lớn hơn một ngƣỡng cho phép nào đó rồi xử lý và cho ra một tín hiệu điện đầu ra Tín hiệu điện đầu ra này truyền qua axon và chính là tín hiệu điện đầu vào của một nơ ron khác

1.1.2 Khái niệm mạng nơ ron nhân tạo

Mạng nơron nhân tạo- Artificial Neural Network (ANN), gọi tắt là mạng

nơ ron hay Neural Network là một mô hình xử lí thông tin mô phỏng theo cách xử lí thông tin của các hệ nơ ron sinh học Nó đƣợc tạo lên từ một số lƣợng lớn các phần tử (gọi là phần tử xử lý hay nơron) kết nối với nhau thông qua các liên kết (gọi là trọng số liên kết) làm việc nhƣ một thể thống nhất để giải quyết một vấn đề cụ thể nào đó

Một mạng nơron nhân tạo đƣợc cấu hình cho một ứng dụng cụ thể (nhận dạng mẫu, phân loại dữ liệu, ) thông qua một quá trình học từ tập các mẫu

Trang 13

Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/

huấn luyện Về bản chất học chính là quá trình hiệu chỉnh trọng số liên kết giữa các nơron

Mạng nơ ron bao gồm vô số các nơ ron liên kết truyền thông với nhau trong mạng Nơ ron có thể liên kết với các nơ ron khác thông qua rễ Chính vì các liên kết đa dạng như vậy mà mạng nơ ron có độ liên kết rất cao.[1]

Một tính chất rất cơ bản của mạng nơ ron sinh học là các đáp ứng theo kích thích có khả năng thay đổi theo thời gian Các đáp ứng có thể tăng lên, giảm đi hoặc hoàn toàn biến mất Qua các nhánh axon liên kết tế bào nơ ron này với các nơ ron khác, sự thay đổi trạng thái của một nơ ron cũng kéo theo

sự thay đổi trạng thái của những nơ ron khác và do đó làm thay đổi toàn bộ mạng nơ ron Việc thay đổi trạng thái của mạng nơ ron có thể thực hiện qua một quá trình “dạy” hoặc do khả năng “học” tự nhiên

Sự thay thế những tính chất này bằng một mô hình toán học tương đương được gọi là mạng nơ ron nhân tạo Mạng nơ ron nhân tạo có thể được chế tạo bằng nhiều cách khác nhau vì vậy trong thực tế tồn tại rất nhiều kiểu mạng nơ ron nhân tạo

Mô hình nơ ron có m đầu vào x1, x2, xm và một đầu ra y (hình 1.2), mô

x n

1 Nơ ron

Hình 1.2:Mô hình của một nơ ron

Trang 14

Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnụedụvn/

tương ứng với cường độ kích thích của từng đầu vàọ Các kích thích đầu vào được thực hiện qua một bộ tổng, đó là giá trị đo kích thích đầu vào tác động vào tế bào nơ ron

+Đầu ra của bộ tổng được đưa đến bộ đáp ứng ặ), bộ này không chỉ có

chức năng tạo ra đáp ứng tức thời mà còn có khả năng lưu giữ các đáp ứng theo thời gian Thành phần này hoạt động theo nguyên lý “nhớ” động

+Nơ ron bị kích thích trong thời gian thế năng của màng membran vượt

quá ngưỡng Quan hệ này được thực hiện nhờ hàm ặ), nó có chức năng của

bộ tạo tín hiệu ngưỡng, xác định phụ thuộc của tín hiệu ra y vào các kích thích đầu vàọ

Cách thành lập nơ ron nhân tạo như vậy tạo ra một độ tự do trong thiết

kế Việc lựa chọn phép cộng tín hiệu đầu vào và đáp ứng ặ) sẽ cho ra các

kiểu mạng nơ ron nhân tạo khác nhau và tương ứng là các mô hình mạng khác nhaụ[1]

Hình 1.3: Cấu trúc của một nơ ron

là các tín hiệu đầu vào

là các trọng số tương ứng (trọng số thứ j của nơ ron thứ i)

là ngưỡng đặt vào phần tử nơ rơn thứ i

Trang 15

Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/

(1.1)

là giá trị đầu ra

là hàm kích hoạt

là hàm truyền

Theo hình 1.3 thì tín hiệu đầu ra là:

Trong đó hàm kích hoạt a(f) ở dạng hàm bước nhảy

Như vậy chỉ có thể nhận 2 giá trị một là 0 hoặc là 1

Hàm truyền f(.) : Hàm này được dùng để giới hạn phạm vi đầu ra của

mỗi nơron Nó nhận đầu vào là kết quả của hàm tổng và ngưỡng đã cho Thông thường, phạm vi đầu ra của mỗi nơron được giới hạn trong đoạn [0,1] hoặc [-1, 1] Các hàm truyền rất đa dạng, có thể là các hàm tuyến tính hoặc phi tuyến Việc lựa chọn hàm truyền nào là tuỳ thuộc vào từng bài toán và kinh nghiệm của người thiết kế mạng Một số hàm truyền thường sử dụng trong các mô hình mạng nơron:

Hàm bình phương (quadratic funtion)

Hàm hình cầu (spherical funtion)

(1.2)

(1.4)

(1.5) (1.3)

Trang 16

Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/

Trong đó và là bán kính và tâm của hình cầu

Hàm đa thức (Polynomial function):

Trong đó là trọng số kết nối của phần tử j và k đến phần tử i; và

là các hệ số thực không đổi là ngưỡng đặt vào phần tử nơ rơn thứ i

Các hàm kích hoạt thường sử dụng:

Hàm bước nhảy (Step function):

Đồ thị của hàm được thể hiện như hình 1.4 sau:

Hình 1.4: Hàm kích hoạt bước nhảy

Hàm dấu (Hard limiter – threshold function):

(1.6)

(1.7)

(1.8)

Trang 17

Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/

Đồ thị của hàm đƣợc thể hiện nhƣ hình 1.5 sau:

Trang 18

Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/

Đồ thị của hàm thể hiện nhƣ hình 1.7 sau:

Hình 1.7: Hàm kích hoạt sigmoid đơn cực

Hàm sigmoid lƣỡng cực (Bipolar sigmoid function):

với >0

Đồ thị của hàm đƣợc thể hiện nhƣ hình 1.8 sau:

Hình 1.8: Hàm kích hoạt sigmoid đa cực

(1.11)

Trang 19

Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/

1.2 Mạng nơ ron truyền thẳng nhiều lớp MLP

Có rất nhiều kiểu kiến trúc về mạng nơ ron nhân tạo Các kiểu kiến trúc mạng nơ ron nhân tạo này được tạo ra tùy thuộc vào yêu cầu của bài toán cần giải quyết Các tính năng của mạng nơ ron tùy thuộc vào cấu trúc, kiểu liên kết, các trọng số liên kết và quá trình tính toán của các nơ ron đơn lẻ Trong phạm vi nghiên cứu của luận văn này chúng ta đi thẳng vào nghiên cứu mạng

nơ ron truyền thẳng nhiều lớp MLP (Multi-Layer Perceptrons) bởi tính phổ biến của nó

Cấu tạo của mạng MLP gồm có 3 lớp: lớp đầu vào, lớp ẩn và lớp đầu ra Hình 1.9 cho chúng ta một cái nhìn tổng quát về mạng MLP

Hình 1.9: Mạng nơ ron truyền thẳng MLP

Lớp đầu vào (Input layer): là các véc tơ x1, x2, ,xm trong không gian

m chiều Tất cả các nơ ron của lớp đầu vào có nhiệm vụ nhận tín hiệu đầu vào Thông thường các nơ ron đầu vào không làm biến đổi tín hiệu đầu vào

mà chỉ có chức năng nhận và phân phối tín hiệu đầu vào Mỗi nơ ron của lớp đầu vào liên kết với tất cả các nơ ron của tầng liền kế trước nó (thường là lớp ẩn) Đầu ra của nơ ron lớp đầu vào chính là đầu vào của nơ ron liền sau nó

Lớp ẩn (Hidden Layer): là lớp nơ ron dưới lớp vào, chúng không liên

hệ trực tiếp với thế giới bên ngoài như các lớp nơ ron vào và ra

Lớp ra (Output Layer): là lớp tạo tín hiệu ra sau cùng

Trang 20

Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/

Hoạt động của mạng MLP có thể mô tả một cách cụ thể như sau: tại tầng đầu vào các nơron nhận tín hiệu vào xử lý (tính tổng trọng số, gửi tới hàm truyền) rồi cho ra kết quả (là kết quả của hàm truyền) Kết quả này sẽ được truyền tới các nơron thuộc tầng ẩn thứ nhất; các nơron tại đây tiếp nhận như là tín hiệu đầu vào, xử lý và gửi kết quả đến tầng ẩn thứ 2;…; quá trình tiếp tục cho đến khi các nơron thuộc tầng ra cho kết quả

Hàm tính tổng trong mạng MLP thường có dạng tổng quát như sau:

, các hàm chuyểnf(.) thường có nhiều dạng khác nhau tùy vào

mục đính của mạng

1.3 Các luật học của mạng nơ ron

Học tham số (Parameter Learning): là các tham số về trọng số cập nhật kết nối giữa các nơ ron

Giả sử ta có một ma trận trọng số bao gồm tất cả các phần tử thích ứng của mạng nơ ron Nhiệm vụ của việc học thông số là bằng cách nào đó tìm được ma trận chính xác mong muốn từ ma trận giả thiết ban đầu với cấu trúc của mạng nơ ron đã xây dựng

Để thực hiện việc này, mạng nơ ron sử dụng các trọng số điều chỉnh với nhiều phương pháp học khác nhau để có thể tính toán gần đúng ma trận W cần tìm đặc trưng cho mạng

Một cách chi tiết hóa quá trình học của mạng nơ ron là huyấn luyện sao cho với một tập các véctơ đầu vào X, mạng có khả năng tạo ra tập các véctơ đầu ra mong muốn Y của nó Tập X được sử dụng cho huấn luyện mạng được gọi là tập huấn luyện (training set) Các phần tử x thuộc X được gọi là các mẫu huấn luyện (training example) Quá trình huấn luyện bản chất là sự thay đổi các trọng số liên kết của mạng Trong quá trình này, các trọng số của mạng sẽ hội tụ dần tới các giá trị sao cho với mỗi véctơ đầu vào x từ tập huấn luyện, mạng sẽ cho ra véctơ đầu ra y như mong muốn

Trang 21

Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/

Có ba phương pháp học:

 Học có giám sát (Supervised Learning): là quá trình học có tín hiệu

chỉ đạo bên ngoài Hình 1.10 minh họa quá trình học có giám sát

1, t

2, , t

K) là véctơ mục tiêu K chiều tương ứng, nhiệm vụ của thuật toán là phải thiết lập được một cách tính toán trên mạng như thế nào đó để sao cho với mỗi véctơ đặc trưng đầu vào thì sai số giữa giá trị đầu ra thực sự của mạng và giá trị mục tiêu tương ứng là nhỏ nhất Chẳng

hạn mạng có thể học để xấp xỉ một hàm t = f(x) biểu diễn mối quan hệ trên tập

các mẫu huấn luyện (x, t)

Như vậy với học có giám sát, số lớp cần phân loại đã được biết trước Nhiệm vụ của thuật toán là phải xác định được một cách thức phân lớp sao cho với mỗi véctơ đầu vào sẽ được phân loại chính xác vào lớp của nó

Dựa vào các điều kiện nêu trên chúng ta có thể xây dựng một thuật toán thể hiện quá trình học có giám sát như sau:

Giả sử ta cần xấp xỉ một ánh xạ: X→ Y, trong đó X là tập các vấn đề và

Y là tập các lời giải tương ứng cho vấn đề đó Các mẫu (x, y) với x = (x1, x2, , xn) X, y = (yl, y2, , ym) Y được cho trước

Trang 22

Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/

+ Bước 1: Xây dựng cấu trúc cho mạng nơron theo yêu cầu tính toán,

chẳng hạn mạng cần xây dựng có (n + 1) nơron đầu vào (trong đó có n nơron cho biến vào và 1 nơron cho ngưỡng x0), mạng có m nơron đầu ra, và khởi tạo các trọng số liên kết của mạng

+ Bước 2:Đưa một véctơ x trong tập mẫu huấn luyện X vào mạng

+ Bước 3: Tính véctơ đầu ra v của mạng

+ Bước4: So sánh véctơ đầu ra mong muốn y được cho trong tập huấn

luyện với véctơ đầu ra v do mạng tạo ra; nếu có thể thì đánh giá lỗi

+ Bước 5: Hiệu chỉnh các trọng số liên kết theo một cách nào đó sao cho

ở lần tiếp theo khi đưa véctơ x vào mạng, véctơ đầu ra v sẽ giống với y hơn

+ Bước 6: Nếu kết quả chưa tốt, lặp lại các bước từ bước 2 đến bước 5

cho tới khi mạng đạt tới trạng thái hội tụ Việc đánh giá lỗi có thể thực hiện

theo nhiều cách là sử dụng lỗi tức thời: Err = (v- y), hoặc Err = |v- y| hoặc lỗi

trung bình bình phương:

Có hai loại lỗi trong đánh giá một mạng nơron:

Trường hợp lỗi thứ nhất gọi là lỗi rõ ràng (apparent error): đánh giá

khả năng xấp xỉ các mẫu huấn luyện của một mạng đã được huấn luyện

Trường hợp lỗi thứ hai gọi là lỗi kiểm tra (test error): đánh giá khả

năng tổng quá hóa của một mạng đã được huấn luyện, tức khả năng phản ứng với các véctơ đầu vào mới Để đánh giá lỗi kiểm tra chúng ta phải biết đầu ra mong muốn cho các mẫu kiểm tra

Thuật toán tổng quát ở trên cho học có giám sát trong các mạng nơron có nhiều cài đặt khác nhau, sự khác nhau chủ yếu là cách các trọng số liên kết được thay đổi trong suốt thời gian học Trong đó tiêu biểu nhất là thuật toán lan truyền ngược

Trang 23

Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/

 Học không có giám sát (Unsupervised Learning): là quá trình học

không có tín hiệu chỉ đạo bên ngoài Hình 1.11 minh họa quá trình học không

có giám sát

Hình 1.11: Học không có giám sát

Trong bài toán học không giám sát, tập dữ liệu huấn luyện được cho dưới dạng: D = {(x1, x2, ., xN)}, với (x1, x2, ., xN) là véctơ đặc trưng của mẫu huấn luyện Nhiệm vụ của thuật toán là phải phân chia tập dữ liệu D thành các nhóm con, mỗi nhóm chứa các véctơ đầu vào có đặc trưng giống nhau

Như vậy với học không giám sát, số lớp phân loại chưa được biết trước,

và tùy theo tiêu chuẩn đánh giá độ tương tự giữa các mẫu mà ta có thể có các lớp phân loại khác nhau

 Học tăng cường: là quá trình học kết hợp cả học có giám sát và học

không giám sát

Nguyên lý chính của học tăng cường là : với véctơ đầu vào, quan sát véctơ đầu ra do mạng tính được Nếu kết quả được xem là tốt thì mạng sẽ được thưởng theo nghĩa tăng các trọng số kết nối lên.Ngược lại các trọng số kết nối không thích hợp sẽ được giảm xuống Xu hướng này chính là quá trình điều chỉnh để chất lượng của mạng ngày càng tốt dần lên Tuy nhiên kiểu học này không cho chúng ta biết trước giá trị đích của mỗi mẫu tương ứng

Trang 24

Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnụedụvn/

Dạng tổng quát của luật học trọng số của mạng nơ ron cho biết về gia số của véctơ là tỉ lệ với tín hiệu học và tín hiệu đầu vào :

Với la một số dương còn gọi là hằng số học dùng để xác định tốc độ học, r là tín hiệu học, r phụ thuộc vào hàm

Từ công thức ta thấy rằng véctơ trọng số

có số gia tỉ lệ với tín hiệu vào x và tín hiệu học r véctơ

trọng số tại thời điểm (t+1) được tính như sau:

Phương trình liên quan đến sự biến đổi trọng số trong mạng nơ ron rời rạc và tương ứng với sự thay đổi trọng số trong mạng nơ ron liên tục theo biểu thức:

Một số thuật toán học có giám sát và không giám sát được phát triển dựa vào luật cập nhật trọng số :

Sự khác biệt chính giữa các thuật toán học có giám sát và không giám sát này là tín hiệu học r sẽ được phát ra để cập nhật trọng số như thế nàọ Luật Hebb là một ví dụ điển hình, với tiếp cận trọng số được điều chỉnh phù hợp với quan hệ trước –saụ Cụ thể luật học Hebb định nghĩa:

Với ặ) là hàm kích hoạt

Định luật Hebb: Khi một tế bào A ở gần tế bào B, kích hoạt thường

xuyên hoặc lặp lại việc làm cháy nó thì phát triển một quá trình sinh hoá ở các

tế bào làm tăng tác động nàỵ

Trang 25

Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/

Trong luật Hebb tín hiệu lỗi đơn giản là đầu ra của nơ ron hiện thời

thành phần của véctơ trọng số được cập nhật lại như sau :

Luật Hebb là luật học không giám sát cho mạng truyền thẳng, nó chỉ sử dụng các đầu vào và các đầu ra hiện thời để cập nhật trọng số Trong luật học này các trọng số cần được khởi tạo ngẫu nhiên với giá trị xấp xỉ bằng không trước khi học

Ví dụ: Xét mạng chỉ có một đơn vị xử lý như hình 1.3 với hàm kích hoạt là hàm dấu

Sign(), Sign(x)=1 nếu x >=0 và Sign(x)=-1 nếu x <0

Có 4 đầu vào x1, x2, x3, x4 Véc tơ trọng số w = (w1, w2, w3, w4) Giả sử

ta huấn luyện cho mạng với 3 véc tơ mẫu sau:

Trang 26

Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/

Bước2:Đƣavéctơmẫux (2)vàođểcậpnhậtvéctơtrọngsố

Bước3:Đƣavéctơmẫux(3)vàođểcậpnhậtvéctơtrọngsố

Ta dễ dàng nhận thấy rằng:

1.4 Thuật toán huấn luyện lan truyền ngƣợc sai số- Back Propagation

Thuật toán lan truyền ngƣợc sai số là thuật toán rất phổ biến đƣợc sử dụng trong quá trình huấn luyện mạng nơ ron

Mạng nơ ron MLP sử dụng thuật toán lan truyền ngƣợc sai số đƣợc gọi

là mạng BP (Back Propagation Network) Hình 1.12 minh họa cấu trúc mạng với thuật toán lan truyền ngƣợc sai số

Trang 27

Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/

Hình 1.12: Mạng MLP lan truyền ngược sai số

Giả sử tập mẫu dùng để huấn luyện mạng gồm mẫu , k=1,2, , thủ tục BP xây dựng một chuỗi các hàm sai số

Trong đó:

m : là số nơ ron đầu ra

là thành phần thứ j của vectơ ra mong muốn

là thành phần thứ j của vectơ ra mong muốn do lan truyền đầu vào

Các hàm sai số này lần lượt được tối thiểu trong không gian các trọng số Giá trị hàm sai số đối với một mẫu được tính toán dựa trên giá trị các trọng

số hiện tại

Các giá trị trọng số này sau đó được hiệu chỉnh và trở thành các giá trị trọng số hiện tại để tính giá trị hàm sai số tiếp theo Cách làm này có khả năng tạo ra sự dao động trong quá trình hiệu chỉnh các trọng số Kết quả hiệu chỉnh hiện tại có thể làm hỏng kết quả hiệu chỉnh ở các lần trước đó

Trang 28

Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/

Giải pháp thay thế là xây dựng một hàm sai số duy nhất bằng cách tích luỹ các sai số

Các trọng số của mạng nơ ron chỉ được hiệu chỉnh sau khi tất cả các véc

tơ tín hiệu vào có trong tập mẫu được lan truyền qua mạng nơ ron

Quá trình huấn luyện tiến hành như sau:

+ Trước tiên ta xét lan truyền tín hiệu qua từng lớp mạng: lớp nhập, lớp

ẩn và lớp xuất

Giả sử tín hiệu đưa vào mạng nơ ron x = (x1, x2, , xm) với m là số nơ

ron trong lớp nhập, l là số nơ ron trong lớp ẩn và n là số nơ ron trong lớp xuất

Các nơ ron trong lớp nhập nhận và truyền tín hiệu sang lớp ẩn Đầu vào các

nơ ron (nút) trong lớp ẩn thứ nhất có dạng:

Trong đó wqj là trọng số liên kết từ nút j của lớp nhập đến nút q của lớp

ẩn Đầu ra zq của lớp ẩn nhận được:

Với a(net q ) là hàm kích hoạt của các nơ ron trong lớp ẩn Đầu vào của

nút ở lớp xuất sẽ nhận được:

(1.13) (1.12)

(1.14)

Trang 29

Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/

Đầu ra của nút i ở lớp xuất nhận được

Sau khi lan truyền tín hiệu thẳng qua mạng, sai số của tín hiệu ra sẽ được lan truyền ngược để điều chỉnh các trọng số, mục tiêu ở đây là cực tiểu sai số giữa tín hiệu ra y = (y1, y2, , yn) của mạng nơ ron và tín hiệu mong muốn d=(d1, d2, , dn), hàm mục tiêu có dạng:

= Theo phương pháp giảm gradient, trọng số liên kết giữa lớp ẩn và lớp xuất được điều chỉnh như sau:

Ở đây là hệ số học của mạng nơ ron

Sử dụng (1.14) và (1.15) ta có:

=Trong đó là tín hiệu sai số, i là số thứ tự của nút i của lớp xuất; tín hiệu sai số được định nghĩa như sau:

Với net i là tổng đầu vào của nơ ron thứ i của lớp xuất và

(1.18)

(1.15)

(1.16)

(1.17)

Trang 30

Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/

Trọng số liên kết giữa lớp ẩn và lớp nhập cũng được điều chỉnh theo

phương pháp giảm gradient như sau:

Trang 31

Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/

Thuật toán có thể khái quát qua sơ đồ nhƣ hình 1.13sau:

Lan truyền ngƣợc sai số, hiệu chỉnh trọng số

wiq=wiq+ wiq; vqj=vqj+ vqj với w iq , vqj theo công

thức (1.18) và (1.21) k=k+1

l=l+1

Kết thúc

Hình 1.13: Thuật toán lan truyền ngược sai số

Trang 32

Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/

Thuật toán được trình bày cho mạng nơ ron truyền thẳng nhiều lớp tổng quát như sau:

Xét mạng nơ ron với lớp lan truyền thẳng, và và

là đầu vào và đầu ra của nơ ron thứ trong lớp tương ứng Mạng có nút nhập, nút xuất Gọi là trọng số liên kết từ nơ ron lớp đến

nơ ron lớp

Input: Tập mẫu huấn luyện {(x(k), d(k))},

Bước 0 (khởi tạo): chọn và (sai số lớn nhất), khởi tạo trọng số với giá trị ngẫu nhiên nhỏ Đặt và

Bước 1 (vòng luyện): sử dụng mẫu đầu vào thứ k cho lớp nhập (q = 1)

Bước 2 (Lan truyền thẳng tín hiệu): lan truyền thẳng tín hiệu qua mạng

theo công thức:

Bước 3 (Tính sai số đầu ra): tính sai số và tín hiệu sai số cho lớp xuất:

Bước 4 (Lan truyền ngược sai số): lan truyền ngược sai số để điều chỉnh

trọng số và tính tín hiệu sai số cho lớp trước

Trang 33

Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/

Bước 5 (Lặp một chu kỳ): kiểm tra tập dữ liệu huấn luyện đã quay hết

một vòng Nếu thì và quay lại bước 1; trường hợp khác

về bước 6

Bước 6 (Kiểm tra tín hiệu sai số): kiểm tra tín hiệu sai số, nếu

thì kết thúc vòng luyện và đưa ra bộ trọng số cuối cùng; trường hợp khác cho và quay lại bước 1 tiến hành chu kỳ luyện mới

Kết thúc BP

Thuật toán trên là phương pháp huấn luyện gia tăng khi điều chỉnh trọng số, nghĩa là các trọng số được điều chỉnh ngay sau khi có một mẫu luyện Một phương pháp khác là luyện dạng gói (batch training), ở đó các trọng số chỉ thay đổi sau khi đã có tất cả các mẫu luyện

Mạng nơ ron truyền thẳng có từ một lớp ẩn trở lên có thể xấp xỉ một hàm, trong [Hornik et al., 1989] đã phát biểu và chứng minh định lý dưới đây:

Định lý: Mạng nơ ron truyền thẳng với các lớp ẩn sử dụng hàm kích hoạt nén, tuyến tính hoặc hàm đa thức mở rộng có thể xấp xỉ gần đúng một hàm bất kỳ với độ chính xác tuỳ ý miễn là có đủ số nơ ron ẩn Hàm

(hoặc [-1, 1]) là hàm nén nếu nó đồng biến và

Hàm kích hoạt sử dụng trong mạng Perceptron nhiều lớp là hàm sigmoid lưỡng cực:

hoặc hàm sigmoid đơn cực

đạo hàm của cả hai hàm này đều là

Trang 34

Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/

Kết luận chương 1

Trong chương này luận đã giới thiệu và khái quá hóa các kiến thức về mạng nơ ron Trong đó đặc biệt chú trọng nhấn mạnh đến cấu trúc của mạng

nơ ron truyền thẳng nhiều lớp MLP và thuật toán lan truyền ngược sai số

Một trong những khả năng quan trọng của mạng nơ ron là khả năng học, nhờ khả năng này mà mạng nơ ron có thể học và nhận dạng các tập mẫu cho trước, ngoài ra mạng còn có khả năng dự đoán

Kỹ thuật mạng nơ ron đã được ứng dụng để giải quyết nhiều bài toán thực tiễn như nhận dạng, dự báo, xấp xỉ hàm Do đó nghiên cứu sâu về mạng

nơ ron là điều rất quan trọng và cần thiết

Trang 35

Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/

2 CHƯƠNG 2: GIẢI THUẬT DI TRUYỀN 2.1 Các khái niệm cơ bản về giải thuật di truyền

Giải thuật di truyền-Gennetic Algorithm, viết tắt là GA là giải thuật tìm kiếm, chọn lựa các giải pháp tối ưu để giải quyết các bài toán khác nhau dựa trên cơ chế chọn lọc tự nhiên của ngành di truyền học

Trong cơ thể sinh vật, các gen liên kết với nhau theo cấu trúc dạng chuỗi gọi là nhiễm sắc thể, nó đặc trưng cho mỗi loài và quyết định sự sống còn của

cơ thể đó

Một loài muốn tồn tại phải thích nghi với môi trường, cơ thể sống nào thích nghi với môi trường hơn thì sẽ tồn tại và sinh sản với số lượng ngày càng nhiều hơn, trái lại những loài không thích nghi với môi trường sẽ dần dần bị diệt chủng

Môi trường tự nhiên luôn biến đổi, nên cấu trúc nhiễm sắc thể cũng thay đổi để thích nghi với môi trường, và ở thế hệ sau luôn có độ thích nghi cao hơn ở thế hệ trước Cấu trúc này có được nhờ vào sự trao đổi thông tin ngẫu nhiên với môi trường bên ngoài hay giữa chúng với nhau

Dựa vào đó các nhà khoa học máy tính xây dựng nên một giải thuật tìm kiếm tinh tế dựa trên cơ sở chọn lọc tự nhiên và quy luật tiến hóa, gọi là giải thuật di truyền

Các nguyên lý cơ bản của giải thuật được tác giả Holland đề xuất lần đầu vào năm 1962 Nền tảng toán học của giải thuật GA được tác giả công bố trong cuốn sách “Sự thích nghi trong các hệ thống tự nhiên và nhân tạo” xuất bản năm 1975

Giải thuật GA được xem như một phương pháp tìm kiếm có bước chuyển ngẫu nhiên mang tính tổng quát để giải các bài toán tối ưu hoá.[2]

Trang 36

Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/

Giải thuật GA thuộc lớp các giải thuật tìm kiếm tiến hoá Khác với phần lớn các giải thuật khác tìm kiếm theo điểm, giải thuật GA thực hiện tìm kiếm song song trên một tập được gọi là quần thể các lời giải có thể

Thông qua việc áp dụng các toán tử di truyền, giải thuật GA tráo đổi thông tin giữa các cực trị và do đó làm giảm thiểu khả năng kết thúc giải thuật tại một cực trị địa phương Trong thực tế, giải thuật GA đã được áp dụng thành công trong nhiều lĩnh vực

Giải thuật GA lần đầu được tác giả Holland giới thiệu vào năm 1962 Giải thuật GA mô phỏng quá trình tồn tại của các cá thể có độ phù hợp tốt nhất thông qua quá trình chọn lọc tự nhiên, sao cho khi giải thuật được thực thi, quần thể các lời giải tiến hoá tiến dần tới lời giải mong muốn

Giải thuật GA duy trì một quần thể các lời giải có thể của bài toán tối ưu hoá Thông thường, các lời giải này được mã hoá dưới dạng một chuỗi các gien Giá trị của các gien có trong chuỗi được lấy từ một bảng các ký tự được định nghĩa trước Mỗi chuỗi gien được liên kết với một giá trị được gọi là độ phù hợp Độ phù hợp được dùng trong quá trình chọn lọc.[2]

Cơ chế chọn lọc đảm bảo các cá thể có độ phù hợp tốt hơn có xác suất được lựa chọn cao hơn Quá trình chọn lọc sao chép các bản sao của các cá thể có độ phù hợp tốt vào một quần thể tạm thời được gọi là quần thể bố mẹ Các cá thể trong quần thể bố mẹ được ghép đôi một cách ngẫu nhiên và tiến hành lai ghép tạo ra các cá thể con

Sau khi tiến hành quá trình lai ghép, giải thuật GA mô phỏng một quá trình khác trong tự nhiên là quá trình đột biến, trong đó các gien của các cá thể con tự thay đổi giá trị với một xác suất nhỏ

Tóm lại, có 6 khía cạnh cần được xem xét, trước khi áp dụng giải thuật

GA để giải một bài toán, cụ thể là:

Mã hoá lời giải thành cá thể dạng chuỗi

Trang 37

Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/

Chiến lƣợc thay thế hay còn gọi là toán tử tái tạo

Có nhiều lựa chọn khác nhau cho từng vấn đề trên Phần tiếp theo sẽ đƣa

ra cách lựa chọn theo J.H Holland khi thiết kế phiên bản giải thuật GA đầu tiên Giải thuật này đƣợc gọi là giải thuật di truyền đơn giản (SGA)

2.2 Giải thuật di truyền mã hóa nhị phân

Trong giải thuật di truyền của mình J H Holland sử dụng mã hoá nhị phân để biểu diễn các cá thể, lý do là phần lớn các bài toán tối ƣu hoá đều có thể đƣợc mã hoá thành chuỗi nhị phân khá đơn giản

Hàm mục tiêu, hàm cần tối ƣu, đƣợc chọn làm cơ sở để tính độ phù hợp của từng chuỗi cá thể Giá trị độ phù hợp của từng cá thể sau đó đƣợc dùng để tính toán xác suất chọn lọc

Sơ đồ chọn lọc trong giải thuật SGA là sơ đồ chọn lọc tỷ lệ Trong sơ đồ chọnlọc này, cá thể có độ phù hợp có xác suất chọn lựa

Với là số cá thể có trong quần thể

Toán tử lai ghép trong giải thuật SGA là toán tử lai ghép một điểm cắt Giả sử chuỗi cá thể có độ dài L (có L bít), toán tử lai ghép đƣợc tiến hành qua hai giai đoạn là:

Hai cá thể trong quần thể bố mẹ đƣợc chọn một cách ngẫu nhiên với phân bố xác suất đều

Trang 38

Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/

Sinh một số ngẫu nhiên j trong khoảng [1, L - 1] Hai cá thể con được tạo ra bằng việc sao chép các ký tự từ 1 đến j và tráo đổi các

ký tự từ j + 1 đến L

Vị trí lai ghép

Hai cá thể bố mẹ Hai cá thể con

Lưu ý giải thuật GA không yêu cầu toán tử lai ghép luôn xảy ra đối với hai cá thể bố mẹ được chọn Sự lai ghép chỉ xảy ra khi số ngẫu nhiên tương ứng với cặp cá thể bố mẹ được sinh ra trong khoảng [0, 1) không lớn hơn một tham số (gọi là xác suất lai ghép) Nếu số ngẫu nhiên này lớn hơn , toán

tử lai ghép không xảy ra Khi đó hai cá thể con là bản sao trực tiếp của hai cá thể bố mẹ

Tiếp theo, J H Holland xây dựng toán tử đột biến cho giải thuật SGA Toán tử này được gọi là toán tử đột biến chuẩn Toán tử đột biến duyệt từng gien của từng cá thể con được sinh ra sau khi tiến hành toán tử lai ghép và tiến hành biến đổi giá trị từ 0 sang 1 hoặc ngược lại với một xác suất được gọi là xác suất đột biến

Cuối cùng là chiến lược thay thế hay còn gọi là toán tử tái tạo Trong giải thuật SGA, quần thể con được sinh ra từ quần thể hiện tại thông qua 3 toán tử

là chọn lọc, lai ghép và đột biến thay thế hoàn toàn quần thể hiện tại và trở thành quần thể hiện tại của thế hệ tiếp theo

Sơ đồ tổng thể của giải thuật SGA được thể hiện qua thủ tục SGA() trình bày dưới đây

Trang 39

Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/

Thủ tục SGA () /* Giải bài toán tối ƣu */

do { // Chuyển đổi giá trị hàm mục tiêu thành giá trị độ phù hợp và

Pparent = chọn_lọc (Pk );

Pchild = đột_biến (lai_ghép (Pparent));

// Thay thế quần thể hiện tại bằng quần thể cá thể con

k = k + 1;

Pk = Pchild; tính_hàm_mục_tiêu (Pk);

// Nếu giá trị hàm mục tiêu obj của cá thể tốt nhất X trong quần

Trang 40

Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/

Đó chính là các tham số điều khiển của giải thuật SGA Cá thể có giá trị hàm mục tiêu tốt nhất của mọi thế hệ là lời giải cuối cùng của giải thuật SGA Quần thể đầu tiên được khởi tạo một cách ngẫu nhiên

Ví dụ: xét bài toán tìm max của hàm f(x) = x 2

với x là số nguyên trên

đoạn [0,31]

Để sử dụng giải thuật di truyền ta mã hóa mỗi số nguyên x trong đoạn

[0,31] bởi một số nhị phân có độ dài 5, chẳng hạn chuỗi 11000 là mã của số

nguyên 24 Hàm thích nghi được xác định chính là hàm f(x)=x 2

Quần thể ban đầu gồm 4 cá thể (kích thước quần thể N=4)

Thực hiện quá trình chọn lọc ta có bảng 2.1 sau, trong bảng này ta thấy

cá thể 2 có độ thích nghi cao nhất nên nó được chọn 2 lần, cá thể 3 có độ thích nghị thấp nhất không được chọn lần nào, mỗi cá thể 1 và 4 được chọn 1 lần

Bảng 2.1: Bảng quá trình chọn lọc các cá thể có độ thích nghi tốt

Sốhiệu

cáthể

Quần thể ban đầu x

Độ thích nghi f(x)=x 2

Số lần đượcchọn

Ngày đăng: 25/02/2021, 07:20

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

TÀI LIỆU LIÊN QUAN

w