Xây dựng hàm mục tiêu đánh giá

Một phần của tài liệu tính độ tương tự và áp dụng trong lập luận theo tình huống (Trang 64)

Trong phần này, chúng tôi sẽ đi xây dựng một hàm E thể hiện được sai số giữa hàm tính độ tương tự với bộ trọng số tìm được và đánh giá của chuyên gia. Một cách đơn giàn, chúng tôi chọn hàm E là hàm sai số trung

Tinh độ tương tự và ứng dụng trong CBR 1/1/2006

binh binh phươns giữa giá trị của hàm tương tự và đánh giá của chuyên gia tương ứng.

Giả sử ta có |C| = p, ma trận sổ hóa đánh giá của các chuyên gia là

K ý hiệu Ư = [0,1], E là một ánh xạ từ u n vào đoạn [0,1]: E: U" -► ư

w ị~» E(w) với

ở đây, SỈMiw)( i, j)là độ tương tự giữa hai ca lập luận thứ i và j trong tập huấn luyện.

Hàm E(w) như trên có các tính chất sau: • Nhận Wj, j = 1,2 ,.. ,n là các biến.

• Khi các tiến gần tới rtj thi E(w) sẽ tiến tới cực tiểu. Với cách xây dựng như công thức (3.2), hàm E thỏa mãn được các yêu cầu đặt ra cho một hàm đánh giá bộ trọng sổ, nó thể hiện sai số trung binh bình phương giữa các giá trị độ tương tự tính được nhờ công thức (1.1) vói các giá trị đánh giá tương ứng của các chuyên gia

Việc tối thiểu hàm E có thể có nhiều phương pháp khác nhau, giảm gradient là phưcme pháp được đề cập sớm nhất và được áp dụng rộng rãi nhất

Tính độ tưcmg lự và ítĩỉg dụng trong CBR 1/1/2006

cho giải các bài toán dạng này do tính đơn giàn và khả năng hội tụ nhanh chỏng của nó. Bèn cạnh đó, chúng tôi cũng sừ dụng thêm một phương pháp giải khác là đủng giải thuật di truyền, đây là giải thuật dựa trên mô hình ngẫu nhiên được sử dụng để tối ưu các hàm số khi không gian các lời giải là rất lớn. Các kết quả thực nghiệm trong trường hợp cụ thể cho hai phương pháp này sẽ được chi ra trong chương 4.

3.4. C á c phương pháp tối ỉhiểu hàm m ục tiêu

Phần này sẽ trinh bày một số phương pháp tối thiểu hàm mục tiêu để tìm ra bộ trọng số tốt nhất. Có nhiểu phương pháp toán học cố thể áp dụng cho vấn đề này. Trong mục này, chúng tôi trình bày hai phương pháp cơ bản và được sử dụng nhiều nhất là đổc gradient và giải thuât di truyền.

3.4.1 Sử dụng phương pháp giảm Gradient tối thiểu hàm mụctiêu tiêu

Giảm gradient là phương pháp tim lời giải tối ưu cục bộ dựa trẽn các thông tin đạo hàm hàm mục tiêu. Giả sử ta có hàm mục tiêu E với n tham so đầu vào, khi đó E là một siêu phẳng trong không gian n chiều. Một cách hình ảnh thù siêu phẳng E có những vùng “lồi-lõm” tương ứng với các giá trị “lớn- nhò” cùa hàm E, mục tiêu của ta là tim được giá trị các tham số đầu vào tại vị trí “lõm" nhất, tức là E có giả trị nhò nhất. Phương pháp giảm građient bao gồm các bước sau [21]:

1. Chọn ngẫu nhiên một điểm Xo trong không gian nghiệm. 2. Tính độ dốc của mặt E tại điểm X o -

