trí tuệ nhân tạo - nnhoa.free.frnnhoa.free.fr/courses/ai++/2006/uncertainty.pdfai++ - hoá...

34
25 April 2006 25 April 2006 [email protected] [email protected] Tr Tr í í tu tu nhân nhân t t o o Dr. Hoá NGUYEN College of Technology, Vietnam National University, Hanoi Uncertainty AI++ - Hoá NGUYEN @ 2006 2 Agenda Agenda Uncertainty Xác sut Phân bxác sutkếthp Độclp xác sut và lut Bayes Lp lun theo xác sut – Probabilistic reasoning Mng Bayes - Bayesian networks Lp lun trong mng Bayesian Lp lun chính xác Lp lunxpxProbabilistic learning

Upload: others

Post on 27-Oct-2019

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Trí tuệ nhân tạo - nnhoa.free.frnnhoa.free.fr/courses/AI++/2006/Uncertainty.pdfAI++ - Hoá NGUYEN @ 2006 5 Quyết định hợp lý Mặcdùcósựlưỡng lự, agent vẫnphải

25 April 200625 April 2006 [email protected]@vnu.edu.vn

TrTríí tutuệệ nhânnhân ttạạoo

Dr. Hoá NGUYENCollege of Technology,

Vietnam National University, Hanoi

Uncertainty

AI++ - Hoá NGUYEN @ 2006 2

AgendaAgenda

UncertaintyXác suất

Phân bố xác suất kết hợp

Độc lập xác suất và luật Bayes

Lập luận theo xác suất – Probabilistic reasoningMạng Bayes - Bayesian networks

Lập luận trong mạng BayesianLập luận chính xác

Lập luận xấp xỉ

Probabilistic learning

Page 2: Trí tuệ nhân tạo - nnhoa.free.frnnhoa.free.fr/courses/AI++/2006/Uncertainty.pdfAI++ - Hoá NGUYEN @ 2006 5 Quyết định hợp lý Mặcdùcósựlưỡng lự, agent vẫnphải

AI++ - Hoá NGUYEN @ 2006 3

UncertaintyUncertainty

Tri thức đầy đủ:Thêm tiên đề, kết luận chỉ có thể tăngCó thể biểu diễn bằng monotonic logic

Cho phép đảm bảo đạt đến đích nếu có đầy đủ thông tin

Không thực tế

Tri thức thu thập bởi các hệ thống TTNT thường không đầyđủ

Thêm giả thiêt không có nghĩa là mở rộng kết luậnVD: Sam là một con chim Sam biết bayNon-monotonic logic

Giải pháp: mô hình biểu diễn tri thức và suy diễn dựa trênxác suất

AI++ - Hoá NGUYEN @ 2006 4

VVíí ddụụ

Giả sử At là plan để đi đến dự buổi hoà nhạc tại Nhà hátlớn t phút trước khi bắt đầu. Liệu At có cho phép đến đúnggiờ ?Vấn đề đặt ra:

Tính khả quan sát bán phần (trạng thái đường, các plan của nhữngngười khác, v.v)Thông tin thu nhận bị nhiễu (traffic report)Các sự kiện không chắc chắn (lốp, dầu xe, …)Độ phức tạp rất lớn về mô hình hoá và dự đoán giao thông đường đi

Với cách tiếp cận sử dụng logicCó thể đưa ra 1 câu trả lời sai: “A30 cho phép đến đúng giờ”Dẫn đến những kết luận khắt khe để có được quyết định:

“A25 sẽ cho phép đến đúng giờ nếu như không có tai nạn trên cầu, trờikhông mưa, lốp xe không tốt, …”

Chú ý: A120 có thể cho phép có được lời giải hợp lý, nhưng phải chờđợi 2h !!!

Page 3: Trí tuệ nhân tạo - nnhoa.free.frnnhoa.free.fr/courses/AI++/2006/Uncertainty.pdfAI++ - Hoá NGUYEN @ 2006 5 Quyết định hợp lý Mặcdùcósựlưỡng lự, agent vẫnphải

AI++ - Hoá NGUYEN @ 2006 5

QuyQuyếếtt đđịịnhnh hhợợpp lýlý

Mặc dù có sự lưỡng lự, agent vẫn phải tìm ra một plan tốtChọn plan mang lại cực đại hiệu năng cho agent theo những thôngtin có được về môi trườngVới ví dụ, độ đo hiệu năng có thể gồm:

Đến đúng giờKhông phải chờ lâuKhông vi phạm luật giao thông

Agent khó có thể có đủ các thông tin cần thiết để đảm bảocác yêu cầu hiệu năngCó thể có độ tin tưởng (degree of belief) để agent có thể đạtđượcQuyết định hợp lý phụ thuộc:

Độ quan trọng tương ứng với yêu cầu đặt raXác suất để đạt được chúngMức độ mà chúng có thể đạt được

AI++ - Hoá NGUYEN @ 2006 6

QuQuảảnn lýlý tri tri ththứứcc khôngkhông chchắắcc chchắắnn

Ví dụ chẩn đoán răng: ∀p Symptom(p, Toothache) Malady(p, Cavity)

Luật sai: vì đau răng có thể không phải bị sâu răng

Cần phải liệt kê các trường hợp có thể có

Theo chiều ngược lại, luật này cũng không đúng !

Non-Monotonic Logic: Giả sử ô tô của tôi không bị bể lốp

Giả sử A25 là plan hợp lý ngoại trừ có sự cố rõ ràng

Những giả định nào là hợp lý ?

Làm sao để quản lý các mâu thuẫn ?

Page 4: Trí tuệ nhân tạo - nnhoa.free.frnnhoa.free.fr/courses/AI++/2006/Uncertainty.pdfAI++ - Hoá NGUYEN @ 2006 5 Quyết định hợp lý Mặcdùcósựlưỡng lự, agent vẫnphải

AI++ - Hoá NGUYEN @ 2006 7

