24/05/2018, 17:06

TIẾP CẬN THỐNG KÊ ĐỐI VỚI TÍNH KHÔNG CHẮC CHẮN

Suy luận Bayes Suy luận Bayes dựa trên lý thuyết xác suất hình thức và được sử dụng rộng rãi trong một số lĩnh vực nghiên cứu hiện nay, bao gồm cả nhận dạng và phân loại. Trước khi đi vào lý thuyết về Bayes, ta hãy cùng ...

Suy luận Bayes

Suy luận Bayes dựa trên lý thuyết xác suất hình thức và được sử dụng rộng rãi trong một số lĩnh vực nghiên cứu hiện nay, bao gồm cả nhận dạng và phân loại. Trước khi đi vào lý thuyết về Bayes, ta hãy cùng nhau xem lại một số khái niệm cơ bản của lý thuyết xác suất.

Định nghĩa

  • Xác suất tiên nghiệm (prior probability) hay xác suất vô điều kiện (unconditional probability): là xác suất của một sự kiện trong điều kiện không có tri thức bổ sung cho sự có mặt hay vắng mặt của nó.
  • Xác suất hậu nghiệm (posterior probability) hay xác suất có điều kiện (conditional probability): là xác suất của một sự kiện khi biết trước một hay nhiều sự kiện khác.

Ví dụ, cho trước một căn bệnh d và một triệu chứng s, thì xác suất một người có triệu chứng s bị bệnh d được tính theo:

Để tính P(d | s) theo công thức trên thì ta phải thực hiện các cuộc điều tra thống kê trên một phạm vi cộng đồng dân cư rộng lớn mới cho ta được một xác suất chính xác. Bayes đưa ra một công thức tính khác cho phép ta tính được P(d | s) từ những kết quả thống kê đã có trước đó hoặc những kết quả thống kê dễ đạt được hơn.

Công thức Bayes

Ta ký hiệu P(h | e) là xác suất khẳng định giả thuyết h đúng cho trước bằng chứng e. Công thức Bayes được phát biểu như sau:

Công thức này nói rằng xác suất đúng của giả thuyết h khi quan sát được bằng chứng e, bằng với xác xuất cho rằng chúng ta sẽ quan sát được bằng chứng e nếu giả thuyết h là đúng, nhân với xác suất tiên nghiệm của h, tất cả chia cho xác suất tiên nghiệm của việc quan sát được bằng chứng e.

Thí dụ 7.1: Bằng chứng (hay triệu chứng): bệnh nhân bị sốt

Giả thuyết (hay bệnh): bệnh nhân bị cảm cúm

Câu hỏi :

Giả sử ta có các thông tin sau:

  • 75% trường hợp bệnh nhân mắc bệnh quai bị đều bị cúm
  • Cơ hội một người bị bệnh quai bị là 1/15000
  • Cơ hội một người bị cúm là 1/1000

Hãy xác định xác suất điều kiện của một bệnh nhân mắc bệnh quai bị biết rằng người này không bị cúm.

*Công thức Bayes tổng quát:

Trong thực tế có nhiều giả thuyết cạnh tranh nhau, vì vậy công thức Bayes tổng quát nhất là:

P(hi | e) là xác suất mà hi đúng khi biết bằng chứng e.

P(hi) là xác suất mà hi đúng tính trên tất cả các giả thuyết

P(e | hi) là xác suất quan sát được e khi hi đúng. Thông thường, tất cả các P(e | hk) phải độc lập nhau.

n là số giả thuyết có khả năng

Lấy một ví dụ, giả sử chúng ta muốn khảo sát bằng chứng địa chất tại một địa điểm nào đó để xem nó có thích hợp cho việc tìm kim loại đồng hay không. Chúng ta cần phải biết trước xác suất tìm thấy từng loại trong tập hợp các khoáng sản (chính là các P(hk)) và xác suất của cho sự hiện diện của một bằng chứng nào đó khi từng khoáng sản cụ thể được tìm thấy (chính là các P(e | hk)). Khi đó, chúng ta có thể sử dụng định lý Bayes để xác định khả năng thực sự đồng có ở đó, sau khi thu thập được các bằng chứng tại địa điểm đó. Phương pháp này được sử dụng bởi PROSPECTOR, một hệ chuyên gia được xây dựng tại đại học Standford và tổ chức SRI. Hệ chuyên gia này được dùng trong thăm dò khoáng sản và đã tìm ra nhiều mỏ khoáng sản có giá trị lớn ở một số nơi.

