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

Giải thuật di truyền và ứng dụng đối với bài toán xác định công thức hồi quy trong thí nghiệm hóa sinh

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 (1.34 MB, 61 trang )

1
ĐẠI HỌC THÁI NGUYÊN
TRƢỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG

LƢƠNG THỊ THU HÀ

GIẢI THUẬT DI TRUYỀN VÀ ỨNG DỤNG ĐỐI VỚI BÀI TOÁN XÁC
ĐỊNH CÔNG THỨC HỒI QUY TRONG THÍ NGHIỆM HÓA SINH

LUẬN VĂN THẠC SĨ
KHOA HỌC MÁY TÍNH

THÁI NGUYÊN 2015
Số hóa bởi Trung tâm Học liệu - ĐHTN

/>

2
LỜI CAM ĐOAN
Sau quá trình học tập tại Trƣờng Đại học công nghệ thông tin & truyền
thông, với những kiến thức lý thuyết và thực hành đã tích lũy được, với việc vận
dụng các kiến thức vào thực tế, em đã tự nghiên cứu các tài liệu, các công trình
nghiên cứu, đồng thời có sự phân tích, tổng hợp, đúc kết và phát triển để hoàn
thành luận văn thạc sĩ của mình.
Em xin cam đoan luận văn này là công trình do bản thân em tự tìm hiểu,
nghiên cứu và hoàn thành dưới sự hướng dẫn của thầy giáo TS. Vũ Vinh Quang.
Thái Nguyên, tháng 5 năm 2015
Học viên

Lương Thị Thu Hà


Số hóa bởi Trung tâm Học liệu - ĐHTN

/>

3
LỜI CÁM ƠN
Trong thời gian hai năm của chương trình đào tạo thạc sỹ, trong đó gần một
nửa thời gian dành cho các môn học, thời gian còn lại dành cho việc lựa chọn đề tài,
giáo viên hướng dẫn, tập trung vào nghiên cứu, viết, chỉnh sửa và hoàn thiện đề tài.
Với quỹ thời gian như vậy và với vị trí công việc đang phải đảm nhận, không riêng
bản thân em mà hầu hết các sinh viên cao học muốn hoàn thành tốt luận văn của mình
trước hết đều phải có sự sắp xếp thời gian hợp lý, có sự tập trung học tập và nghiên
cứu với tinh thần nghiêm túc, nỗ lực hết mình; tiếp đến cần có sự ủng hộ về tinh thần,
sự giúp đỡ về chuyên môn một trong những điều kiện không thể thiếu quyết định đến
việc thành công của đề tài.
Để hoàn thành được đề tài này trước tiên em xin gửi lời cảm ơn đến thầy
giáo hướng dẫn TS. Vũ Vinh Quang, người đã có những định hướng cho em về
nội dung và hướng phát triển của đề tài, người đã có những đóng góp quý báu
cho em về những vấn đề chuyên môn của đề tài, giúp em tháo gỡ kịp thời những
vướng mắc trong quá trình làm luận văn.
Em xin gửi lời cảm ơn tới các Cán bộ nghiên cứu thuộc Viện Hóa sinh
biển thuộc Viện Hàn lâm khoa học và Công nghệ Việt Nam đã cung cấp đầy đủ
các số liệu thu được từ các phòng thí nghiệm tại Viện để giúp đỡ Em tiến hành
các thí nghiệm thành công.
ô giáo Trường Đại học Công nghệ thông
tin và Truyền thông Thái Nguyên, cũng như bạn bè cùng lớp đã có những ý kiến
đóng góp bổ sung cho đề tài luận văn của em. Xin cảm ơn gia đình, người thân
cũng như đồng nghiệp luôn quan tâm, ủng hộ hỗ trợ về mặt tinh thần trong suốt
thời gian từ khi nhận đề tài đến khi hoàn thiện đề tài này.
Trong nội dung của luận văn chắc chắn còn nhiều thiếu sót. Em rất mong

các Thầy Cô cùng bạn bè đóng góp để bản luận văn của Em được hoàn thiện hơn.
Em xin trân trọng cảm ơn.
Thái Nguyên, tháng 5 năm 2015
Học viên
Lƣơng Thị Thu Hà
Số hóa bởi Trung tâm Học liệu - ĐHTN

/>

4
MỤC LỤC
LỜI MỞ ĐẦU ........................................................................................................ 7
Chương 1 CÁC KIẾN THỨC CƠ BẢN VỀ HÀM HỒI QUY THỰC NGHIỆM 9
1.1. Khái niệm cơ bản về hàm nội suy ................................................................... 9
........................................................................................ 10
........................................................................ 11
(Spline) ........................................................................... 12
1.1.4 Nội suy bằng hàm hữu tỉ ......................................................................... 14
1.2 Bài toán hồi quy ............................................................................................. 14
1.2.1 Phương pháp bình phương cực tiểu......................................................... 15
1.2.2 Hàm hồi quy tuyến tính ........................................................................... 16
1.2.3 Hàm hồi quy bậc 2................................................................................... 17
1.2.4 Các phương pháp đưa về dạng tuyến tính ............................................... 17
1.2.5 Hồi quy nhiều chiều (hồi quy bội).......................................................... 18
Chương 2 MỘT SỐ KIẾN THỨC CƠ BẢN VỀ GIẢI THUẬT DI TRUYỀN .. 20
2.1 Các khái niệm cơ bản ..................................................................................... 21
2.1.1 Cá thể, nhiễm sắc thể ............................................................................... 21
2.1.2 Quần thể................................................................................................... 21
2.1.3 Chọn lọc................................................................................................... 21
2.1.4 Lai ghép (Cross-over) ............................................................................. 22