QuQuảảnn lýlý tri tri ththứứcc khôngkhông chchắắcc chchắắnn

Sử dụng luật với các hệ số chắc chắn (certain factors):A25 |→0.3 đến nhà hát đúng giờ

Sprinkler |→ 0.99 WetGrass

WetGrass |→ 0.7 Rain

Question: sử lý kết hợp như thế nào? e.g., Sprinkler causes Rain??

Xác suất - ProbabilityVới các dữ kiện rõ ràng (d.báo thời tiết trên radio, trạng thái bãi gữixe, trạng thái giao thông, …) A25 sẽ cho phép đến đúng giờ với xácsuất là 0.04

Fuzzy logic <> probabilityWetGrass có 70% đúng đây là độ đo tính đúng đắn, không phải làđộ đo chắc chắn.

AI++ - Hoá NGUYEN @ 2006 8

XXáácc susuấấtt -- ProbabilityProbability

Độ tin cậy – Degree of beliefTri thức của một agent chỉ có thể đem lại một độ tin nào đó

Đau răng và sâu răng không phải là một hệ quả logic

Lý thuyết xác suất cho phép quản lý các độ tinVD: 80% sâu răng đều bị đau răng

Xác suất: 0 = false, 1= true]0,1[ = degree of belief đối với tính đúng đắn của một phát biểu

0.8 = 80% trường hợp phát biểu trên là đúng

Phân biệt rõ “degree of belief” và “degree of truth”

Xác suất vô điều kiện: xác suất trước các evidence

Xác suất có điều kiện: sau khi có các evidence

Page 5: Trí tuệ nhân tạo - nnhoa.free.frnnhoa.free.fr/courses/AI++/2006/Uncertainty.pdfAI++ - Hoá NGUYEN @ 2006 5 Quyết định hợp lý Mặcdùcósựlưỡng lự, agent vẫnphải

AI++ - Hoá NGUYEN @ 2006 9

Utility TheoryUtility Theory

Ngay cả khi A25 có 95% thành công, liệu nó có phải là mộtquyết định hợp lý ?

Không nhất thiết, có thể có plan khác với xác suất lớn hơn

Nếu cốt yếu là đến đúng giờ, A120 có thể là một quyết định tốt hơn

Agent phải có các ưu tiên (preferences) liên quan đến kếtquả có thể có của plan

Lý thuyết hữu ích - utility theory được sử dụng trong cácsuy luận trên các tham chiếu này

Mọi trạng thái đều có độ hữu ích – hay còn gọi là utility

Agent sẽ nhắm đến những trạng thái có utility cao hơn, thông qua hàm của các preferences

Preferences có thể là “ích kỷ” hoặc “vị tha”

Cho phép cân đối độ mong muốn đích và cơ hội đạt được chúng

AI++ - Hoá NGUYEN @ 2006 10

Decision TheoryDecision Theory

Sự kết hợp giữa preferences và probability tạo nên lý thuyếtquyết định – Decision Theory

Decision Theory = Probability Theory + Utility TheoryMột agent được coi là rational khi và chỉ khi nó chọn hành động sinhra lợi ích mong muốn cao nhất trên tất cả các cách có thể có

Còn được gọi là nguyên tắc đạt lợi ích cực đại mong muốn(Maximum Expected Utility, MEU)

Agent sử dụng DT:

Page 6: Trí tuệ nhân tạo - nnhoa.free.frnnhoa.free.fr/courses/AI++/2006/Uncertainty.pdfAI++ - Hoá NGUYEN @ 2006 5 Quyết định hợp lý Mặcdùcósựlưỡng lự, agent vẫnphải

AI++ - Hoá NGUYEN @ 2006 11

BiBiếếnn ngngẫẫuu nhiênnhiên

Biến ngẫu nhiên: trỏ đến 1 phần tri thức mà trạng thái ban đầu chưa được xác định

VD: Cavity( Liệu tôi có răng sâu không ?)

Các biến ngẫu nhiên có một miền giá trị:VD: miền của Cavity là (true, false)

Mệnh đề đơn giản: gán một giá trị cho một biến ngẫu nhiên:VD: Cavity = true

Kiểu:Boolean

Rời rạc (VD: NhiệtĐộ(Nắng,Mây, Mưa))

Liên tục: xác đinh bằng các giá trị thực, vd [0,1]

AI++ - Hoá NGUYEN @ 2006 12

XXáácc susuấấtt vôvô điđiềềuu kikiệệnn

Chỉ dựa trên độ tin cậy, bỏ qua các thông tin khác:VD: P(Cavity) = 0.1, P(Temperature = Sunny) = 0.7

Các xác suất này trở thành vô dụng nếu những thông tin mới được biết

Phân bố xác suất: vector chứa tất cả xác suất cho mỗi phépgắn có thể có

VD: P(Temperature) = (0.7, 0.2, 0.08, 0.02)

Phân bố xác suất kết hợp: biểu diễn tất cả các xác suất kếthợp có thể có

VD: P(Cavity,Temperature)

Page 7: Trí tuệ nhân tạo - nnhoa.free.frnnhoa.free.fr/courses/AI++/2006/Uncertainty.pdfAI++ - Hoá NGUYEN @ 2006 5 Quyết định hợp lý Mặcdùcósựlưỡng lự, agent vẫnphải

AI++ - Hoá NGUYEN @ 2006 13

XXáácc susuấấtt ccóó điđiềềuu kikiệệnn

Dựa trên độ tin cậy khi có một vài thông tin khác:

P(A|B) = xác suất có A dựa trên tất cả những gì ta biết về BVD: P(Cavity|Toothache) = 0.8

Định nghĩa : P(a | b) = P(a ∧ b) / P(b) nếu P(b) > 0

Product rule: P(a ∧ b) = P(a | b) P(b) = P(b | a) P(a) P(Weather,Cavity) = P(Weather | Cavity) P(Cavity)

Chain rule: P(X1, …,Xn) = P(X1,...,Xn-1) P(Xn | X1,...,Xn-1)

= P(X1,...,Xn-2) P(Xn-1 | X1,...,Xn-2) P(Xn | X1,...,Xn-1)

= …

= πi= 1n P(Xi | X1, … ,Xi-1)

AI++ - Hoá NGUYEN @ 2006 14

TiênTiên đđềề xxáácc susuấấtt

Với mọi mệnh đề A, B0 ≤ P(A) ≤ 1

P(true) = 1 and P(false) = 0

P(A ∨ B) = P(A) + P(B) - P(A ∧ B)

Page 8: Trí tuệ nhân tạo - nnhoa.free.frnnhoa.free.fr/courses/AI++/2006/Uncertainty.pdfAI++ - Hoá NGUYEN @ 2006 5 Quyết định hợp lý Mặcdùcósựlưỡng lự, agent vẫnphải

AI++ - Hoá NGUYEN @ 2006 15

Inference by enumerationInference by enumeration

Sử dụng phân bố xác suất kết hợp đầy đủ:

Với mọi mệnh đề φ, xác suất được tính = tổng các sự kiệnnguyên tử đúng: P(φ) = Σω:ω╞φ P(ω)

VD: P(toothache) = 0.108 + 0.012 + 0.016 + 0.064 = 0.2

AI++ - Hoá NGUYEN @ 2006 16

Inference by enumerationInference by enumeration

Ta cũng có thể tính được xác suất có điều kiệnP(¬cavity | toothache) = P(¬cavity ∧ toothache)/P(toothache)

= (0.016+0.064) / (0.108 + 0.012 + 0.016 + 0.064)

= 0.4

Page 9: Trí tuệ nhân tạo - nnhoa.free.frnnhoa.free.fr/courses/AI++/2006/Uncertainty.pdfAI++ - Hoá NGUYEN @ 2006 5 Quyết định hợp lý Mặcdùcósựlưỡng lự, agent vẫnphải

AI++ - Hoá NGUYEN @ 2006 17

ChuChuẩẩnn hohoáá

Mẫu số có thể được xem xét dưới một hệ số chuẩn hoá αP(Cavity | toothache) = α P(Cavity,toothache) = α [P(Cavity,toothache,catch) + P(Cavity,toothache,¬ catch)]= α [<0.108,0.016> + <0.012,0.064>] = α <0.12,0.08> = <0.6,0.4>

Ý tưởng chung: tính phân bố xác suất của một biến bằngcách cố định các biến evidence và tính tổng các biến ẩn(hidden variables)

AI++ - Hoá NGUYEN @ 2006 18

ProblemsProblems

Độ phức tạp thời gian: O(dn) với n là số biến và d giá trị lớnnhất của biến

Độ phức tạp về không gian: O(dn) để có thể lưu toàn bộbảng phân bố

việc tìm tất cả dn giá trị là rất phức tạp

không thực sự cần thiết, nhưng là một cơ sở lý thuyết chocác phương pháp lập luận sau

Bài tập: Tính các xác suất sau:P(Toothache)

P(Cavity)

P(Toothache|Cavity)

P(Cavity|Toothache V Catch)

Page 10: Trí tuệ nhân tạo - nnhoa.free.frnnhoa.free.fr/courses/AI++/2006/Uncertainty.pdfAI++ - Hoá NGUYEN @ 2006 5 Quyết định hợp lý Mặcdùcósựlưỡng lự, agent vẫnphải

AI++ - Hoá NGUYEN @ 2006 19

ĐĐộộcc llậậpp xxáácc susuấấtt

A và B là độc lập khi và chỉ khi

P(A|B) = P(A) hoặc P(B|A) = P(B) hoặc P(A, B) = P(A) P(B)

P(Toothache, Catch, Cavity, Weather) = P(Toothache, Catch, Cavity) P(Weather)

Độc lập tuyệt đối cho phép giảm độ phức tạpVới v.dụ trên 32 12 số trong bảng phân bố

For n independent biased coins, O(2n) →O(n)

Độc lập tuyệt đối hiếm khi có được trong thực tế

Question: Làm gì khi có quá nhiều biến phụ thuộc lẫn nhau?

AI++ - Hoá NGUYEN @ 2006 20

LuLuậậtt BayesBayes

Từ luật nhân P(a∧b) = P(a | b) P(b) = P(b | a) P(a)

⇒ Luật Bayes: P(a | b) = P(b | a) P(a) / P(b)Ứng dụng chuẩn hoá, ta có

P(Y|X) = P(X|Y) P(Y) / P(X) = αP(X|Y) P(Y)Đây là luật được sử dụng trong hầu hết các hệ thống AI hiện đại sử dụng lập luận xác suất, đặc biệt để đánh giá xácsuất chẩn đoán từ xác suất nguyên nhân

P(Cause|Effect) = P(Effect|Cause) P(Cause) / P(Effect)VD: m: bệnh viêm màng não và s: bệnh cứng cổ

Page 11: Trí tuệ nhân tạo - nnhoa.free.frnnhoa.free.fr/courses/AI++/2006/Uncertainty.pdfAI++ - Hoá NGUYEN @ 2006 5 Quyết định hợp lý Mặcdùcósựlưỡng lự, agent vẫnphải

AI++ - Hoá NGUYEN @ 2006 21

LuLuậậtt BayesBayes vvàà đđộộcc llậậpp ccóó điđiềềuu kikiệệnn

P(Cavity | toothache ∧ catch) = αP(toothache ∧ catch | Cavity) P(Cavity) = αP(toothache | Cavity) P(catch | Cavity) P(Cavity)

Mô hình naïve Bayes:P(Cause,Effect1, … ,Effectn) = P(Cause) πiP(Effecti|Cause)

Một nguyên nhân sẽ ảnh hưởng trực tiếp đến n hệ quả độc lậpcó điều kiện theo nguyên nhân

AI++ - Hoá NGUYEN @ 2006 22

SummarySummary

Xác suất là một hình thức chính xác (rigorous formalism) đểbiểu diễn tri thức không chắc chắn

Phân bố xác suất kết hợp xác định xác suất của mọi sự kiệnnguyên tử (atomic event)

Lời giải của một query được xác định thông qua tổng cácatomic events

Độc lập tuyệt đối và độc lập có điều kiện cho phép giảm độlớn của bảng phân bố kết hợp

Page 12: Trí tuệ nhân tạo - nnhoa.free.frnnhoa.free.fr/courses/AI++/2006/Uncertainty.pdfAI++ - Hoá NGUYEN @ 2006 5 Quyết định hợp lý Mặcdùcósựlưỡng lự, agent vẫnphải

AI++ - Hoá NGUYEN @ 2006 23

AgendaAgenda

UncertaintyXác suất

Phân bố xác suất kết hợp

Độc lập xác suất và luật Bayes

Lập luận theo xác suất – Probabilistic reasoningMạng Bayes - Bayesian networks

Lập luận trong mạng BayesianLập luận chính xác

Lập luận xấp xỉ

Probabilistic learning

AI++ - Hoá NGUYEN @ 2006 24

Bayesian networksBayesian networks

Mạng Bayes: đồ thị có hướng không chu trình màmỗi nốt được dẫn giải bằng một bảng phân bố xácsuất có điều kiện (conditional probability table -CPT)

Tổ chức:Tập biến ngẫu nhiên, mỗi biến đại diện một nốt

Tập các cung kết nối hai nốt. Nếu X nối với Y, ta nói rằngX là cha-parent của Y

Mỗi nốt có một phân bố xác suất cóđiều kiện xác định từ các nốt cha

P (Xi | Parents (Xi))

Page 13: Trí tuệ nhân tạo - nnhoa.free.frnnhoa.free.fr/courses/AI++/2006/Uncertainty.pdfAI++ - Hoá NGUYEN @ 2006 5 Quyết định hợp lý Mặcdùcósựlưỡng lự, agent vẫnphải

AI++ - Hoá NGUYEN @ 2006 25

VVíí ddụụ

Topology của mạng tạo nên các xác lập độc lập có điềukiện :

Weather độc lập so với các biến khácToothache và Catch độc lập có điều kiện theo Cavity

AI++ - Hoá NGUYEN @ 2006 26

Independence AssumptionsIndependence Assumptions

Liên quan đến vấn đề liệu P(Toothache|Cavity, Weather) = P(Toothache|Cavity) ?

Giả thiết độc lập trong mạng Bayes cho phép xác định câu trảlời !

Page 14: Trí tuệ nhân tạo - nnhoa.free.frnnhoa.free.fr/courses/AI++/2006/Uncertainty.pdfAI++ - Hoá NGUYEN @ 2006 5 Quyết định hợp lý Mặcdùcósựlưỡng lự, agent vẫnphải

AI++ - Hoá NGUYEN @ 2006 27

DD--connecting pathconnecting path

A

X

Y

.

.

. }1) It is linear or diverging and not a member