Tỉnh độ tương (ự vờ ứng dụng í rong CBR ỉ / ỉ /2006

4. Xem điểm này như điểm Xo mới.

Áp dụng cho bài tóan cùa chứng ta với E là hàm đánh giá với các tham

s ổ đầu vào là w = ( W |, W 2, .. . ,wn). Giả sử có 2 ca lập luận a, b khi đó độ tưcmg tự giữa a và b được tính theo công thức (1.1). Sử dụng kỷ thuật giảm gradient trên cho bài tỏan cùa chúng ta, khi đó độ dốc mặt lồi tại w được tính như sau:

õw

trong đó X là tốc độ học

Cập nhật w = w + Aw, tức là với mỗi l<j<n, Wj = Wj +AWj

với

A™ - - X - = —Ầ____M - ÔSIM {w)(a,b) (3 4) ; ôWj ÔSIM (w)(a, b) ôw

Đe giành được bộ trọng số tối ưu, chúng ta cần tối thiều hàm E, sừ dụng kỳ thuật gradient, thuật toán thực hiện được mô tả như sau:

Bước 1. Chọn X.

Bước 2. Khởi tạo ngẫu nhiên Wj trong đoạn [0,1]. Bước 3. Tính Awj với mỗi jtheo công thức (3.4). Bước 4. Tính lại Wj = W j +Awj với mỗi j.

Bước 5. Lặp lại bước 3 và 4 tới khi hội tụ, đó là cho tới khi giá trị của E nhò hơn hoặc bằng một ngưỡng cho trước, hoặc tới khi số các bước lặp tới một giới hạn định tnrớc.

Tính độ nrơng tự và ứng dụng trong CBR 1/1/2006 (adsbygoogle = window.adsbygoogle || []).push({});

3.4.2 Sử dụng giải thuật di truyền tối thiểu hàm mục tiêu

Bài tỏan tối ưu cỏ thể được xem như bài toán tim ra lời giải (tốt nhất) trong không gian (rất lớn) các giải pháp. Khi không gian các giải pháp là nhỏ, ta có thể dùng các phương pháp cổ điển để tim lời giải, nhưng khi không gian lớn, cẩn phải dùna các kỹ thuật trí tuệ nhân tạo đặc biệt. Giải thuật di truyền (Genetic Algorithm-GA) là một trong các kỹ thuật đó [9]. GA ỉà một thuật giải mô phòng các hiện tượng tự nhiên: kế thừa và đấu tranh sinh tồn để cải tiến lời giải và khảo sát không gian lời giải. GA được dùng dựa trên quan điếm: quá trình tiến hóa tự nhiên là quá trình hoàn hảo nhất, hợp lý nhất và tự nó mang tinh tối ưu, thế hệ sau bao giờ cũng tốt hem thế hệ tnrớc.

Trong tiến hóa tự nhiên có hai quá trình cơ bản là sinh sản và chọn lọc tự nhiên. Các cá thể luôn được sinh ra để bổ xung thay thế các cá thể cũ. Cá thể nào phát triển hcm, thích ứng với môi trường sẽ tồn tại và môi trường và sự tiến hóa luôn luôn thúc đẩy nhau. Hai quá trình này có thể được chia làm bốn quá trình con là lai ghép, sinh sản, đột biến và chọn lọc tự nhiên.

Áp dụng tư tường trên vào bài toán tối ưu, khi đó mồi giá trị trong không gian nghiệm sỗ được coi là một cá thể và thường được biểu diễn bằng một (hoặc một tập) chuỗi bit mà ta gọi là các gen. Để tìm nghiệm tổi ưu của bài toán, GA sẽ thực hiện các bước như sau:

• Bước 1: Khởi tạo ngẫu nhiên một quan thể ban đầu gồm một số các cá thề.

• Bước 2: Thực hiện các phép di truyền là lai ghép, đột biến và tái sinh

Tính độ tưcmg tựứng dụng í rong CBR 1/1/2006

Bước 4: Lặp lại bước 2 và 3 cho tới khi tìm ra một cá thể tốt nhất hoặc tới khi số thế hệ vượt qua một ngưỡng nào đó cho trước.

Đe thực hiện giải thuật di truyền, chúng ta phài quan tám tới các vấn đề sau:

Một cấu trúc dữ liệu I biểu diễn không gian lời giải của bài toán.

• Phươn® p h á p k h ở i tạo quần th ể ban đầu.

• Hàm định nghĩa độ thích nghi.

• Các phép toán di truyền (lai ghép, đột biến, chọn lọc, tái sinh).

• Các tham số giải thuật di truyền(cỡ quần thể, xác suất lai ghép, xác xuất đột biển,...)

Áp dụng GA trong bài toán của chúng ta, biểu diễn mỗi cá thể là một nghiệm bời một vector s có n thành phần (tương ứng n thuộc tính trong ca lập luận) và cá thể thứ k được biểu diễn bời vec-tơ Svr={Si, S2, . . Sn), mỗi Si là một đãy m bit tưcmg ứng với trọng số W j . Nếu độ chính xác cần đạt là 3 số lè trong khi các giá trị của Si chi thuộc đoạn [0,1] thì ta cần phải chia đoạn [0,1] thành 1.103 khoảng và độ dài m =10 bit. Hàm định nghĩa độ thích nghi (hay hàm đánh giá) là hàm E tính trung binh lỗi binh phương (độ lệch) sinh ra bởi mỗi cá thể 5*:

Ờ đây S Ih ỉk(i,j) là độ tưcmg tự giữa hai ca lập luận thứ i và j ưong tập ca lập luận với vec-tơ trọng số Sỵ.

X {St)V , j ) ~ y,j) ì (3.5)