Tại sao sử dụng luật Bayes

Điểm quan trọng của lý thuyết Bayes là các con số ở vế phải của công thức dễ dàng xác định, ít nhất là khi so sánh với vế trái. Như trong ví dụ trên, do số lượng nhỏ hơn, nên việc xác định số bệnh nhân bị cúm kèm theo triệu chứng sốt dễ hơn là xác định số người có triệu chứng sốt bị cúm.

P (sốt | cúm) chính là tri thức về nguyên nhân (knowledge of causes), tức là xác suất hậu nghiệm ở vế phải, thì dễ dàng có được hơn là tri thức về chẩn đoán (diagnostic knowledge), P(cúm | sốt), tức là xác suất hậu nghiệm ở vế phải. Vì vậy, ta nói luật Bayes cho phép chúng ta sử dụng tri thức về nguyên nhân để suy ra tri thức về chẩn đoán.

Đại số hệ số chắc chắn Stanford

Một số đề án hệ chuyên gia đã cố gắng cải biên những kỹ thuật Bayes để chúng thích nghi với những nhu cầu giải quyết vấn đề của họ. Một tiếp cận quan trọng trong số những cải tiến đó là đại số hệ số chắc chắn đã được sử dụng tại đại học Stanford trong quá trình phát triển chương trình MYCIN.

Khi suy luận với tri thức heuristic, các chuyên gia có thể đưa ra các ước lượng niềm tin hữu ích về các kết luận. Họ ước lượng các kết luận bằng các thuật ngữ như “có nhiều khả năng”, “không chắc”, “hầu như chắc chắn” hay “có thể”. Những ước lượng này rõ ràng là không dựa trên sự phân tích các xác suất một cách cẩn thận. Thay vào đó, tự chúng là những heuristic được lấy ra từ kinh nghiệm trong quá trình suy luận về lĩnh vực của vấn đề. Vì vậy, sẽ rất hữu ích nếu ta có thể lượng hóa các ước lượng niềm tin này để đưa chúng vào quá trình suy luận.

Lý thuyết về đại số hệ số chắc chắn Stanford

Lý thuyết về độ chắc chắn Stanford (Stanford certainty theory) đưa ra một số giả thiết đơn giản cho việc tạo ra các độ đo niềm tin và có một số quy tắc đơn giản tương đương cho việc kết hợp những niềm tin này khi chương trình tiến đến kết luận của nó. Giả thiết thứ nhất là tách “niềm tin ủng hộ” ra khỏi “niềm tin chống lại” một quan hệ:

Gọi MB(H | E) là độ đo của niềm tin vào khả năng đúng của giả thuyết H, khi có bằng chứng E

Gọi MD(H | E) là độ đo của sự hoài nghi vào khả năng đúng của giả thuyết H, khi có bằng chứng E

Giá trị của các độ đo này chỉ rơi vào một trong hai trường hợp:

0 < MB(H | E) < 1 trong khi MD(H | E) = 0,

hoặc: 0 < MD(H | E) < 1 trong khi MB(H | E) = 0

Hai độ đo này ràng buộc lẫn nhau ở chỗ một bằng chứng chỉ có thể hoặc là ủng hộ hoặc là chống lại một giả thuyết nào đó. Đây là sự khác biệt quan trọng giữa lý thuyết chắc chắn và lý thuyết xác suất. Ngay khi liên kết giữa các độ đo niềm tin và hoài nghi được thiết lặp xong, chúng được ràng buộc với nhau thêm một lần nữa bởi hệ số chắc chắn CF:

CF (H | E) = MB(H | E) – MD(H | E)

Như đã thảo luận ban đầu, ta có hai vấn đề không chắc chắn là dữ liệu và luật. Vì vậy, ở đây ta cũng có 2 loại hệ số CF là hệ số chắc chắn cho dữ kiện (fact), và hệ số chắc chắn cho luật (rule). Để dễ phân biệt ta sử dụng ký hiệu CFf cho dữ kiện và CFr cho luật

Các hệ số chắc chắn Stanford