of evidence nodes2) It is converging, and either n or one of it’s

descendents is a member of evidence nodesintermediate nodes

B

Định nghĩa: Đường đi từ A đến B là d-kết nối (d-connecting) tuân theo n nốt đã biết – evidence nodes E = {e1, …, en } nếu :

trong đó ni là một nốt trên đường đi đó

Biến a phụ thuộc b sau khi biết E = {e1, …, en } nếu tồn tại một d-kết nối từ a đến b qua E.

AI++ - Hoá NGUYEN @ 2006 28

F is diverging and evidence, It is not d-connecting path

D is linear and evidence,It is not d-connecting path

D is converging and it is evidence

Independence AssumptionsIndependence Assumptions……

BA

C D

F

H I

E

G

Evidence nodeD

BA

A is dependent on B

Evidence node

F

H I

H is independent on I

Evidence node

C is independent on G

Ví dụ

Page 15: Trí tuệ nhân tạo - nnhoa.free.frnnhoa.free.fr/courses/AI++/2006/Uncertainty.pdfAI++ - Hoá NGUYEN @ 2006 5 Quyết định hợp lý Mặcdùcósựlưỡng lự, agent vẫnphải

AI++ - Hoá NGUYEN @ 2006 29

VVíí ddụụ: Alarm: Alarm

