trí tuệ nhân tạo - nnhoa.free.frnnhoa.free.fr/courses/ai++/2006/uncertainty.pdfai++ - hoá...
TRANSCRIPT
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
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 !!!
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 ?
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
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:
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)
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)
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
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)
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ổ
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
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))
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 !
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ụ
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ụụ……
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ó
AI++ - Hoá NGUYEN @ 2006 33
VVíí ddụụ
Earthquake Burglary
Alarm
MCallsJCalls
AI++ - Hoá NGUYEN @ 2006 34
VVíí ddụụ……
Earthquake Burglary
Alarm
MCallsJCalls
Radio
AI++ - Hoá NGUYEN @ 2006 35
VVíí ddụụ……
Earthquake Burglary
Alarm
MCallsJCalls
Radio
AI++ - Hoá NGUYEN @ 2006 36
VVíí ddụụ……
Earthquake Burglary
Alarm
MCallsJCalls
Radio
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
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)
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)
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
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
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 !
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)
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
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
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ụụ
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
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
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}
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
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)
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)
…