2.1.5 Đột biến (Mutation) ................................................................................ 22
2.1.6 Các tham số của GA ................................................................................ 23
2.2 Cơ chế thực hiện của thuật toán di truyền ...................................................... 24
2.2.1 Mã hóa ..................................................................................................... 24
2.2.2 Khởi tạo quần thể ban đầu ....................................................................... 26
2.2.3 Xác định hàm thích nghi ......................................................................... 26
2.2.4 Cơ chế lựa chọn ....................................................................................... 26
2.2.5 Các toán tử di truyền ............................................................................... 28
2.3. Thuật toán di truyền kinh điển (GA) ............................................................. 29
2.3.1 Mã hóa ..................................................................................................... 29

Số hóa bởi Trung tâm Học liệu - ĐHTN

/>

5
2.3.2 Toán tử chọn lọc ...................................................................................... 30
2.3.3 Toán tử lai ghép ....................................................................................... 31
2.3.4 Toán tử đột biến....................................................................................... 32
2.4 Thuật toán di truyền mã hoá số thực (RCGA) ............................................... 34
2.5. Một số ứng dụng của GA .............................................................................. 40
Chương 3 BÀI TOÁN MÔ PHỎNG QUÁ TRÌNH CHIẾT XUẤT DUNG MÔI .... 43
3.1. Mô hình bài toán ........................................................................................... 43
3.2 Xây dựng mô hình GA ................................................................................... 46
3.2.1 Phương pháp biểu diễn cá thể ................................................................. 46
3.2.2 Xác định hàm thích nghi ......................................................................... 47
3.2.3 Các toán tử di truyền ............................................................................... 47
3.2.4 Quá trình khởi tạo quần thể ..................................................................... 48
3.3 Kết quả thực nghiệm ...................................................................................... 49
.......................................................................................................... 54

TÀI LIỆU THAM KHẢO .................................................................................... 55
PHẦN PHỤ LỤC ................................................................................................. 56

Số hóa bởi Trung tâm Học liệu - ĐHTN

/>

6
DANH MỤC HÌNH
Hình 2.1 Sơ đồ mô tả GA ..................................................................................... 22
Hình 2.2 Lai ghép CMX...................................................................................... 38
Hình 2.3 Phân bố của x cij .................................................................................... 38
Hình 2.4 Toán tử lai ghép SX .............................................................................. 39
Hình 3.1 Thiết bị thí nghiệm chiết xuất dung môi ............................................... 43
Hình 3.2 Biểu đồ biểu diễn giá trị của hàm ......................................................... 51
Hình 3.3 Biểu đồ biểu diễn giá trị của hàm ......................................................... 53

Số hóa bởi Trung tâm Học liệu - ĐHTN

/>

7
LỜI MỞ ĐẦU
Trong khoa học thực nghiệm, thông qua các kết quả thực nghiệm một vấn
đề rất quan trọng là xuất phát từ các bộ số liệu thực nghiệm hay còn gọi là các
mốc hồi quy, ta cần phải xác định một quan hệ thống kê giữa các đối tượng sao
cho quan hệ này là xấp xỉ tốt nhất ứng với các mốc hồi quy đã xác định. Về mặt
toán học việc xác định quan hệ thống kê này thường đưa đến việc xác định các
tham số chưa biết thông qua một bài toán cực trị được mô tả bằng phương pháp
bình phương tối thiểu và chuyển bài toán về việc giải các hệ phương trình đại số

tuyến tính hoặc các hệ phi tuyến tính. Đối với các bài toán này thì khối lượng
tính toán là tương đối lớn đối với các hệ đại số tuyến tính còn đối với các hệ phi
tuyến thì đại đa số chúng ta không thể xác định được nghiệm của hệ.
Thuật giải di truyền GA (Genetic Algorithm) là một trong những kỹ thuật
tìm kiếm lời giải tối ưu đã đáp ứng được yêu cầu của nhiều bài toán và ứng dụng.
Điểm mạnh của GA là cho phép xác định lời giải gần tối ưu của các bài toán cực
trị thông qua các phép toán lai ghép và chọn lọc các phương án của bài toán với
cơ chế hết sức đơn giản nhưng rất hiệu quả. Trong công nghệ thông tin hiện nay,
giải thuật GA kết hợp với logic mờ, mạng Nơron đã được ứng dụng nhiều trong
lớp các bài toán NP.
Xuất phát từ lý do đó, đề tài đặt vấn đề nghiên cứu về GA và ứng dụng
trong việc xác định các công thức hàm hồi quy, ứng dụng vào bài toán xác định
công thức gần đúng trong

hóa sinh.

Với những lý do trên, em chọn đề tài: “Giải thuật di truyền và ứng dụng
đối với bài toán xác định công thức hồi quy trong thí nghiệm hóa sinh” làm
luận văn tốt nghiệp.
Nội dung chính của luận văn gồm 3 chương bao gồm:
Chƣơng 1: Trình bày cơ sở toán học trong việc xác định công thức hàm
nội suy và hàm hồi quy cùng các thuật toán tương ứng
ng của toán học đối với lớp các bài toán thực nghiệm nhằm xây dựng các công
thức gần đúng miêu tả mối ràng buộc giữa các số liệu xuất hiện trong các thí

Số hóa bởi Trung tâm Học liệu - ĐHTN

/>

8