I'm at work, neighbor John calls to say my alarm is ringing, but neighbor Mary doesn't call. Sometimes it's set off by minor earthquakes. Is there a burglar?

Variables: Burglary, Earthquake, Alarm, JohnCalls, MaryCalls

Network topology reflects "causal" knowledge:A burglar can set the alarm offAn earthquake can set the alarm offThe alarm can cause Mary to callThe alarm can cause John to call

AI++ - Hoá NGUYEN @ 2006 30

VVíí ddụụ……

Page 16: Trí tuệ nhân tạo - nnhoa.free.frnnhoa.free.fr/courses/AI++/2006/Uncertainty.pdfAI++ - Hoá NGUYEN @ 2006 5 Quyết định hợp lý Mặcdùcósựlưỡng lự, agent vẫnphải

AI++ - Hoá NGUYEN @ 2006 31

VVíí ddụụ……

Nếu ta biết Alarm, không có sự kiệnnào ảnh hưởng đến độ tin cậy của JCalls

P(J|M,A,E,B) = P(J|A)

và: P(M|J,A,E,B) = P(M|A); P(E|B) = P(E)

Theo chain rule, ta cóP(J,M,A,E,B) = P(J|M,A,E,B) x P(M|A,E,B) x

P(A|E,B) x P(E|B) x P(B)

= P(J|A) x P(M|A) x P(A|B,E) x P(E) x P(B)

Earthquake Burglary

Alarm

MCallsJCalls

AI++ - Hoá NGUYEN @ 2006 32

BNsBNs: : CCấấuu chchúúcc đđịịnhnh ttíínhnh

