45
Nhóm thực hiện : Nguyễn Thị Hồng Hạnh Phạm Thị Hạnh Nguyễn Thị Xuân Lớp KHMT3 - HVKTQS

Case - Based Reasoning

Embed Size (px)

DESCRIPTION

afhkjaf

Citation preview

Page 1: Case - Based Reasoning

Nhóm thực hiện : Nguyễn Thị Hồng HạnhPhạm Thị Hạnh

Nguyễn Thị XuânLớp KHMT3 - HVKTQS

Page 2: Case - Based Reasoning

Hệ dựa tri thức và lập luận tự động Phương pháp lập luận dựa luật (Rule –

based Reasoning) Hệ thống lập luận dựa luật áp dụng một dãy các luật để

tìm lời giải của bài toán

Nếu bài toán phức tạp , số lượng luật của hệ thống rất lớn ???

Không gian tìm kiếm bùng nổ -> Thời gian kéo dài

Page 3: Case - Based Reasoning

Đã có nhiều phương pháp khác nhau được đề xuất để tăng tốc độ tìm kiếm lời giải

Phương pháp gán nhãn thời gian, gán độ tin cậy cho các luật....

Tuy nhiên, nhìn chung việc tìm kiếm lời giải trong các hệ dựa trên luật chủ yếu thực hiện trên toàn bộ không gian tìm kiếm.

Page 4: Case - Based Reasoning

Vậy có cách nào khác nhanh hơn mà vẫn không kém tính hiệu quả không?

Thực tế, con người khi gặp phải một bài toán cụ thể thì thường làm như thế nào?

Họ thường không dùng các quy tắc (luật) để suy diễn ra lời giải.

Page 5: Case - Based Reasoning

Nếu trong quá khứ họ đã gặp tình huống tương tự thì họ sẽ tìm cách dùng lại cách giải hay lời giải trong quá khứ và do đó đưa ra lời giải một cách nhanh hơn.

Page 6: Case - Based Reasoning

Trên cơ sở đó, Roger Schank đã đề xuất phương pháp lập luận theo tình huống (Case-Based Reasoning - CBR).

CBR phương pháp giải quyết vấn đề bằng cách áp dụng lời giải của các bài toán cũ để giải một bài toán mới có dữ kiện tương tự

Page 7: Case - Based Reasoning

Nhiệm vụ của báo cáo này ?

Page 8: Case - Based Reasoning

Kiến thức chung về CBR Lịch sử phát triển Khái niệm Mô hình hoạt động tổng quát Một số kĩ thuật chi tiết Phương pháp tính độ tương tự giữa các ca

lập luận Tối ưu trọng số cho hàm tính độ tương tự

Page 9: Case - Based Reasoning

Kiến thức Chung về CBR

Page 10: Case - Based Reasoning

Roger Schank và các sinh viên của ông tại Đại học Yale là những người đầu tiên đưa ra những cơ sở đầu tiên về lập luận theo tình huống vào thập niên 1980.

Hệ thống đầu tiên được xem là một ứng dụng của lập luận theo tình huống là CYRUS, được phát triển bởi Janet Kolodner, một thành viên trong nhóm của Roger Schank, vào năm 1983.

Page 11: Case - Based Reasoning

Một hệ thống khác được phát triển bởi nhóm của Bruce Porter vào năm 1989 tại Đại học Texas là PROTOS, hệ thống này đã tích hợp thành công lập luận theo tri thức tổng quát (general domain knowledge) và lập luận theo tình huống thể hiện trong một cấu trúc.

Lập luận theo tình huống là một trong những ứng dụng kỹ thuật trí tuệ nhân tạo thành công trong những năm gần đây. Các ứng dụng thông dụng là trong các hệ thống trợ giúp và chẩn đoán.

Page 12: Case - Based Reasoning

Một luật sư sẽ chọn những tình huống luật đã xảy ra trong quá khứ tương tự với tình huống của thân chủ của anh ta ...

Các nhà lập trình máy tính sử dụng lại mã của họ...

Các kiến trúc sư sử dụng kiến thức của họ về những tòa nhà tốt và được ưa thích trong quá khứ ....

Page 13: Case - Based Reasoning

Tóm lại, suy luận từ những tình huống đã có là khả năng có tính chất nền tảng của trí thông minh con người. Và suy luận dựa trên tình huống cũng phát triển theo tiếp cận đó.

Page 14: Case - Based Reasoning

Hệ chuyên gia dựa trên tình huống (Case-based Reasoning – CBR) sử dụng một Cơ sở dữ liệu (CSDL) riêng biệt chứa giải pháp của các tình huống đã giải quyết để dựa vào đó tìm kiếm giải pháp cho một tình huống mới. Các tình huống thường được lưu lại như là một tập hợp các luật tình huống – hành động (situation – action). Các sự kiện mô tả tình huống của luật là những đặc điểm nổi bật của tình huống được ghi nhận.

Page 15: Case - Based Reasoning

Vậy :

Lập luận theo tình huống hay theo kinh nghiệm (CBR) là phương pháp giải quyết vấn đề dựa trên việc áp dụng lời giải của bài toán cũ vào bài toán mới có dữ kiện tương tự. Trong quá trình áp dụng, lời giải cũ có thể được hiệu chỉnh để phù hợp với bài toán mới.