nghiệm tại các phòng thí nghiệm. Các kiến thức này là rất cần thiết làm cơ sở để
nghiên cứu các nội dung trong luận văn.
Chƣơng 2: Trình bày các kiến thức cơ bản về giải thuật di truyền, một
trong những giải thuật đã và đang được phát triển trong công nghệ thông tin giải
quyết các bài toán tối ưu hóa theo tư tưởng quần thể ngẫu nhiên. Thuật toán GA
chính là cơ sở để xây dựng thuật toán giải bài toán thực tế được đưa ra trong
chương 3.
Chƣơng 3: Nội dung chính của chương 3 trình bày mô hình bài toán chiết
xuất dung môi, một bài toán quan trọng trong các thí nghiệm về hóa sinh. Trên
cơ sở mô hình bài toán, luận văn đã xây dựng thuật toán GA giải quyết bài toán,
tiến hành thực nghiệm với số liệu được cung cấp của phòng thí nghiệm tại Viện
Hóa sinh biển thuộc Viện Hàn lâm và khoa học Công nghệ Việt Nam. Tiến hành
đánh giá và kết luận về mối ràng buộc giữa các số liệu thực nghiệm.
Trong luận văn, các kết quả thực nghiệm được lập trình trên môi trường
Matlab version 7.0

Số hóa bởi Trung tâm Học liệu - ĐHTN

/>

9
Chƣơng 1
CÁC KIẾN THỨC CƠ BẢN VỀ HÀM HỒI QUY THỰC NGHIỆM
Trong chương này, luận văn trình bày một số kiến thức cơ bản về cơ sở
toán học trong việc xây dựng các hàm công thức hàm nội suy và hàm hồi quy.
Các kiến thức này làm cơ sở trong việc nghiên cứu các chương tiếp sau của luận
văn, các kết quả trong chương 1 được tham khảo trong các tài liệu [ 1, 2, 3, 4, 5]
1.1. Khái niệm cơ bản về hàm nội suy
Chúng ta xét một dạng bài toán xuất phát từ các số liệu thực nghiệm sau:
Cho trước (n + 1) cặp các giá trị thực nghiệm (x i , y i ), i = 0,1,..., n


x0

x1

x2

x3

x4

…..

xn

y0

y1

y2

y3

y4

…..

yn

Các giá trị (x i , y i ), i = 0,1,..., n được gọi là các mốc nội suy. Cần xác

định một hàm số f (x ) để sao cho thỏa mãn các điều kiện

f (x i ) º y i " i = 0,1,..., n
Tức là đồ thị của hàm f (x ) cần đi qua tất cả các mốc nội suy.
hồi quy

f (x )

f (x )

.
ì
y

xác định

f (x )

x Î éêëx 0, x n ù
ú
û-

.
, ngư

f (x )

công thức hàm số sau đây:

(Spline)

+ Hàm mũ

Số hóa bởi Trung tâm Học liệu - ĐHTN

/>

10
Sau đây chúng ta sẽ xét cơ sở toán học của các phương pháp xác định hàm
hồi quy trong từng trường hợp cụ thể
1.1.1

f (x ) = a 0x n + a1x n - 1 + ... + a n

(1.1)

Xuất phát từ điều kiện hàm f (x ) cần phải đi qua tất cả các mốc nội suy,
dễ thấy rằng các hệ số ak , k = 0,1,..., n
:

íï a x n + a x n - 1 + .... + a = y
ïï 0 0
1 0
n
0
ïï a x n + a x n - 1 + .... + a = y
1 1
n
1
ïì 0 1
ïï ......

ïï
n
n- 1
ïïî a 0x n + a1x n + .... + an = y n

(1.2)

đại số tuyến tính (1.2) thỏa mãn

1
x0

1 . .... 1
x 1 .. .. x n

x 02
.....

x 12 ..

x 0n

x 1n ...

. x n2 ¹ 0

(1.3)

x nn


suy luôn luôn

.

n 1

về mặt toán học,

ak , k = 0,1,..., n . K

cần

các hệ

phương trình đại số tuyến tính

Krame
. Điều này sẽ bất lợi trong việc xác

định đa thức nội suy với số mốc n i suy là rất lớn.
S
.

Số hóa bởi Trung tâm Học liệu - ĐHTN

/>

11

n


íï 1, x = x
k
Lk (x ) = ïì
ïï 0, x ¹ x k
î
ng

Lk (n ) =

(x - x 0 )(x - x 1 )...(x - x k - 1 )(x - x k + 1 )....(x - x n )
(x k - x 0 )(x k - x 1 )...(x k - x k - 1 )(x k - x k + 1 )....(x k - x n )

L k (x ) =

Hay

Õ (x - x )
Õ (x - x )
i

i¹ k

k

i¹ k

Õ (x -

T


, k = 0,1, 2,..., n

(1.4)

i

x i ) = (x - x 0 )(x - x 1 )...(x - x n )

Khi đó ta thấy rằng

Pn ( x)

yo Lo ( x)

y1L1 ( x) .... yn Ln ( x)

yk Lk ( x)

(1.5)

Như vậy khác với phương pháp đại số, để xác định đa thức nội suy, ta chỉ
cần xác định các giá trị của nhân tử Lk ( x) k

0,1,..., n .

Xuất phát từ khái niệm về nhân tử Lagrange, chúng ta có thể xây dựng
thuật toán xác định đa thức nội suy theo phương pháp nhân tử như sau:
Thuật toán:
Input: (x k , y k ), k = 0,1,..., n ; giá trị mốc cần xác định x .

Output: Giá trị đa thức Pn (x )
Pn

0

For k = 0 to n do
Begin
+ Xác định nhân tử Lk (x )
+ Pn = Pn + y k Lk (x )
End;

Số hóa bởi Trung tâm Học liệu - ĐHTN

/>

12
Trong đó giá trị của nhân tử Lk (x ) được xác định bởi công thức (1.4).
Dễ thấy rằng đối với thuật toán trên thì độ phức tạp của thuật toán là O(n2)
Nếu kí hiệu f (x ) là hàm nghiệm đúng thì bằng cơ sở của toán học giải
tích, chúng ta có thể chứng minh rằng sai số của phép nội suy được đánh giá
bằng công thức