Tính độ tương tự và ứng dụng Irong CBR 1/1/2006

Đe tính được SIMSk(i,j), ta cần phài ánh xạ mỗi s¡ trong Sk thành một sổ thực Wj trong đoạn [0,1], cách tính như sau: Với mồi chi số j trong sk:

• Biển đổi chuỗi bít Sj từ cơ sổ 2 sang cơ sổ 10, già sử bằng Wj’

• Tìm so thực Wj tircmg ứng với Wj’

Các tham số khác cho giải quyết bài toán này là tùy chọn, chương 4 của luận văn sẽ đưa ra chi tiết các tham số này.

3.5 K ết luận

Chương này đã đề xuất phương pháp cho tối ưu bộ trọng số cho hàm tính độ tương tự ưong CBR ừên tập các ca lập luận. Tư tường của phương pháp là xây dựng hàm mục tiêu đánh giả trọng số từ những thông túi đánh giá của các chuyên gia và hàm tính độ tương tự giữa các ca lập luận trong tập huấn luyện. Sau đó, sừ đụng một số phưcmg pháp tối iru hàm đánh giá để thu được bộ trọng sổ tốt nhất. Tư tưởng và nguyên lý cơ bàn của hai giải thuật tối ưu thông dụng nhất là giải thuật di truyền và dốc Gradient cùng được đưa ra nhằm làm cơ sờ cho thực nghiệm trong chương 4.

Tinh độ tương lự và img dụng trong CBR 1/1/2006

C h ư c r n g 4 . T h ự c n g h i ệ m

C h ư ơ n g náy đ ư a ra h ệ th ố n g thực n g h iệ m ch o ph ư ơ n g pháp tối ưu tro n g c h ư ơ n g 3 trên hai hệ th ố n g k h á c nhau, m ộ t hệ th ố n g thực ước lư ợ ng chi phi p h ầ n m ề m và m ộ t h ệ th ố n g g iả lập, đây là hệ th ố n g được c h ú ng tôi đ u a ra với c ác đ ữ liệu sinh già. M ụ c đ íc h c ủ a h ệ th ố n g g iả lập này n h ằ m làm sáng tò h ơ n các k ế t q u ả thu đ ư ợ c tro n g p h ư ơ n g p h áp tổi ưu. C ác m ô tả cơ bả n về các hệ th ố n g đ ư ợ c ím s d ụ n g th ừ n g h iệ m v à k ết q u ả sẽ đ ư ợ c đư a ra trong c á c phần dưới đày.

4.1 T h ự c nghiệm trên hệ thống ư ớc lượng chi phí phầnm ềm m ềm

T h ự c nghiệm n à y đư ợ c thự c hiệ n trên m ộ t h ệ th ố n g ước lư ợ n g chi phí p h ầ n m ề m s ử dụng C B R [25]. H ệ th ố n g này đ a n g tro ng giai đ o ạn thử n g h iệ m k ết q u ả v à n â n g cấp, v à đ ượ c th ự c hiệ n bởi các cán bộ g iảng viên k h o a công n g h ệ th ô n g từi Đại h ọ c C ô n g n g h ệ , Đại h ọ c Q u ổ c g ia H à Nội. D ưới đây là các m ô tả c ơ b ả n về hệ th ố n g th ự c n à y v à c ác kết q u ả th ự c n g h iệ m trên đó. (adsbygoogle = window.adsbygoogle || []).push({});