Page 16: Case - Based Reasoning

Đơn vị tri thức chính của một hệ thống CBR là các bài toán đã được giải trong quá khứ.

Mỗi đơn vị tri thức được mô tả gồm: đặc tả bài toán (problem description) và lời giải (solution).

Ta gọi mỗi đơn vị tri thức là một ca lập luận (case).

Page 17: Case - Based Reasoning

Một cách tổng quát, CBR hoạt động theo chu trình “4 lại” với 4 pha :

Tìm kiếm lại (Retrieve) một hoặc nhiều ca lập luận tương tự.

Sử dụng lại (Reuse) lời giải của các ca lập luận cũ cho ca lập luận mới.

Xem xét lại (Revise) lời giải. Lưu lại (Retain) ca lập luận mới.

Page 18: Case - Based Reasoning
Page 19: Case - Based Reasoning

Mô tả : Trước một bài toán mới, hệ thống sẽ

tìm kiếm lại một hoặc một vài ca lập luận tương tự với nó từ tập các ca lập luận đã có.

Nếu lời giải của ca lập luận tìm được phù hợp với bài toán mới thì sẽ được sử dụng lại ngay. Ngược lại, hệ thống sẽ tìm cách hiệu chỉnh lời giải cũ để đưa ra một lời giải mới. Việc hiệu chỉnh phụ thuộc nhiều vào miền ứng dụng và mỗi hệ thống CBR sẽ có một cơ chế hiệu chỉnh riêng .

Page 20: Case - Based Reasoning

Quá trình xem xét lại lời giải sẽ xác minh xem lời giải có thực sự phù hợp khi áp dụng vào thực tế hay không. Việc xác minh thường được thực hiện thông qua một hệ thống giả lập môi trường để kiểm chứng lời giải hoặc do người dùng trực tiếp kiểm tra và hiệu chỉnh.

Cuối cùng nếu cần thiết hệ thống sẽ lưu lại ca lập luận mới để phục vụ cho việc giải các bài toán tương tự trong tương lai .

Page 21: Case - Based Reasoning

Một số kĩ thuật chi tiết

Page 22: Case - Based Reasoning

Một trong những vấn đề khó khăn nhất trong lập luận theo kinh nghiệm là tính độ tương tự giữa các ca lập luận(case) trong pha tìm kiếm lại(Retrieve).

Hàm tính độ tương tự có ảnh hưởng rất lớn đến hiệu quả và độ chính xác của các hệ thống

Các hàm đo khoảng cách thường dùng: khoảng cách Hamming, khoảng cách Ơclit, khoảng cách Mahatta, các khoảng cách mờ,...

Page 23: Case - Based Reasoning

Ví dụ Khoảng cách Euclide :

Page 24: Case - Based Reasoning

Đơn vị tri thức của một hệ thống lập luận theo kinh nghiệm là các ca lập luận (cases).

Một ca lập luận gồm 1 bộ :đặc tả bài toán và lời giải .

Giả thiết rằng đặc tả mỗi ca lập luận trong tập ca lập luận được biểu diễn dưới dạng cac vecto thuộc tính – giá trị có dạng a = (a1, a2,..., an), với n là số các thuộc tính biểu diễn ca lập luận.

Page 25: Case - Based Reasoning

Khi đó hai ca lập luận a và b, độ tương tự giữa chúng thường được tính theo công thức sau :

Trong đó : - n là số lượng các thuộc tính. - Simi là hàm tính độ tương tự giữa hai thuộc tính i của ca lập luận a và b

- wi là trọng số xác định tầm quan trọng của thuộc tính i.

Page 26: Case - Based Reasoning

Xây dựng các hàm simi là đơn giản và tùy thuộc vào từng bài toán cụ thể với phạm vi ứng dụng cụ thể.

Khó khăn nhất: xác định được các trọng số wi

Trong thực tế, việc gán các trọng số này được thực hiện một cách cảm tính theo kinh nghiệm của các chuyên gia.

Việc này rất khó chính xác và cho kết quả phù hợp.

Thay vào đó, chúng ta sẽ ....

Page 27: Case - Based Reasoning

Sẽ... Dựa vào nhận xét của chuyên gia về độ

tương tự giữa các ca trường hợp, từ đó xây dựng bộ trọng số tối ưu cho hàm tương tự.

Tức là xác định bộ wi

Page 28: Case - Based Reasoning

Tối ưu trọng số cho hàm tính độ tương tự giữa các ca lập luận

Page 29: Case - Based Reasoning

Trong phần này, chúng ta sẽ xem xét một phương pháp tối ưu bộ trọng số của hàm tính độ tương tự trong lập luận theo kinh nghiệm.

Tư tưởng của phương pháp là dựa trên các ca lập luận và ý kiến đánh giá của các chuyên gia , xây dựng một hàm mục tiêu đánh giá độ sai lệch trung bình giữa các giá trị hàm tương tự và đánh giá của các chuyên gia, sau đó sử dụng phương pháp gradient và giải thuật di truyền để tối ưu hàm mục tiêu này.