f ( x) Pn ( x)

M
( x xo )( x x1 )....( x x1 )
(n 1)!

Trong đó


M

sup f ( n 1) ( x)
xo

x

(1.6)

xn

Như vậy nếu với số mốc nội suy là lớn thì việc xấp xỉ bằng đa thức nội
suy sẽ đạt độ chính xác rất cao.
Ngoài phương pháp nhân tử lagrange, người ta có thể sử dụng các phương
pháp khác như phương pháp Newton để xác định đa thức nội suy. Điều này sẽ
giảm đáng kể khối lượng tính toán trong thuật toán
(Spline)

éx , x ù
ú
ëê 0 n û

(Spline).

trình bày phương pháp hàm ghép trơn bằng việc
3

3

D i = éêëx i - 1, x i ù

ú
û, chúng ta xét các đa thức bậc 3 được biểu diễn
dưới dạng

S i (x ) = ai + bi (x - x i - 1 ) + ci (x - x i - 1 )2 + di (x - x i - 1 ) 3

(1.7)

Trong đó các hệ số ai, bi, ci, di cần phải thỏa mãn các điều kiện sau đây:
+ Điều kiện ghép trơn tại các mốc nội suy

Số hóa bởi Trung tâm Học liệu - ĐHTN

/>

13

Si ( xi ) Si 1 ( xi )

(i 1,..., n 1)

Si' ( xi ) Si' 1 ( xi )

(i 1,..., n 1)

Si'' ( xi ) Si'' 1 ( xi )

(i 1,..., n 1)

(1.8)


+ Điều kiện nội suy
(i = 0,…,n)

Si(xi) = fi

(1.9)

Xuất phát từ công thức (1.7) ta sẽ thu được

ai = fi - 1,(i = 1, 2,..., n )

an bnhn cnhn2 dnhn3

fn

(1.10)

Trong đó kí hiệu hi = x i - x i - 1
Từ điều kiện liên tục, ta có
ai bi hi ci hi2 di hi3

ai

1

(1.11)

(i 1, 2,.., n 1)


Xuất phát từ điều kiện (1.8), ta thu được các hệ thức sau

bi
ci hi

3di hi2

2ci hi
3di hi

ci

1

bi

1

(i 1,2,.., n 1)

(1.12)

(i 1,2,.., n 1)

Như vậy các hệ thức (1.10) - (1.12) lập thành hệ 4n-2 phương trình với 4n
ẩn số. Để thêm vào 2 phương trình nữa, người ta đặt thêm điều kiện đạo hàm của

S (x ) tại 2 mút biên x 0, x n .
Chẳng hạn xét điều kiện S”(x1) = S”(xn) = 0 được gọi là điều kiện biên tự
nhiên, khi đó ta có

(1.13)

c1 = 0, cn + 3dnhn = 0

Như vậy ta có đủ 4n phương trình để xác định 4n ẩn.
Do các hệ số ai đã được xác định bởi phương trình (1.10) nên ta chỉ cần
xác định các ẩn bi, ci, di qua hệ 3n phương trình. Qua các phép biến đổi ta có hệ
sau đây:

di
bi

ci

ci

1

(i 1,2,.., n)

3hi
fi

fi
hi

1

hi
(ci

3

1

2ci ) (i 1,2,.., n)

Số hóa bởi Trung tâm Học liệu - ĐHTN

(1.14)

/>

14

c1

cn

hi ci

1

0

2(hi

hi 1 )ci

hi 1ci


1

2

3

fi

fi

1

hi

fi

fi

(1.15)

1

hi

1

Hệ (1.15) là hệ phương trình với ma trận 3 đường chéo, do đó dễ dàng giải
được hệ bằng thuật toán truy đuổi với độ phức tạp tính toán là O(n). Sau khi giải
được các ẩn ci, qua (1.14) ta sẽ xác định được bi và di.
Đánh giá sai số: Nếu kí hiện f (x ) là hàm nghiệm đúng S (x ) là hàm ghép

trơn thì có thể chứng minh rằng sai số được đánh giá qua công thức

f ( x) S ( x)

5
Mh3 trong đó M
2

f x3

max
x0 x xn

Nhận xét: Việc xác định hàm hồi quy bằng phương pháp hàm ghép trơn
có ưu điểm là việc tính toán được chuyển về việc giải hệ đại số bằng thuật toán
truy đuổi 3 đường chéo. Tuy nhiên độ

của

chỉ tương đương

với O (h 3 )
1.1.4 Nội suy bằng hàm hữu tỉ
m

ak xk
Ta xác định hàm

( x)


với bn = 1

k 0
n

(1.16)

bk xk
k 0

Tại các điểm x i ,(i = 1, 2,..., n + m + 1) sao cho thỏa mãn hàm đi qua tất
cả các mốc nội suy, tức là

( xi )

f ( xi ) i 1,2,..., n m 1)
n 1

ak xik

bk xik

f ( xi )

f ( xi ) xin ,(i 1,2,.., n m 1)

(1.17)

k 0


Hệ phương trình đại số trên là hệ phương trình đối với các ẩn a0,a1, …,
am,b0,b1,…,bn-2. Như vậy, để xác định hàm nội suy hữu tỉ thì ta phải giải hệ
phương trình đại số tuyến tính với (n+m+1) ẩn.
1.2 Bài toán hồi quy
Đặt vấn đề:
Số hóa bởi Trung tâm Học liệu - ĐHTN

/>

15
Khi xét bài toán nội suy, ta đã giả thiết rằng mối quan hệ giữa đại lượng

x (x 0, x 1,..., x n ) và y (y 0, y 1,..., y n ) là tồn tại với quan hệ y = f (x ) . Việc xác
định đa thức nội suy chẳng hạn Pn (x ) thỏa mãn điều kiện Pn ( xk )