Hệ số chắc chắn dành cho dữ kiện: dữ kiện ở đây bao gồm dữ liệu ban đầu, dữ liệu suy luận được và kết luận (giả thuyết):

CFf(fact) Î[-1,1]:

  • CFf càng tiến về 1 thể hiện sự tin tưởng dữ kiện là đúng càng mạnh
  • CFf tiến về -1 thể hiện sự tin tưởng dữ kiện là không đúng càng mạnh
  • CFf có giá trị xung quanh 0 cho thấy tồn tại rất ít bằng cớ cho việc ủng hộ hay chống lại dữ kiện. Vì vậy, nếu lấy dữ liệu này đi suy luận thì độ chính xác sẽ rất thấp. Do đó, người ta thường đưa ra một giới hạn (threshold) nhằm tránh việc suy luận với thông tin không chắc chắn như vậy (vd: 0.2). Nghĩa là nếu dữ kiện nào có CF nhỏ hơn giới hạn, ta sẽ không sử dụng trong quá trình suy luận.

Hệ số chắc chắn dành cho luật:

CFr(rule) Î[-1,1] : thể hiện sự tin tưởng của các chuyên gia vào độ tin cậy của luật.

Các quy tắc tính toán trên CF

Quy tắc kết hợp các CFf của các điều kiện:

Thông thường, một luật thường có tiền đề (vế trái) tạo thành từ những kết nối and/or của nhiều điều kiện. Khi một luật sinh được sử dụng, các CF liên kết với mỗi điều kiện của tiền đề sẽ được kết hợp với nhau để tạo ra một độ đo chắc chắn cho toàn bộ tiền đề (toàn bộ vế trái của luật) theo công thức sau:

CF ( ĐK 1 And ĐK 2 ) = Min[CF(ĐK 1 ), CF(ĐK 2 )]

CF (ĐK1 Or ĐK2) = Max[CF(ĐK1), CF(ĐK2)]

Thí dụ 7.2: CF(bệnh nhân bị sốt) = 0.9

CF(bệnh nhân bị hắc hơi) = 0.6

=> CF(bệnh nhân bị sốt And bệnh nhân bị hắc hơi) = 0.6

=> CF(bệnh nhân bị sốt Or bệnh nhân bị hắc hơi) = 0.9

Quy tắc tính CF cho dữ kiện suy ra từ luật:

Khi hệ thống sử dụng các luật không chắc chắn (nghĩa là đi kèm theo một hệ số CF) để suy ra kết luận, thì các hệ số CF của tiền đề cũng sẽ được truyền từ tiền đề sang kết luận thông qua luật theo quy tắc sau:

CF f (KL) = CF r (luật) * CF f (ĐK)

Thí dụ 7.3: CF(bệnh nhân bị sốt) = 0.8

CF(If bệnh nhân bị sốt Then bệnh nhân bị cúm) = 0.5

=> CF(bệnh nhân bị cúm) = 0.4

Quy tắc kết hợp nhiều CF của các kết luận từ nhiều luật

Khi có nhiều luật cùng đưa ra một kết luận (vế phải) giống nhau, thì các giá trị CF đạt được từ các luật này sẽ được kết hợp theo quy tắc sau:

Nếu KL từ luật 1 có giá trị CFf1(KL)

Nếu KL từ luật 2 có giá trị CFf2(KL)

Thì,

nếu CFf1(KL) & CFf2(KL) trái dấu

Trong đó, |X| là trị tuyệt đối của X

Thí dụ 7.4: CF(bệnh nhân bị sốt) = 1

CF(bệnh nhân bị hắc hơi) = 0.8

CF(If bệnh nhân bị hắc hơi Then bệnh nhân bị cúm) = 0.5

CF(If bệnh nhân bị sốt Then bệnh nhân bị cúm) = 0.6

=> CF1(bệnh nhân bị cúm) = 0.4

=> CF2(bệnh nhân bị cúm) = 0.6

=> CF(bệnh nhân bị cúm) = 0.4 + 0.6 – 0.24 = 0.76

Sơ đồ sau đây minh họa cho các tính toán trên :

Hình 7.1 – Minh họa tính kết hợp CF

Với cách tính toán này, ta có thể nhận thấy rằng kết quả CF phải luôn nằm trong khoảng [-1,+1]. Kết hợp các CF cùng dấu sẽ làm tăng CF hay phép đo CF kết hợp mang tính tuyến tính, và ngược lại, các CF nghịch nhau sẽ xóa bớt lẫn nhau.