Page 30: Case - Based Reasoning

Bài toán : Có p ca lập luận, ma trận đánh gía

của chuyên gia : Y = (yij)p,p

yij là đánh giá độ tương tự giữa hai ca lập luận thứ i và j trong tập các ca lập luận huấn luyện.

Page 31: Case - Based Reasoning

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

E : Un →[0,1]w├ E(w)

với : (2)

SIM(w)(i,j) là độ tương tự giữa hai ca lập luận thứ i và thứ j

Page 32: Case - Based Reasoning

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 SIM(w)(i,j) tiến gần tới yij thì E(w) sẽ tiến tới cực tiểu.

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 bình bình phương giữa các giá trị độ tương tự tính được nhờ công thức (1) với các giá trị đánh giá tương ứng của các chuyên gia.

Page 33: Case - Based Reasoning

Vấn đề là làm sao để có thể tối thiểu được hàm E ?

2 phương pháp : - PP giảm Gradient - PP dùng Giải thuật di truyền.

Page 34: Case - Based Reasoning

Giảm gradient là phương pháp tìm lời giải tối ưu cục bộ dựa trên các thông tin đạo hàm mục tiêu.

Giả sử ta có hàm mục tiêu E với n tham số đầu vào, mục tiêu của ta là tìm được giá trị các tham số đầu vào tại vị trí “lõm ” nhất của siêu phẳng E, tức là có giá trị nhỏ nhất

Page 35: Case - Based Reasoning

PP giảm Gradient bao gồm các bước sau :

1. Chọn ngẫu nhiên một điểm x0 trong không gian nghiệm.

2. Tính độ dốc của mặt E tại điểm x0 .

3. Cập nhật các trọng số theo hướng dốc nhất của mặt E

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

Page 36: Case - Based Reasoning

Áp dụng vào bài toán của ta :- E là hàm đánh giá với các tham số đầu vào là

w= (w1,w2,w3,...,wn). - Giả sử có 2 ca lập luận a, b khi đó độ tương tự

giữa a và b được tính theo công thức (1).- khi đó độ dốc mặt lỗi tại w được tính như sau :

Trong đó :λ là tốc độ học.

Page 37: Case - Based Reasoning

Cập nhật w = w +Δw, tức là với mỗi 1≤ j ≤ n, wj = wj + Δwj với : (4)

Page 38: Case - Based Reasoning

Thuật toán thực hiện được mô tả như sau :Bước 1 : Chọn λBước 2 : Khởi tạo ngẫu nhiên wj trong đoạn

[0,1].Bước 3 : Tính Δwj với mỗi j theo công thức (4)

Bước 4 : Tính lại wj = wj + Δwj với mỗi j.

Bước 5 : Lặp lại bước 3,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 trước.

Page 39: Case - Based Reasoning

GA là 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 tính tối ưu, thế hệ sau bao giờ cũng tốt hơn thế hệ trước.

Page 40: Case - Based Reasoning

Để tìm nghiệm tối ưu của bài toán, GA sẽ thực hiện các bước sau :

Bước1. Khởi tạo ngẫu nhiên một quần 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

Bước 3 .Thực hiện phép chọn lọc tự nhiên 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.

Page 41: Case - Based Reasoning

Áp dụng GA cho bài toán : Biểu diễn mỗi cá thể là một nghiệm bởi

một vecto 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 vecto Sk = (s1,s2,....,sn), mỗi si là một dãy m bit tương ứng với trọng số wi. Nếu độ chính xác cần đạt là 3 số lẻ trong khi các giá trị của si chỉ 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.

Page 42: Case - Based Reasoning

Hàm định nghĩa độ thích nghi hay (hàm đánh giá) là hàm E tính trung bình lỗi bình phương (độ lệch) sinh ra bởi mỗi cá thể Sk : (5)

SIMsk(i,j) là độ tương tự giữa hai ca lập luận thứ i và j trong tập ca lập luận với vécto trọng số Sk.

Page 43: Case - Based Reasoning

Để tính được SIMsk(i,j), ta cần phải ánh xạ mỗi si 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 chỉ số j trong Sk :

1.Biến đổi chuỗi bit sj từ cơ số 2 sang cơ số 10, giả sử rằng wj

2. Tìm số thực wj tương ứng với wj’

Page 44: Case - Based Reasoning

Các tham số khác cho giải quyết bài toán này là tùy chọn, trong bài này, chúng ta chọn số lượng quần thể gồm 60 cá thể, với xác suất lai ghép pc = 25%, xác suất đột biến pm = 1%. Các quá trình lai ghép, đột biến, chọn lọc được thực hiện như giải thuật di truyền cổ điển.

Page 45: Case - Based Reasoning

Nhóm thực hiện đã trình bày được những kiến thức cơ bản về CBR và tìm hiểu chi tiết một số kĩ thuật được dùng trong pha Retrieve.

Do thời gian hoàn thành có hạn nên còn nhiều thiếu xót

Chân thành cảm ơn sự giúp đỡ của thầy Ngô Thành Long trong quá trình chúng em thực hiện bao cáo này.