4 .1 .1 H ệ th ố n g ư ớ c lư ợ n g c h i p h í p h ầ n m ề m

Ư ớ c lư ợ n g là m ộ t tro n g n h ừ n g cô n g việc k h ó n h ấ t trong ph á t triển p hần m ề m đ ặ c biệt là tro n g giai đ o ạ n x á c định. Vì h iể u b iế t c ủ a chúng ta v ề hệ th ố n g tro n g giai đoạn này c ò n h ạ n chế v à c h ư a chi tiết nên sai số c ủ a ước lượ ng th ư ờ n g rất lớn. T r o n g n h ữ n g n ă m qua, rất n h iề u p h ư ơ n g pháp đ ư ợ c đề xuất n h ằ m tà n g độ c h ín h x á c c ủ a việc ư ớ c lượng. H ệ thố ng này d ù n g cách tiếp c ậ n c h o uớ c lư ợ n g d ự á n p h ầ n m ề m sử d ụ n g p h ư ơ n g pháp lập lu ậ n theo tìn h h u ổ n g (Case-Based Reasoning).

Tinh độ tương tự \'à ứng dụng trong CBR 1/1/2006

B iể u d iễ n các d ự á n b a o g ồ m lự a c h ọ n c ấ u trú c, nội đ u n g v à c á c h thức tích h ợ p từ n g d ự án riê n g v à o c ơ s ở t n thức. T r o n g b ư ớ c này, v iệ c lự a ch ọ n n h ừ n g th ô n g tin nào c ủ a d ự á n đ ể m ô tà là h ế t sứ c q u a n trọng. N h ừ n g th ô n g tin đư ợ c lự a chọn p h ả i là n h ữ n g th ô n g tin đ ặ c trư n g c ủ a d ự á n v à p h ả i xác đ ịn h đ ư ợ c n g a y trong giai đ o ạ n x á c định. T r o n g m ô h ìn h n à y , m ỗ i d ự án đư ợ c m ô tà g ồ m hai phần: đặc tà dự ân v à chi phi, thời gian th ự c tế. B ả n g 4.1 m ô tà c á c th u ộ c tính của m ộ t d ự á n v à m iề n g iá trị c ủ a c h ú n g .

Bảng 4 .1 - C ác thuộc tính và m iền giá trị của chúng

Thuộc tính ■ Miền giá trị

1. Mién ứng dụng Quản lý, hệ thống, khoa học, web

2. Kién trúc hệ thống máy đơn, client/servcr, phân tán

3. Hệ QTCSDL không có, đơn giản, trung bình, phúc tạp

4. Ngôn ngữ lập trinh đơn gián, trung binh, phức tạp

5. Giao diện dóng lệnh, đồ họa, web

6. Số yêu cẩu chức nảng phức lạp sô nguyên dương

7. Sô yêu câu chức nâng trung binh sổ nguyên dương

8. Sỏ yêu càu chức năng dưn giản số nguyên dương

9. Yêu cẩu phi chức năng rất đễ, đễ, trung binh, khỏ, rất khó

10. Năm băt đâu 1990-2020

Khi đ ó m ộ t ca lậ p lu ậ n tro n iĩ c ơ s ở tri thứ c có th ể c ó d ạ n g sau:

CaselD: 25 Ước lượng: 5

Miền úng dụng: q.ly Kiên trúc hệ thông: web HQTCSDL: dgian Giao diện: web

Sô chức năng phức tạp: 4 Sô chức nãng trung binh: 3 Sô chức năna đơn gián: 7 Yêu câu phi chức nảng: ib Thời gian bát dâu dự án: 2000 Ngôn ngữ lập trinh' PHP

Tính độ tương tự vờ im<ĩ dụng irong CBR 1/1/2006

4.1.1.2 Tìm kiếm dự án tương tự

C ỏ rất nhiều p h ư ơ n g p h á p để so sánh đ ộ g io n g nhau c ủ a các d ự ản, trong m ô h ìn h này các tác g iả tính độ tư ơ n g tự g iữ a h ai d ự án T v à s bàng hàm sim (T , S) n hư cô n g thức (1.1).

Cỏ n h iều p h ư ơ n g pháp tín h độ tưcmg tự g iữ a c ác thuộc tính, tro n g m ô hình n à y độ tư ơ ng tự g iữa các thu ộc tính đư ợ c tinh n h ư sau:

Với các thuộc tính 1, 2, 3, 4 v à 8 (b ả n g 4.1), d ự a vào các kiến th ứ c về ướ c lư ợ n g d ự án, các tác g iả đ ư a ra các b ả n g tín h đ ộ tưcmg tự c h o các thuộc tính này [25],

Với các thuộc tính 5, 6 và 7 (bảng 4.1), đ ộ tư ơ n g tự đượ c tính theo c ôn g thức (4.2). Đ ộ tư ơ n g tự của c ác thuộc tín h c àn g lớn khi sự sai khác về giá trị c ù a các thuộc tính c àng nhò.

sinii(Tj, S i ) - 2*m in{Ti, S,}/(Tị + Si) (4.1)

V ới thuộc tính 9 (B ả n g 4,1), độ tư ơ n g tự đ ư ợ c tinh th e o cô n g thức (4.3). Đ ộ tư ơ ng tự cùa các th u ộ c tính c àn g lớn khi thời g ian thực h iệ n c ủ a hai d ự án c àng g ầ n nhau.

simi(Ti,Si) = 0.ổỉ]Ti's‘ ụ (4.2)

Ví dụ, với 2 ca lập lu ậ n có ID là 24 và 25, m ô h ìn h tính độ tư ơ n g tự đư ợ c chỉ ra trong hình 4.1 (adsbygoogle = window.adsbygoogle || []).push({});

Tính độ lương tự và ứng dụng trong CBR 1 / 1 / 2 0 0 6

T r ọ n g sổ

CaselD: 24

0 8 CaseĩD 25

Miên imadụna: q ly 4--- — --- ► Miên ửng dụng: q.ly

Kièn ưúc hệ thông: \VL'b *---9 2--- *

0 <1 Kiên trúc h« thông: vveb

HQTCSDL: p tap «---M--- ►

0 4 HQTCSDL: dgian

Giao dỉện: d.hoa «--- — --- ►

« — M--- *

Giao diện: web

Sô chức nàng phức tap: 2 Sò chửc năng phửc tập: 4

Sô chức năng trung binh 5

- 0 6 ....* Sô chức nàng trung binh: 3

Sò cbừc năng đơn giản: 5 ♦— ^ --- >

n 0 Sô chửc nảng đơn giản: 7

Yêu càu phi chức nủng. àc 4---^ --- ►

rt 8 Yêu cẩu phi chức năng: tb

Thời aian băt dâu dự án. 2000 4--- — --- ►

!LĨ--- ►

Thơi gian bảl đâu dự án; 2000

Ngõn Egừ lập trình : Ja\a Ngôn ngữ iập trinh: PHP

S I M (ID 2 4 ,ID 2 5 ) = 1/48 * (8* 1 + 2* 1 + 4*0 + 4 *0 .6 + 3 * 0 .6 6 + 6*0.75 + 5*0.8 + 2 * 0 .6 + 8*1 + 7 * 0 .7 ) = 0 .77

Hình 4.1 Tính độ tương tự giữa hai ca lập luận 24 và 25.

4 .1 .2 K ế t q u ả th ự c n g h iệ m

Phần n à y đưa r a k ế t q u à th ự c n g h iệ m cho h ệ th ố n g tối ư u b ộ trọng sổ của bài to á n ướ c lư ợ n g chi p h í p h ầ n m ề m đượ c m ô tả b ê n trên với 25 ca lập luận tro n g c ơ sờ dừ liệ u v à các đ á n h g iá c ủ a các c h u y ê n gia. B àn g 4.2 đ ư a ra các ca lập lu ậ n trong h ệ th ố n g để tìm ư ọ n g số tối ưu. B ản g 4.3 c h o biết các đánh giá c ủ a chuyên g ia v ề độ tư ơ n g t ự g iữ a 25 c a lập luận tro n g b ả n g 4.2. B ảng 4.4 c h i ra bộ trọ n g số t h u đ ư ợ c s a u k h i h ệ th ố n g tối ư u h o ạ t động.

Tính độ (ương í ự và img dụng trong CBR 1/1/2006 / B ả n g 4.2 - T ậ p các ca lập lu ậ n h u â n lu y ệ n -STT MUD

Một phần của tài liệu tính độ tương tự và áp dụng trong lập luận theo tình huống (Trang 64)