Cấu trúc đồ thị của BN phản ánh độc lập điều kiện giữa cácbiếnBiết parents, X độc lập so với tất cả các biến không phải làhậu duệ từ cha của nó

Page 17: Trí tuệ nhân tạo - nnhoa.free.frnnhoa.free.fr/courses/AI++/2006/Uncertainty.pdfAI++ - Hoá NGUYEN @ 2006 5 Quyết định hợp lý Mặcdùcósựlưỡng lự, agent vẫnphải

AI++ - Hoá NGUYEN @ 2006 33

VVíí ddụụ

Earthquake Burglary

Alarm

MCallsJCalls

AI++ - Hoá NGUYEN @ 2006 34

VVíí ddụụ……

Earthquake Burglary

Alarm

MCallsJCalls

Radio

Page 18: Trí tuệ nhân tạo - nnhoa.free.frnnhoa.free.fr/courses/AI++/2006/Uncertainty.pdfAI++ - Hoá NGUYEN @ 2006 5 Quyết định hợp lý Mặcdùcósựlưỡng lự, agent vẫnphải

AI++ - Hoá NGUYEN @ 2006 35

VVíí ddụụ……

Earthquake Burglary

Alarm

MCallsJCalls

Radio

AI++ - Hoá NGUYEN @ 2006 36

VVíí ddụụ……

Earthquake Burglary

Alarm

MCallsJCalls

Radio

Page 19: Trí tuệ nhân tạo - nnhoa.free.frnnhoa.free.fr/courses/AI++/2006/Uncertainty.pdfAI++ - Hoá NGUYEN @ 2006 5 Quyết định hợp lý Mặcdùcósựlưỡng lự, agent vẫnphải

AI++ - Hoá NGUYEN @ 2006 37

BiBiếếtt Markov BlanketMarkov Blanket, X , X llàà đđộộcc llậậpp vvớớii ttấấtt ccảảccáácc nnốốtt còncòn llạạii

MB(X) = Par(X) ∪ Childs(X) ∪ Par(Childs(X))

AI++ - Hoá NGUYEN @ 2006 38

VVíí ddụụ……

Earthquake Burglary

Alarm

MCalls

Radio

JCalls

Page 20: Trí tuệ nhân tạo - nnhoa.free.frnnhoa.free.fr/courses/AI++/2006/Uncertainty.pdfAI++ - Hoá NGUYEN @ 2006 5 Quyết định hợp lý Mặcdùcósựlưỡng lự, agent vẫnphải

AI++ - Hoá NGUYEN @ 2006 39

VVíí ddụụ……

Earthquake Burglary

Alarm

MCalls

Radio

JCalls

AI++ - Hoá NGUYEN @ 2006 40

Conditional Probability TablesConditional Probability Tables

Earthquake Burglary

Alarm

Nbr2CallsNbr1Calls

Pr(B=t) Pr(B=f)0.05 0.95

Pr(A|E,B)e,b 0.9 (0.1)e,b 0.2 (0.8)e,b 0.85 (0.15)e,b 0.01 (0.99)

Page 21: Trí tuệ nhân tạo - nnhoa.free.frnnhoa.free.fr/courses/AI++/2006/Uncertainty.pdfAI++ - Hoá NGUYEN @ 2006 5 Quyết định hợp lý Mặcdùcósựlưỡng lự, agent vẫnphải

AI++ - Hoá NGUYEN @ 2006 41

BBảảngng xxáácc susuấấtt điđiềềuu kikiệệnn

Với mỗi biến X, cần phải xây dựng bảng phân bố xác suấtđiều kiện CPT: P(X | Par(X))

Số params có độ phức tạp cục bộ theo hàm mũ |Par(X)|

Với mọi X1, X2,... Xn, BNs đảm bảo :

P(Xn,Xn-1,...X1) = P(Xn| Xn-1,...X1)·P(Xn-1 | Xn-2,… X1)

… P(X2 | X1) · P(X1)

= P(Xn| Par(Xn)) · P(Xn-1 | Par(Xn-1)) … P(X1)

VD: P(j ∧ m ∧ a ∧ ¬b ∧ ¬e) = P (j | a) P (m | a) P (a | ¬b, ¬e) P (¬b) P (¬e)

AI++ - Hoá NGUYEN @ 2006 42

ĐĐặặcc ttảả côcô đđộộngng -- CompactnessCompactness

CPT cho biến boolean Xi với k boolean parents sẽ có 2k

hàng kết hợp các giá trị cha

Mỗi hàng cần một xs p để Xi = true (xác suất để Xi = falsesẽ là 1-p)

Nếu mỗi biến có không quá k parents, mạng Bayes đầy đủcần O(n2k) số

Tăng tuyến tính theo n, thay vì O(2n) đối với phân bố kết hợp đầy đủ

Đối với ví dụ burglary net, cần 1 + 1 + 4 + 2 + 2 = 10 số (thay vì 25-1 = 31)

Page 22: Trí tuệ nhân tạo - nnhoa.free.frnnhoa.free.fr/courses/AI++/2006/Uncertainty.pdfAI++ - Hoá NGUYEN @ 2006 5 Quyết định hợp lý Mặcdùcósựlưỡng lự, agent vẫnphải

AI++ - Hoá NGUYEN @ 2006 43

XâyXây ddựựngng mmạạngng BayesBayes

1. Xác định tập các biến miêu tả bài toán1. Chọn thứ tự của các biến đó X1, … ,Xn

2. For i = 1 to nThêm Xi vào mạngChọn parents từ X1, … ,Xi-1 sao cho

P (Xi | Parents(Xi)) = P (Xi | X1, ... Xi-1)Xác định CPT cho Xi

Việc chọn parents phải đảm bảo:P (X1, … ,Xn) = πi =1 P (Xi | X1, … , Xi-1)(chain rule)

= πi =1P (Xi | Parents(Xi))(by construction)

Nên sử dụng mô hình causal-effects: nguyên nhân trước, hệ quả ảnh hưởng bởi nó sau