Câu hỏi :

Ta có các tri thức sau:

  • Nếu một người quan sát được UFO thì kết luận có sự xuất hiện của UFO (0.4)
  • Nếu một máy rada phát hiện được một UFO thì kết luận có sự xuất hiện của UFO (0.7)

Hãy cho biết giá trị CF của kết luận ‘Có sự xuất hiện của UFO’ là bao nhiêu biết rằng có hai người quan sát được UFO (0.8) và một máy rada phát hiện được một UFO (0.6).

Ví dụ: Hệ chuyên gia MYCIN

Như đã giới thiệu sơ qua ở chương VI, hệ chuyên gia MYCIN được phát triển tại đại học Stanford vào thập niên 1970 bởi Feigenbaum, Buchanan and Ted Shortliffe (một bác sĩ).

Mục đích của hệ chuyên gia MYCIN là giúp đỡ các bác sĩ trong việc chẩn đoán và điều trị các bệnh viêm màng não và nhiễm trùng máu. Chức năng chủ yếu của MYCIN là nhận dạng các cơ quan bị nhiễm trùng và chọn các loại thuốc khống chế bệnh trên các cơ quan này. Giao diện người dùng của MYCIN là sử dụng đối thoại dạng văn bản với bác sĩ để thu thập dữ liệu bao gồm dữ liệu tổng quát về bệnh nhân, các kết quả xét nghiệm và các triệu chứng của bệnh nhân.

Các vấn đề trong lĩnh vực y khoa thường phải suy luận với các thông tin không đầy đủ, mơ hồ, không chắc chắn. Để đối phó với khó khăn này, MYCIN sử dụng lý thuyết chắc chắn Stanford làm nền tảng cho suy luận của hệ. Vì vậy, mỗi dữ liệu, mỗi luật trong MYCIN đều có một hệ số chắc chắn CF đi kèm

Dữ liệu được mô tả theo cấu trúc sau:

Ví dụ luật 50 của MYCIN có dạng:

IF (a) the infection is primary-bacteria, and

(b) the site of the culture is one of the serile sites, and

(c) the suspected portal of entry is gastrointestinal tract

THEN there is suggestive evidence (0.7) that infection is bacteroid

Trong luật trên số 0.7 được đặt trong ngoặc chính là hệ số CF của luật.

Cơ sở luật của MYCIN có khoảng 450 luật được viết bằng ngôn ngữ LISP. Động cơ suy diễn của MYCIN được cài đặt với kỹ thuật suy luận hướng từ mục tiêu (goal-driven), nó tìm kiếm gần như là vét cạn để chọn ra mục tiêu có chỉ số CF cao nhất làm kết luận cuối cùng của hệ thống.

Để hiểu rõ hơn cơ chế suy luận của MYCIN, chúng ta hãy xét một ví dụ minh họa sau.

Thí dụ 7.5: MINI-MYCIN là một hệ chuyên gia nhỏ chuyên phân biệt giữa chân bị gãy,chân bị quá mỏi hay chân bị nhiễm trùng.

Nó gồm các luật sau:

  1. IF đau và sốt THEN bị nhiễm trùng 0.6
  2. IF đau và sưng THEN bị chấn thương 0.8
  3. IF quá tải THEN bị nhiễm trùng 0.5
  4. IF bị chấn thương AND đỏ THEN bị gãy 0.8
  5. IF bị chấn thương AND di chuyển được THEN quá mỏi 1.0

Sử dụng MINI-MYCIN để chẩn đoán tình trạng chân của Minh, biết rằng: chân của Minh đang bị đau (1.0). Khi tôi kiểm tra nó, thấy nó sưng tấy (0.6) and hơi đỏ (0.1). Tôi không có nhiệt kế nhưng tôi nghĩ anh ta có bị sốt (0.4). Tôi biết Minh là một vận động viên marathon, các khớp của anh ta thường xuyên làm việc quá tải (1.0). Minh có thể di chuyển chân của anh ấy.

Hãy vẽ đồ thị And/Or minh họa cho quá trình suy luận để đi đến kết luận của MINI-MYCIN.

Giải:

Vì MYCIN là hệ thống hoạt động theo cơ chế suy diễn lùi (hay hướng từ mục tiêu), nên hệ thống sẽ lần lượt tính toán giá trị CF của từng mục tiêu. Các đồ thị And/Or sau đây sẽ được trình bày lần lượt theo thứ tự thực hiện của hệ thống:

Hình 7.2 – Đồ thị AND/OR cho quá trình suy diễn lùi trong Thí dụ 7.5

Vậy: Bị nhiễm trùng là mục tiêu có giá trị CF cao nhất nên ta kết luận chân của Minh bị nhiễm trùng.

Từ ví dụ minh họa ta thấy MYCIN hầu như kích hoạt tất cả các luật để tìm giá trị CF cho từng mục tiêu.

Câu hỏi :

Tại sao hệ MYCIN phải kích hoạt hầu như tất cả các luật để có thể đưa ra kết luận ?

* Một số nhận xét về các luật của MYCIN:

  • Mỗi luật của MYCIN là một sự kết hợp tri thức của nhiều lĩnh vực khác nhau. Ví dụ như luật ‘IF tuổi bệnh nhân < 7 THEN không nên cấp thuốc tetracyline’ là sự kết hợp của các loại tri thức:
  • Tri thức về miền, mà cụ thể ở đây là tri thức về y học: Tetracyline làm đổi màu xương đang phát triển và trẻ em dưới 7 tuổi thì đang mọc răng.
  • Tri thức giải quyết vấn đề, cụ thể ở đây là tri thức về trị bệnh: Trước khi kê một loại thuốc phải kiểm tra các chống chỉ định, có hai loại chống chỉ định: chỉ định liên quan đến bệnh và chỉ định liên quan đến bệnh nhân.
  • Tri thức về thế giới: Hầu hết mọi người đều cho rằng hàm răng màu nâu thì không đẹp.
    • Tổng hợp các tri thức trên, các chuyên gia đưa ra một luật hết sức đơn giản. Chính tính heuristic này đã hỗ trợ một phương pháp giải quyết vấn đề hiệu quả.
  • Ngoài ra, điều khiển của quá trình suy luận cũng được thể hiện trong các luật của MYCIN. Các điều kiện của vế trái luật được sắp xếp với thứ tự trước sau phù hợp với tri thức của miền. Ví dụ luật sau:

IF sự nhiễm trùng là bệnh viêm màng não

And sự nhiễm trùng là do vi khuẩn

And chỉ có chứng cớ gián tiếp

And tuổi của bệnh nhân > 16

And bệnh nhân là một người nghiện rượu

THEN chứng cớ cho viêm phổi song cầu khuẩn 0.7

là kết quả của sự tổng hợp nhiều tri thức :

  • Tri thức về miền: các bệnh nhân bị nghiện rượu thì đáng nghi ngờ với vi khuẩn viêm phổi song cầu khuẩn
  • Tri thức giải quyết vấn đề: lọc sự chẩn đoán theo từng bước; tức là hệ thống sẽ kiểm tra từng điều kiện của vế trái theo thứ tự của nó. Chỉ khi điều kiện còn đúng thì mới tiếp tục kiểm tra điều kiện kế tiếp.
  • Tri thức về thế giới: người nghiện rượu thì hiếm khi dưới 17 tuổi. Vì vậy, cần phải kiểm tra tuổi của bệnh nhân trước khi hỏi bệnh nhân có phải là người nghiện rượu hay không. Vì nếu không, thì câu hỏi có thể gây sốc cho cha mẹ của các trẻ nhỏ.

Lý thuyết chắc chắn có thể bị đánh giá như là một giải pháp quá tình thế (ad hoc). Mặc dù nó được định nghĩa ở dạng đại số hình thức, nhưng ý nghĩa của các độ đo chắc chắn không có nền tảng chặt chẽ như lý thuyết xác suất hình thức. Tuy nhiên, lý thuyết chắc chắn không cố gắng tạo ra một kiểu đại số dành cho suy luận “chính xác”. Đúng hơn nó là sự ‘bôi trơn’ cho phép hệ chuyên gia kết hợp những niềm tin khi nó suy luận vấn đề. Mặc dù CF được sử dụng để duy trì chương trình chạy và thu thập thông tin, sức mạnh của chương trình chủ yếu vẫn phụ thuộc vào chất lượng của các luật.

0