f ( xk ) k . Tuy

nhiên trong trường hợp khi x và y là các đại lượng ngẫu nhiên, chẳng hạn là các
kết quả của các phương pháp đo đạc trọng địa chất hay các số liệu quan trắc môi
trường hoặc số liệu của các thí nghiệm hóa sinh, mối quan hệ giữa x và y (Hay
còn gọi là mối tương quan) là chưa đánh giá được thì việc xác định đa thức nội
suy là không thực tế và khó thực hiện. Trong những trường hợp như vậy, người
ta thường sử dụng phương pháp dự đoán tức là mong muốn xác định một hàm
gần đúng với quy luật của các số liệu thực nghiệm tức là giá trị của hàm cần đảm
bảo lệch ít nhất so với các số liệu thực nghiệm, các hàm như vậy được gọi là các
hàm hồi quy.
Sau đây chúng ta đưa ra một số kết quả về mặt toán học thực nghiệm đối
với lớp các hàm hồi quy.
1.2.1 Phương pháp bình phương cực tiểu
Giả sử chúng ta có n cặp các giá trị thực nghiệm (x i , y i ), i = 1, 2,..., n

đối với các đối tượng ngẫu nhiên x và y

x1

x2

x3

x4

…..

xn

y1

y2

y3

y4

…..

yn

Ta cần xác định mối tương quan giữa 2 đại lượng x và y theo công thức
y

F ( x, ao , a1 ,..., am)


sao cho

F xk , a 0 , a1,

, am

yk k 1,2,..., n

trong đó a0, a1, …, am là các tham số cần xác định.
Để xác định các tham số a0, a1, …, am, ta đưa ra điều kiện là tổng bình
phương độ lệch giữa giá trị thực nghiệm và giá trị hàm F x, a 0 , a1,

, a m tại

các điểm x k , k = 1, 2,..., n là nhỏ nhất, tức là:

Số hóa bởi Trung tâm Học liệu - ĐHTN

/>

16
n

(a 0 , a1 ,

, am )

F ( xk , a0 ,..., am )


yk

2

min

(1.18)

k 1

Để hàm F đạt cực trị thì theo lý thuyết về hàm số nhiều biến số, điều kiện
cần là:

(a0 , a1 ,..., am )
ak

0 k

0,1,.., m

(1.19)

Hệ thức (1.19) chính là các hệ phương trình để giải ra các ẩn số
a0 , a1 ,..., am

Tùy thuộc vào công thức của hàm F x, a 0 , a1,

, a m , chúng ta sẽ thu

được các dạng hàm hồi quy khác nhau. Sau đây chúng ta sẽ nghiên cứu một số

dạng hàm hồi quy cụ thể.
1.2.2 Hàm hồi quy tuyến tính
Chúng ta tìm hàm hồi quy dưới dạng tuyến tính bậc nhất

F (x ) = ax + b
Khi đó các hệ số a, b cần xác định từ điều kiện cực trị hàm số
2

n

( a, b)

ax k

b

yk

min

2x k (ax k

b

yk ) 0

k 1

Điều kiện cần
n


a

k 1
n

b

2(ax k

b

yk ) 0

k 1

n

n

x 2k

a
k 1

Hay

b
k 1


n

a

x k yk
k 1

n

xk
k 1

n

xk

nb

(1.20)

yk
k 1

Hệ (1.20) là hệ phương trình với a,b. Giải hệ trên ta xác định được a và b

Số hóa bởi Trung tâm Học liệu - ĐHTN

/>

17

n

n

n

x k yk

xk

k 1

a

k 1
n

n

x 2k

n

x k )2
k 1

n

n


n

x 2k

n
k 1

yk
k 1

(

k 1

b

n

yk

x k yk

k 1
n

k 1
n

x 2k


n

(1.21)

n
k 1

x k )2