n

n

AI++ - Hoá NGUYEN @ 2006 44

VVíí ddụụ

Giả sử ta chọn thứ tự B, E, A, M, J

Page 23: Trí tuệ nhân tạo - nnhoa.free.frnnhoa.free.fr/courses/AI++/2006/Uncertainty.pdfAI++ - Hoá NGUYEN @ 2006 5 Quyết định hợp lý Mặcdùcósựlưỡng lự, agent vẫnphải

AI++ - Hoá NGUYEN @ 2006 45

Giả sử ta chọn sai thứ tự, chẳng hạn M, J, A, B, E

P(J | M) = P(J)?NoP(A | J, M) = P(A | J)? P(A | J, M) = P(A)? NoP(B | A, J, M) = P(B | A)? YesP(B | A, J, M) = P(B)? NoP(E | B, A ,J, M) = P(E | A)? NoP(E | B, A, J, M) = P(E | A, B)? Yes

Mạng thu được phức tạp hơn, xác suất khó xác định hơnNetwork is less compact: 1 + 2 + 4 + 2 + 4 = 13 numbers needed

VVíí ddụụ……

AI++ - Hoá NGUYEN @ 2006 46

AgendaAgenda

UncertaintyXác suất

Phân bố xác suất kết hợp

Độc lập xác suất và luật Bayes

Lập luận theo xác suất – Probabilistic reasoningMạng Bayes - Bayesian networks

Lập luận trong mạng BayesianLoại biến

Markov Chain Monte Carlo

Page 24: Trí tuệ nhân tạo - nnhoa.free.frnnhoa.free.fr/courses/AI++/2006/Uncertainty.pdfAI++ - Hoá NGUYEN @ 2006 5 Quyết định hợp lý Mặcdùcósựlưỡng lự, agent vẫnphải

AI++ - Hoá NGUYEN @ 2006 47

BN inferenceBN inference

Khi chúng ta có phân bố xác xuất kết hợp đầy đủ, lập luậnđược tiến hành thông qua việc cộng các mục.

Với BN, ta không có được điều toàn bộ bảng phân bố xácxuất đầy đủ:

P (X1, … ,Xn) = πi = 1 P (Xi | Parents(Xi))

Để tìm được một xác xuất kết hợp, cần phải sử dụng luậtnhân dựa trên các biến đã được xác định!

Biểu diễn độc lập trên đồ thị BN cho phép xây dựng các sơ

đồ lập luận hiệu quả hơn so với phân bố xác suất đầy đủ

AI++ - Hoá NGUYEN @ 2006 48

BN inference: EnumerationBN inference: Enumeration

=P( j | a)P(m | a)P(a | B,e)P(B)P(e)

e,a∑

P( j | a)P(m | a)P(a | b,e)P(b)P(e)e,a,b

P(J∧M ∧ A∧B∧ E)

= P(J | A)P(M | A)P(A | B,E)P(B)P(E)

Do đó:

P(B | m, j)

=P(B) P(e)

e∑ P( j | a)P(m | a)P(a | B,e)

a∑

P(b) P(e)e

∑ P( j | a)P(m | a)P(a | B,e)a

∑b

…nhưng khi đó sẽ phải lặp lại nhiều phép tính!

Solution: Sử dụng phương pháp tính toán động !

Page 25: Trí tuệ nhân tạo - nnhoa.free.frnnhoa.free.fr/courses/AI++/2006/Uncertainty.pdfAI++ - Hoá NGUYEN @ 2006 5 Quyết định hợp lý Mặcdùcósựlưỡng lự, agent vẫnphải

AI++ - Hoá NGUYEN @ 2006 49

LoLoạạii bibiếếnn –– Variable Elimination Variable Elimination -- VEVE

Một factor được định nghĩa giá trị của một hàm từ tập biến, chẳng hạn f(E,A,J)

CPTs chứa các factors, ví dụ P(A|E,B) function of A,E,B

Cách tiếp cận VE dựa trên việc loại bỏ tất cả các biến trongmột vòng tính cho đến khi còn một factor với chỉ một biến hỏi

Để loại biến:Kết hợp mọi factors chứa biến đó (chẳng hạn DB)

Tính tổng ảnh hưởng của biến đó đối với factor mới

Sử dụng luật nhân từ phân bố kết hợp

AI++ - Hoá NGUYEN @ 2006 50

VVíí ddụụ VE: P(J)VE: P(J)

Earthqk Burgl

Alarm

MJ

P(J)

= ΣM,A,B,E P(J,M,A,B,E)

= ΣM,A,B,E P(J|A)P(M|A)P(B)P(A|B,E)P(E)

= ΣAP(J|A) ΣMP(M|A) ΣBP(B) ΣEP(A|B,E)P(E)

= ΣAP(J|A) ΣMP(M|A) ΣBP(B) f1(A,B)

= ΣAP(J|A) ΣMP(M|A) f2(A)

= ΣAP(J|A) f3(A)

= f4(J)

Page 26: Trí tuệ nhân tạo - nnhoa.free.frnnhoa.free.fr/courses/AI++/2006/Uncertainty.pdfAI++ - Hoá NGUYEN @ 2006 5 Quyết định hợp lý Mặcdùcósựlưỡng lự, agent vẫnphải

AI++ - Hoá NGUYEN @ 2006 51

ChChúú ýý

Mỗi operation là một phép nhân đơn của các hệ số factors vàtổng của biến

Độ phức tạp phụ thuộc vào độ phức tạp xác định factor lớnnhất

Tuyến tính so với số biến,

Luỹ thừa đối với việc loại biến của factor lớn nhất

Sắp xếp để có được loại bỏ tối ưu: NP-hard cần phải sử dụngheuristics, cấu trúc đặc biệt (e.g., polytrees)

AI++ - Hoá NGUYEN @ 2006 52

Clustering algorithm Clustering algorithm ((Join Tree algorithmJoin Tree algorithm))

Ý tưởng chính:Chuyển về mạng Bayes dạng đơn liên kết (polytree) thông qua việctrộn (clustering) các nốt

Nốt mới chỉ có một parent

Độ phức tạp thời gian giảm xuống còn tuyến tính theo số biến O(n)

Đây là cách tiếp cận hiệu quả nhất đối với lập luận chính xác trongmạng BNs đa liên kết

Page 27: Trí tuệ nhân tạo - nnhoa.free.frnnhoa.free.fr/courses/AI++/2006/Uncertainty.pdfAI++ - Hoá NGUYEN @ 2006 5 Quyết định hợp lý Mặcdùcósựlưỡng lự, agent vẫnphải

AI++ - Hoá NGUYEN @ 2006 53

Clustering algorithmClustering algorithm……

Cloudy

WetGrass

Sprinkler Rain

Cloudy

Spr+Rain

WetGrass

S R P(W)

______________

t t .99

t f .90

f t .90

f f .00

S R P(W)

________________

t t .99

t f .90

f t .90

f f .00

P(C)=.5 P(C)=.5

C P(R)

________

t .80

f .20

C P(S)

________

t .10

f .50

C P(S+R=x)

t t t f f t f f

_________________________

t .08 .02 .72 .18

f .10 .40 .10 40

AI++ - Hoá NGUYEN @ 2006 54

LLậậpp luluậậnn xxấấpp xxỉỉ

Cách tiếp cận được sử dụng cho các mạng Bayes lớn, đaliên kết

Monte Carlo:Được sử dụng rộng rãi trong việc ước lượng các giá trị mà khó cóthể tính chính xác

Thuật toán sinh mẫu ngẫu nhiên

Độ chính xác phụ thuộc số mẫuDirect

Markov chaining sampling

Page 28: Trí tuệ nhân tạo - nnhoa.free.frnnhoa.free.fr/courses/AI++/2006/Uncertainty.pdfAI++ - Hoá NGUYEN @ 2006 5 Quyết định hợp lý Mặcdùcósựlưỡng lự, agent vẫnphải

AI++ - Hoá NGUYEN @ 2006 55

PhươngPhương phpháápp sinhsinh mmẫẫuu trtrựựcc titiếếpp

ProcedureSinh mẫu từ phân bố xác suất đã biết