(

k 1

xk

k 1

1.2.3 Hàm hồi quy bậc 2
Chúng ta tìm hàm hồi quy dưới dạng tuyến tính bậc hai

F (x ) = ax 2 + bx + c
Khi đó các hệ số a, b, c cần xác định từ điều kiện cực trị hàm số
2

n

(a, b, c)

ax


2
k

bx k

c

yk

min

2x 2k ( axk2

bx k

c

yk )

0

2x k ( axk2

bx k

c

yk )

0


k 1

Điều kiện cần
n

a

k 1
n

b

k 1
n

2(axk2

c

bx k

c

yk )

0

k 1


n

n

n

xk4 b

a

xk3 c

n

xk2

xk2 yk

k 1

k 1

k 1

k 1

n

n


n

n

3
k

Hay a

x
k 1

2
k

b

x
k 1

n

x
k 1

xk
k 1

xk yk


(1.22)

k 1

n
2
k

a

c

n

xk

nc

k 1

yk
k 1

Hệ (1.22) chính là hệ phương trình đại số cho phép xác định ra các hệ số
a, b, c. Hoàn toàn tương tự, chúng ta có thể xác định được các hàm hồi quy bậc 3,
bậc 4, bậc 5 …
1.2.4 Các phương pháp đưa về dạng tuyến tính
1/ Dạng hàm mũ f

aebx , (c


Số hóa bởi Trung tâm Học liệu - ĐHTN

0)

/>

18
Lấy logarit 2 vế, ta có: ln F

ln a bx

khi đó đặt Y ln F; A ln a, B b ta thu được Y
2/ Dạng hàm lũy thừa F

A Bx

ax b

Lấy logarit hai vế ta có: ln F ln a b ln x
Đặt Y ln F , A ln A, B b, X
Ta thu được Y

ln x

A Bx

Như vậy, bằng phép lấy logarit ta có thể đưa các dạng hàm mũ, hàm lũy
thừa về dạng hàm hồi quy tuyến tính
1.2.5 Hồi quy nhiều chiều (hồi quy bội)

1/ Đặt bài toán
Xét các biến ngẫu nhiên

y1 , y 2 ,..., y m – biến phụ thuộc
x1 , x2 ,..., x n – biến độc lập

Giả sử qua thí nghiệm, ta thu được bảng số liệu sau đây:

y\ x

x1

x2

….

xn

y1

x 11

x 21

….

x n1

y2


x 12

x 22

….

x n2



….

….

….

….

ym

x 1m

x 2m

….

x nm

Ta cần xác định hàm hồi quy bội dạng:
Y


a0

a1 x1 a2 x2 ... an xn

Trong đó Y

( y1 , y2 ,..., ym )T

Các hệ số a0 , a1 ,..., a n được xác định từ điều kiện bình phương cực tiểu
m

yi

a0

a1 x1i

a2 x2i ... an xni

2

min

i 1

2/ Một số dạng đưa về tuyến tính
a/ Hàm phi tuyến dạng tích

Y


bo x1b1 x2b2 ...xnbn

Logarit hóa 2 vế ta có

Số hóa bởi Trung tâm Học liệu - ĐHTN

/>

19

ln Y

ln b0 b1 ln x1 b2 ln x2 .... bn ln xn
Y

B0

B1 X 1

B2 X 2 ... Bn X n

b/ Hàm dạng mũ

Y

aocb1x1

b2 x2 ... bn xn


Logarit 2 vế ta có

ln Y

ln a0 b1x1 b2 x2 .... bn xn

hay Y

A0

B1 X 1

B2 X 2 ... Bn X n

Như vậy bằng lý thuyết các hàm hồi quy, qua các bộ số liệu thực nghiệm
chúng ta có thể xác định được mối quan hệ giữa các đại lượng ngẫu nhiên một
cách gần đúng thông qua các công thức của các hàm hồi quy khác nhau. Các
công thức này sẽ làm công cụ để đưa ra các quy luật tự nhiên thông qua các thí
nghiệm. Việc xác định các công thức hàm hồi quy có thể thực hiện được bằng
phương pháp bình phương cực tiểu việc tính toán có thể thực hiện được thông
qua một số phần mềm.
Kết luận chƣơng 1
Nội dung chính của chương 1 luận văn trình bày cơ sở lý thuyết về bài
toán nội suy, các phương pháp xây dựng các hàm nội suy cơ bản như hàm nội
suy Lagrange, nội suy bằng hàm ghép trơn cũng như phân tích độ phức tạp tính
toán trong việc xây dựng các hàm nội suy. Luận văn cũng đưa ra khái niệm về
hàm hồi quy thực nghiệm cũng như cơ sở toán học của phương pháp bình
phương cực tiểu trong việc xác định hàm hồi quy. Đây là các kiến thức quan
trọng làm cơ sở cho việc nghiên cứu các kết quả trong chương 2 và chương 3 của
luận văn.


Số hóa bởi Trung tâm Học liệu - ĐHTN

/>

20
Chƣơng 2
MỘT SỐ KIẾN THỨC CƠ BẢN VỀ GIẢI THUẬT DI TRUYỀN
Trong công nghệ thông tin, GA là một thành phần của Tính toán tiến
hóa (Evolutionary computation - EC), một lĩnh vực được coi là có tốc độ phát
triển nhanh của trí tuệ nhân tạo. Có thể chia EC thành 5 hướng nghiên cứu sau:
- GA (Genetic Algorithm - GA): Dựa vào quá trình di truyền trong tự
nhiên để cải tiến lời giải qua các thế hệ bắt nguồn từ một tập các lời giải ban đầu.
- Quy hoạch tiến hoá (Evolutionary Programming - EP): Dựa vào quy
luật tiến hoá, tìm phương pháp kết hợp đủ khả năng giải quyết trọn vẹn một bài
toán từ một lớp các phương pháp giải quyết được một số phần của bài toán.
- Các chiến lƣợc tiến hoá (Evolutionary Strategies - ES): Dựa trên một số
chiến lược ban đầu, tiến hoá để tạo ra những chiến lược mới phù hợp với môi
trường thực tế một cách tốt nhất.
- Lập trình Gen (Genetic Programming - GP): Mở rộng GA trong lĩnh
vực các chương trình của máy tính. Mục đích của nó là để sinh ra một cách tự
động các chương trình máy tính giải quyết một cách tối ưu một vấn đề cụ thể.
- Các hệ thống phân loại (Classifier Systems- CS): Các GA đặc biệt được
dùng trong việc học máy và việc phát hiện các quy tắc trong các hệ dựa trên các
quy tắc.
GA cũng như các thuật toán tiến hoá đều được hình thành dựa trên một
quan niệm được coi là một tiên đề phù hợp với thực tế khách quan. Đó là quan
niệm “Quá trình tiến hoá tự nhiên là quá trình hoàn hảo nhất, hợp lý nhất và tự
nó đã mang tính tối ưu”. Quá trình tiến hoá thể hiện tính tối ưu ở chỗ thế hệ sau
bao giờ cũng tốt hơn thế hệ trước.

Sự hình thành và phát triển của GA trên thế giới có thể được điểm qua các
mốc thời gian quan trọng như sau:
Năm 1960, ý tưởng đầu tiên về Tính toán tiến hoá được Rechenberg giới
thiệu trong công trình “Evolution Strategies” (Các chiến lược tiến hoá). Ý tưởng
này sau đó được nhiều nhà nghiên cứu phát triển.

Số hóa bởi Trung tâm Học liệu - ĐHTN

/>

21
Năm 1975, Giải thuật gen do John Holland phát minh và được phát triển
bởi ông cùng với các đồng nghiệp và những sinh viên. Cuốn sách “Adaption in
Natural and Artificial Systems" (Sự thích nghi trong các hệ tự nhiên và nhân tạo)
đã tổng hợp các kết quả của quá trình nghiên cứu và phát triển đó.
Năm 1992, John Koza đã dùng GA để xây dựng các chương trình giải
quyết một số bài toán và gọi phương pháp này là “Lập trình gen”.
Ngày nay GA càng trở nên quan trọng, đặc biệt là trong lĩnh vực tối ưu
hoá, một lĩnh vực có nhiều bài toán thú vị, được ứng dụng nhiều trong thực tiễn
nhưng thường khó và chưa có giải thuật hiệu quả để giải.
Sau đây luận văn sẽ trình bày các kiến thức cơ bản về GA
2.1 Các khái niệm cơ bản
Bài toán: Cho f(x1, x2,…,xn) tiến về min hoặc max. Trong đó (x1, x2,…,xn)
thuộc vào miền D của không gian Rn.
2.1.1 Cá thể, nhiễm sắc thể ()
Trong GA, một cá thể biểu diễn một phương án của bài toán. Trong trường
hợp tổng quát, một cá thể có nhiều nhiễm sắc thể (NST), ở đây ta quan niệm một
cá thể chỉ có một NST. Do đó khái niệm cá thể và NST trong GA coi như là
tương đương. Một NST được tạo thành từ nhiều gen, mỗi gen có thể có các giá trị
khác nhau để quy định một t nh trạng nào đó. Trong GA, một gen được coi như

một phần tử trong chuỗi NST.
2.1.2 Quần thể (Population)
Quần thể là một tập hợp các cá thể có cùng một số đặc điểm nào đấy.
Trong GA ta quan niệm quần thể là một tập các lời giải của một bài toán.
2.1.3 Chọn lọc (Selection)
Trong tự nhiên, quá trình chọn lọc và đấu tranh sinh tồn đã làm thay đổi
các cá thể trong quần thể. Những cá thể tốt, thích nghi được với điều kiện sống
thì có khả năng đấu tranh lớn hơn, do đó có thể tồn tại và sinh sản. Các cá thể
không thích nghi được với điều kiện sống thì dần mất đi. Dựa vào nguyên lý của
quá trình chọn lọc và đấu tranh sinh tồn trong tự nhiên, chọn lựa các cá thể trong
GA chính là cách chọn các cá thể có độ thích nghi tốt để đưa vào thế hệ tiếp theo

Số hóa bởi Trung tâm Học liệu - ĐHTN

/>

22
hoặc để cho lai ghép, với mục đích là sinh ra các cá thể mới tốt hơn. Có nhiều
cách để lựa chọn nhưng cuối cùng đều nhằm đáp ứng mục tiêu là các cá thể tốt
sẽ có khả năng được chọn cao hơn.
2.1.4 Lai ghép (Cross-over)
Lai ghép trong tự nhiên là sự kết hợp các tính trạng của bố mẹ để sinh ra
thế hệ con. Trong GA, lai ghép được coi là một sự tổ hợp lại các tính chất (thành
phần) trong hai lời giải cha mẹ nào đó để sinh ra một lời giải mới mà có đặc tính
mong muốn là tốt hơn thế hệ cha mẹ. Đây là quá trình xảy ra chủ yếu trong GA.
2.1.5 Đột biến (Mutation)
Đột biến là một sự biến đổi tại một (hay một số) gen của NST ban đầu để
tạo ra một NST mới. Đột biến có xác suất xảy ra thấp hơn lai ghép. Đột biến có
thể tạo ra một cá thể mới tốt hơn hoặc xấu hơn cá thể ban đầu. Tuy nhiên trong
GA thì ta luôn muốn tạo ra những phép đột biến cho phép cải thiện lời giải qua

từng thế hệ.
Với các khái niệm được giới thiệu ở trên, GA được mô tả bởi sơ đồ sau:
Bắt đầu

Nhận các tham số
của bài toán

Khởi tạo quần thể
ban đầu

Tính giá trị thích nghi

Điều kiện
dừng

Sinh sản

Lai ghép

Lựa chọn giải pháp tốt
nhất

Đột biến

Kết
thúc

Hình 2.1 Sơ đồ mô tả GA
Số hóa bởi Trung tâm Học liệu - ĐHTN


/>

23

1. Xác lập các tham số ban đầu của bài toán.
2. Khởi tạo: Sinh ngẫu nhiên một quần thể gồm n cá thể (là n lời giải ban
đầu của bài toán).
3. Xác lập quần thể mới: tạo quần thể mới bằng cách lặp lại các bước sau
cho đến khi quần thể mới hoàn thành, bao gồm:
3.1 Tính độ thích nghi của mỗi cá thể.
3.2 Kiểm tra điều kiện kết thúc giải thuật.
3.3 Chọn lọc các cá thể bố mẹ từ quần thể cũ theo độ thích nghi của chúng
(cá thể có độ thích nghi càng cao thì càng có nhiều khả năng được chọn).
3.4 Tiến hành lai ghép các cặp bố-mẹ với một xác suất lai ghép đượ
.
3.5 Tiến hành đột biến với xác suất đột biến được chọn xác định

cá thể

đột biến.
4. Kiểm tra điều kiện dừng: Nếu điều kiện được thỏa mãn thì thuật toán
kết thúc và trả về lời giải tốt nhất chính là quần thể hiện tại.
2.1.6 Các tham số của GA
Kích thƣớc quần thể
Kích thước quần thể cho biết có bao nhiêu cá thể trong một quần thể
(trong một thế hệ). Qua các nghiên cứu cũng như các thử nghiệm đã cho thấy
kích thước quần thể không nên quá bé cũng như không quá lớn. Nếu có quá ít cá
thể thì ít có khả năng thực hiện lai giống và chỉ một phần nhỏ không gian tìm
kiếm được dùng. Như vậy sẽ dễ xảy ra trường hợp bỏ qua các lời giải tốt. Nhưng
quá nhiều cá thể cũng không tốt vì GA sẽ chạy chậm đi, ảnh hưởng đến hiệu quả

của giải thuật. Các nghiên cứu cũng đã chỉ ra không có lợi khi tăng kích thước
quần thể lên quá một giới hạn cho phép.
Xác suất lai ghép
Xác suất lai ghép cho biết việc lai ghép tạo ra thế hệ mới được thực hiện
thường xuyên như thế nào. Nếu xác suất lai ghép là pc, khi đó khả năng để một
cá thể được lai ghép là pc. Nếu không thực hiện lai ghép, con sinh ra sẽ giống

Số hóa bởi Trung tâm Học liệu - ĐHTN

/>

24
hoàn toàn bố mẹ. Nếu được lai ghép, con sinh ra sẽ có một phần giống bố và một
phần giống mẹ.
Xác suất đột biến
Xác suất đột biến cho biết các gen của NST thay đổi thường xuyên như thế
nào. Nếu xác suất đột biến là pm, khi đó khả năng để mỗi gen của một NST bất kỳ
bị đột biến là pm. Toán tử đột biến có tác dụng ngăn ngừa GA rơi vào tình trạng
cực trị địa phương, tuy nhiên nếu thực hiện đột biến với xác suất quá cao sẽ biến
GA thành giải thuật tìm kiếm ngẫu nhiên.
Nhận xét:
Xuất phát từ sơ đồ thực hiện GA, chúng ta có thể có một số nhận xét sau:
+ GA lập luận mang tính chất ngẫu nhiên để tìm giải pháp tối ưu cho
những vấn đề phức tạp, thay vì xác định như toán học giải tích. Tuy nhiên đây là
hình thức ngẫu nhiên có hướng dẫn bởi trị số thích nghi. Chính hàm thích nghi
giúp GA tìm giải pháp tối ưu trong rất nhiều giải pháp có thể có.
+ GA không để ý đến chi tiết vấn đề, trái lại chỉ chú ý đến giải pháp cho
vấn đề, hay tìm điều kiện tối ưu cho việc điều hành và phân nhóm những giải
pháp có được.
+ GA được sử dụng đặc biệt cho những bài toán yêu cầu tìm kiếm tối ưu

toàn cục với không gian tìm kiếm lớn và không thể kiểm soát nhờ khả năng duyệt
qua không gian tìm kiếm đại diện mà không thực sự đi qua từng điểm của toàn
bộ không gian.
2.2 Cơ chế thực hiện của thuật toán di truyền
2.2.1 Mã hóa
Để có thể thực hiện GA, vấn đề đầu tiên là xuất phát từ bài toán thực tế, ta
cần phải mô tả các phương án của bài toán dưới một dạng nào đó (mô hình toán
học, tin học, …). Vấn đề mô tả đó được gọi là các phương pháp mã hóa. Thông
thường người ta sử dụng một trong các phương pháp như sau:

Số hóa bởi Trung tâm Học liệu - ĐHTN

/>

25
+ Mã hoá nhị phân
Mã hoá nhị phân là phương pháp mã hoá NST phổ biến nhất. Trong mã
hoá nhị phân, mỗi NST là một chuỗi nhị phân, mỗi bit trong nó có thể biểu diễn
một đặc tính của nghiệm.
Mã hoá nhị phân thường hay dùng trong các bài toán tối ưu các hàm một
biến hay nhiều biến. Khi đó, mỗi chuỗi nhị phân sẽ biểu diễn hàm tại một tập giá
trị của các biến. Ngoài ra nó còn được áp dụng trong nhiều loại bài toán khác.
Mã hoá nhị phân tuy là phổ biến nhưng nó có một nhược điểm là có thể
tạo ra không gian mã hoá lớn hơn so với không gian giá trị của NST. Do đó, với
nhiều bài toán thì biểu diễn nhị phân là không hữu hiệu.
+ Mã hoá hoán vị
Trong mã hoá hoán vị, mỗi NST là một chuỗi các số biểu diễn một thứ tự
sắp xếp. Mã hoá hoán vị phù hợp cho các bài toán liên quan đến thứ tự. Đối với
các bài toán này, việc thao tác trên các NST chính là hoán vị các số trong chuỗi
đó làm thay đổi thứ tự của nó. Mã hoá hoán vị có thể được sử dụng trong các bài

toán liên quan đến thứ tự như bài toán du lịch hay bài toán lập lịch.
+ Mã hoá số thực
Mã hoá trực tiếp theo giá trị có thể được dùng trong các bài toán sử dụng
giá trị phức tạp như trong số thực. Trong đó, mỗi NST là một chuỗi các giá trị.
Các giá trị có thể là bất cứ cái gì liên quan đến bài toán, từ số nguyên, số thực, kí
tự cho đến các đối tượng phức tạp hơn.
Mã hoá số thực thường dùng cho các bài toán đặc biệt. Trong cách mã hoá
này ta thường phải phát triển các toán tử đột biến và lai ghép cho phù hợp với
từng bài toán. Thông thường mỗi NST được mã hóa là một vector trong không
gian. Cách mã hóa này thường sử dụng đối với các bài toán tối ưu số và được
phát triển mạnh trong giai đoạn hiện nay.
+ Mã hóa dạng cây
Phương pháp này được sử dụng trong các biểu thức toán học. Mỗi NST là
một cây của một nhóm đối tượng nào đó.

Số hóa bởi Trung tâm Học liệu - ĐHTN

/>

×