Ước lượng giá trị ~ (# of matched samples) / (# of total samples)

Thứ tự sinhSinh mẫu với mỗi biến theo thứ tự topology

AI++ - Hoá NGUYEN @ 2006 56

Cloudy

WetGrass

Sprinkler Rain

S R P(W)

______________

t t .99

t f .90

f t .90

f f .00

P(C)=.5

C P(R)

________

t .80

f .20

C P(S)

________

t .10

f .50

[Cloudy, Sprinkler, Rain, WetGrass]

[true, , , ]

[true, false, , ]

[true, false, true, ]

[true, false, true, true]

Sampling

N = 1000N(Rain=true) = N([ _ , _ , true, _ ]) = 511P(Rain=true) = 0.511

Estimating

VVíí ddụụ

Page 29: Trí tuệ nhân tạo - nnhoa.free.frnnhoa.free.fr/courses/AI++/2006/Uncertainty.pdfAI++ - Hoá NGUYEN @ 2006 5 Quyết định hợp lý Mặcdùcósựlưỡng lự, agent vẫnphải

AI++ - Hoá NGUYEN @ 2006 57

LoLoạạii bbỏỏ mmẫẫuu

Procedure:Sinh mẫu từ phân bố xác định trên BN

Loại bỏ những mẫu không thoả các sự kiện đã rõ ràng

Ước lượng lại xác suất

Được sử dụng để tính xác suất phụ thuộc

Ví dụ: cần ước lượng P(Rain|Sprinkler = true) với 100 mẫu73 samples => Sprinkler = false

27 samples => Sprinkler = true8 samples => Rain = true

19 samples => Rain = false

P(Rain|Sprinkler = true) = NORMALIZE({8,19}) = {0.296,0.704}

Problem: It rejects too many samples

AI++ - Hoá NGUYEN @ 2006 58

Likelihood WeightingLikelihood Weighting

Ý tưởngCố định các biến đã quan sát được – evidence variables

Chỉ sinh các sự kiện phù hợp với những gì quan sát được (evidence)

Mỗi sự kiện được đánh trọng số có thể đúng – likelihood – mà sựkiến đó phù hợp với evidence

Ưu điểmTránh được tình trạng loại bỏ những mẫu tốt

Page 30: Trí tuệ nhân tạo - nnhoa.free.frnnhoa.free.fr/courses/AI++/2006/Uncertainty.pdfAI++ - Hoá NGUYEN @ 2006 5 Quyết định hợp lý Mặcdùcósựlưỡng lự, agent vẫnphải

AI++ - Hoá NGUYEN @ 2006 59

VVíí ddụụ

P(Rain|Sprinkler=true, WetGrass = true)?Sampling

The weight is set to 1.01. Sample from P(Cloudy) = {0.5,0.5} => true2. Sprinkler is an evidence variable with value true w w * P(Sprinkler=true | Cloudy = true) = 0.13. Sample from P(Rain|Cloudy=true)={0.8,0.2} => true4. WetGrass is an evidence variable with value truew w * P(WetGrass=true |Sprinkler=true, Rain = true) = 0.099[true, true, true, true] with weight 0.099

EstimatingAccumulating weights to either Rain=true or Rain=falseNormalize

AI++ - Hoá NGUYEN @ 2006 60

Markov Chain Monte CarloMarkov Chain Monte Carlo

“Trạng thái” của BN được xem xét dựa phép gán hiện thờicác giá trị cho tất cả biến

Trạng thái kế tiếp được sinh ra bởi lấy mẫu một biến trênMarkov Blanket

Với mỗi lần lặp, giữ cố định các sự kiện rõ ràng

Page 31: Trí tuệ nhân tạo - nnhoa.free.frnnhoa.free.fr/courses/AI++/2006/Uncertainty.pdfAI++ - Hoá NGUYEN @ 2006 5 Quyết định hợp lý Mặcdùcósựlưỡng lự, agent vẫnphải

AI++ - Hoá NGUYEN @ 2006 61

Markov ChainMarkov Chain

Với Sprinkler = true; WetGrass = true, có 4 trạng thái

AI++ - Hoá NGUYEN @ 2006 62

VVíí ddụụ vvớớii Markov Chain Monte CarloMarkov Chain Monte CarloQuery P(Rain|Sprinkler = true, WetGrass = true)

Trạng thái ban đầu: [true, true, false, true]

Các bước sau được thực hiện lặp lại:Cloudy được lấy mẫu dựa theo các giá trị biến trên MarkovBlanket của nó : P(Cloudy|Sprinkler = true, Rain=false), giả sử ta có Cloudy = false.

Khi đó trạng thái hiện thời là [false, true, false, true]

Rain được lấy mẫu dựa theo các giá trị biến trên MarkovBlanket của nó : P(Rain|Cloudy=false,Sprinkler = true, Rain=false), giả sử ta có Rain = true.

Khi đó trạng thái hiện thời là [false, true, true, true]

Sau khi sinh 100 mẫu, giả sử ta có 25 states mà rain = true và 75 states rain = false, khi đó câu trả lời của query là = NORMALIZE({25,75})={0.25,0.75}

Page 32: Trí tuệ nhân tạo - nnhoa.free.frnnhoa.free.fr/courses/AI++/2006/Uncertainty.pdfAI++ - Hoá NGUYEN @ 2006 5 Quyết định hợp lý Mặcdùcósựlưỡng lự, agent vẫnphải

AI++ - Hoá NGUYEN @ 2006 63

Microsoft Belief NetworksAdvantages

Easy to learn how to useWe can specify full and casually independent probability distributionsAnd finally it is free

http://www.research.microsoft.com/adapt/MSBNx/

Netica – from Norsys Software Corp/Disadvatages

Not free, commercial producthttp://www.norsys.com/

ỨỨngng ddụụngng BNsBNs

AI++ - Hoá NGUYEN @ 2006 64

SummarySummary

Mạng Bayes cung cấp một thể hiện tự nhiên đối với độc lậpcó điều kiện theo nguyên nhân

Topology + CPTs = compact representation of joint distribution

Dễ xây dựng

Lập luận chính xác dựa trên việc loại biếnTuyến tính đối với polytrees, NP-hard đối với đồ thị BN chung

space = time, phụ thuộc nhiều vào topology

Lập luận xấp xỉ LW, MCMC:Càng nhiều biến đã rõ ràng, phương pháp LW càng cần nhiều tínhtoán hơn

Nhìn chung LW, MCMC không phụ thuộc vào topology mạng

Hội tụ càng chậm với những xác suất gần 1 hoặc 0

Có thể sử lý kết hợp ngẫu nhiên biến rời rạc và liên tục

Page 33: Trí tuệ nhân tạo - nnhoa.free.frnnhoa.free.fr/courses/AI++/2006/Uncertainty.pdfAI++ - Hoá NGUYEN @ 2006 5 Quyết định hợp lý Mặcdùcósựlưỡng lự, agent vẫnphải

AI++ - Hoá NGUYEN @ 2006 65

AgendaAgenda

UncertaintyXác suất

Phân bố xác suất kết hợp

Độc lập xác suất và luật Bayes

Lập luận theo xác suất – Probabilistic reasoningMạng Bayes - Bayesian networks

Lập luận trong mạng BayesianLập luận chính xác

Lập luận xấp xỉ

Probabilistic learning

AI++ - Hoá NGUYEN @ 2006 66

Bayesian LearningBayesian Learning

Bayesian learning: cập nhật CPT của các nốt trong BNs trênkhông gian quan sát được

H là biến giả thiết, với các giá trị h1,…,hn , tiền xác suất P(H)

Gọi d=(d1,…dn) là vector dữ liệu đã quan sát được, mỗi giảthiết sẽ có hậu xác suất - a posterior probability P(hi|d) = αP(d|hi)P(hi), P(d|hi) - Likelihood được coi là xác suất có thểxảy ra likelihood

Ước đoán X sẽ dựa trên trung bình tổng likelihood của cácgiả thiết P(X|d) = ∑i P(X|d, hi)P(hi|d) = ∑i P(X|hi)P(hi|d)

Page 34: Trí tuệ nhân tạo - nnhoa.free.frnnhoa.free.fr/courses/AI++/2006/Uncertainty.pdfAI++ - Hoá NGUYEN @ 2006 5 Quyết định hợp lý Mặcdùcósựlưỡng lự, agent vẫnphải

AI++ - Hoá NGUYEN @ 2006 67

LLựựaa chchọọnn gigiảả thithiếếtt

Thường mong có giả thiết với xác suất cao nhất tồn tạitrong dữ liệu học

Gọi hMAP là giả thiết có hậu xác suất P(hi|d) là cực đại(maximum a posteriori - MAP hypothesis)

Việc ước đoán sẽ dựa trên MAP: P(X|d) ~ P(X|hMAP)

Với không gian giả thiết đồng nhất – uniform, MAP có thểđơn giản về việc chọn hi sao cho P(d|Hi) là cực đại –Maximum-Likelihood hypothesis hML

AI++ - Hoá NGUYEN @ 2006 68

SummarySummary

Bayesian learning cho phép dự đoán dựa trên việc tính xácsuất của mỗi giả thiết trong dữ liệu đã cho

MAP learning cho phép cân bằng độ phức tạp với tính chínhxác của dữ liệu huấn luyện

MP learning cho phép thao tác với tập dữ liệu lớn

Một số cách tiếp cận tốt hơn:Parametric learning

Instance-based learning (or Memory-Based learning)