IKI30320 Kuliah 19 3 Des 2007 Ruli Manurung Learning Agents Inductive Learning Decision Tree Learning Mengukur Kinerja Belajar Ringkasan
IKI 30320: Sistem Cerdas
Kuliah 19: Machine Learning
Ruli Manurung
Fakultas Ilmu Komputer Universitas Indonesia 3 Desember 2007 IKI30320 Kuliah 19 3 Des 2007 Ruli Manurung Learning Agents Inductive Learning Decision Tree Learning Mengukur Kinerja Belajar Ringkasan
Outline
1 Learning Agents 2 Inductive Learning3 Decision Tree Learning
4 Mengukur Kinerja Belajar
5 Ringkasan IKI30320 Kuliah 19 3 Des 2007 Ruli Manurung Learning Agents Inductive Learning Decision Tree Learning Mengukur Kinerja Belajar Ringkasan
Learning Agents
2 pendekatan membangun agent:
Dirancang, diprogram, diberi knowledge oleh manusia Dirancang sehingga bisa belajar dari input (percept, pengalaman, dst.)
Manfaat learning agent:
Environment bisa berubah.
Manusia (programmer?) itu malas, ceroboh, tidak maha tahu. IKI30320 Kuliah 19 3 Des 2007 Ruli Manurung Learning Agents Inductive Learning Decision Tree Learning Mengukur Kinerja Belajar Ringkasan
Agent yang Belajar
Kita sudah melihat banyak jenis agent:
Simple reflexagent (condition-action rules)
Searchagent (punya goal dan successor state function)
Knowledge-basedagent (membangun representasi simbolik dari percept)
Utility-basedagent (mengukur nilai utility sebuh state) Semua agent ini bisa dibangun dengan metode
“pembelajaran” yang tepat!
IKI30320 Kuliah 19 3 Des 2007 Ruli Manurung Learning Agents Inductive Learning Decision Tree Learning Mengukur Kinerja Belajar Ringkasan
Arsitektur Learning Agent
Performance standard Agent Environment Sensors Effectors Performance element changes knowledge learning goals Problem generator feedback Learning element Critic experiments IKI30320 Kuliah 19 3 Des 2007 Ruli Manurung Learning Agents Inductive Learning Decision Tree Learning Mengukur Kinerja Belajar Ringkasan
Jenis Metode Learning
Supervised learning
Agent belajar fungsi yang memetakan input ke output Pada tahap training, learning algorithm menerima sekumpulan input beserta output yang diharapkan. Sample ini dipakai untuk estimasi fungsinya.
IKI30320 Kuliah 19 3 Des 2007 Ruli Manurung Learning Agents Inductive Learning Decision Tree Learning Mengukur Kinerja Belajar Ringkasan
Jenis Metode Learning
Unsupervised learning
Sebuah learning algorithm menerima sekumpulan data, dan harus menemukan pola-pola di dalamanya.
Misalnya:
Sebuah agent taxi menerima data mengenai laju lalin sepanjang hari. Mungkin ia bisa belajar periode “morning rush hour”, “evening rush hour”
IKI30320 Kuliah 19 3 Des 2007 Ruli Manurung Learning Agents Inductive Learning Decision Tree Learning Mengukur Kinerja Belajar Ringkasan
Jenis Metode Learning
Reinforcement learning
Sebuah agent menerima input data dan harus mengambil tindakan.
Agent lalu menerimareinforcement signal(mis. good, bad) sebagai akibat tindakan.
Learning algorithm memodifikasi agent function untuk memaksimalkan signal “good”.
IKI30320 Kuliah 19 3 Des 2007 Ruli Manurung Learning Agents Inductive Learning Decision Tree Learning Mengukur Kinerja Belajar Ringkasan
Inductive Learning
InductionPrinsip dasar dari supervised learning adalah
“belajar dari pengalaman”. Prosedur inductive learning:
Asumsi ada fungsi f : input x , output f (x ).
Sebuah pair (x , f (x )) disebutexample/sampledari f . Ambil himpunantraining exampledan hasilkan fungsi hipotesa h yang mengaproksimasi f .
Pureinductive inference: tak ada prior knowledge ttg. f Fungsi h yang bagus bisa memprediksi example yang belum dilihat (unseen) pada saat belajar.
IKI30320 Kuliah 19 3 Des 2007 Ruli Manurung Learning Agents Inductive Learning Decision Tree Learning Mengukur Kinerja Belajar Ringkasan
Consistency vs. Simplicity
Sebuah hipotesa yang consistent bisa menjelaskan semua training example.
Ada banyak consistent hypothesis untuk sebuah training set.
Ockham’s Razor: pilih yang paling simple! Secara intuitif: generalisasi terhadap example baru. Biasanya ada trade-off antara consistency dan simplicity . IKI30320 Kuliah 19 3 Des 2007 Ruli Manurung Learning Agents Inductive Learning Decision Tree Learning Mengukur Kinerja Belajar Ringkasan
Contoh “curve-fitting”
x
f(x)
IKI30320 Kuliah 19 3 Des 2007 Ruli Manurung Learning Agents Inductive Learning Decision Tree Learning Mengukur Kinerja Belajar RingkasanMetode Ilmiah = Inductive Learning
Metode ilmiahempiris bisa dilihat sebagai proses inductive learning:
1 Lakukan ujicoba, kumpulkan data
2 Rumuskan hipotesis yang konsisten dengan data 3 Hipotesis ini memprediksi nilai data baru
4 Lakukan ujicoba untuk memeriksa kebenaran prediksi 5 Tambahkan ke data yang kita miliki
IKI30320 Kuliah 19 3 Des 2007 Ruli Manurung Learning Agents Inductive Learning Decision Tree Learning Mengukur Kinerja Belajar Ringkasan
Induction sebagai Search
Sebuah prosedur induktif mendefinisikan space: possible hypotheses
Mis. untuk curve-fitting, space = fungsi polynomial dgn. degree n: f (x ) = k0+k1x + k2x2+ . . . +knxn
Search space terlalu kecil: f (x ) yang kita cari tidak ada
(unrealisable)
Search space terlalu besar:
Makin sulit ditelusuri
Makin banyak hipotesa yang konsisten dengan training example IKI30320 Kuliah 19 3 Des 2007 Ruli Manurung Learning Agents Inductive Learning Decision Tree Learning Mengukur Kinerja Belajar Ringkasan
Decision Tree Learning
Proses learning yang menghasilkandecision tree. Hypothesis space mengandung himpunan n input variable dan 1 output variable.
Tipe variable bisa: boolean, diskrit, kontinyu
Sebuah example tdd himpunan nilai input variable dan 1 output variable
Jika output variable kontinyu →regressiontask Jika output variable diskrit →classificationtask
IKI30320 Kuliah 19 3 Des 2007 Ruli Manurung Learning Agents Inductive Learning Decision Tree Learning Mengukur Kinerja Belajar Ringkasan
Contoh: Menunggu di Restoran
Kita ingin mempelajari pola pikir seseorang (SR): rela menunggu untuk dapat meja di restoran
Input variable (di antaranya):
Alt (boolean): adakah restoran alternatif? Bar (boolean): apakah restoran memiliki bar? Patrons (diskrit): ada berapa pengunjungnya? Type (diskrit): apa jenis makanannya?
Output variable:
Variable boolean: WillWait
Cari metode yang dapat merumuskan fungsi hipotesa yang “menjawab” nilai WillWait untuk semua kemungkinan nilai input variable. IKI30320 Kuliah 19 3 Des 2007 Ruli Manurung Learning Agents Inductive Learning Decision Tree Learning Mengukur Kinerja Belajar Ringkasan
Contoh: Training Examples
Ex.
Attributes Target
Alt Bar Fri Hun Pat Price Rain Res Type Est WillWait
X1 T F F T Some $$$ F T French 0–10 T X2 T F F T Full $ F F Thai 30–60 F X3 F T F F Some $ F F Burger 0–10 T X4 T F T T Full $ F F Thai 10–30 T X5 T F T F Full $$$ F T French >60 F X6 F T F T Some $$ T T Italian 0–10 T X7 F T F F None $ T F Burger 0–10 F X8 F F F T Some $$ T T Thai 0–10 T X9 F T T F Full $ T F Burger >60 F X10 T T T T Full $$$ F T Italian 10–30 F X11 F F F F None $ F F Thai 0–10 F X12 T T T T Full $ F F Burger 30–60 T
IKI30320 Kuliah 19 3 Des 2007 Ruli Manurung Learning Agents Inductive Learning Decision Tree Learning Mengukur Kinerja Belajar Ringkasan
Decision Trees
Sebuah representasi untuk kemungkinan hipotesa: Anggap sbg. sebuahif..then yang besar!
Leaf node memberikan jawaban output variable Mis.: inilah decision tree untuk fungsi yang “benar”:
No Yes No Yes No Yes No Yes No Yes No Yes
None Some Full
>60 30−60 10−30 0−10 No Yes Alternate? Hungry? Reservation? Bar? Raining? Alternate? Patrons? Fri/Sat? WaitEstimate? F T F T T T F T T F T T F IKI30320 Kuliah 19 3 Des 2007 Ruli Manurung Learning Agents Inductive Learning Decision Tree Learning Mengukur Kinerja Belajar Ringkasan
Decision Trees: Expresiveness
Sebuah decision tree dapat menyatakan sembarang fungsi dari nilai input (attributes)
Mis. untuk n variable boolean, buat tree dari truth table-nya:
F T A B F T B A B A xor B F F F F T T T F T T T F F F F T T T
Tree ini memiliki satu pathroot → leafuntuk setiap baris truth table. Kesimpulan: buat satu path untuk setiap training example. Ini namanya “hafal mati”! (Generalisasi? Prediksi contoh baru? Belajar?)
Ingat Ockham’s Razor:
Cari decision tree yang palingsimpletapiconsistentdengan data
IKI30320 Kuliah 19 3 Des 2007 Ruli Manurung Learning Agents Inductive Learning Decision Tree Learning Mengukur Kinerja Belajar Ringkasan
Algoritma DTL
Tujuan: cari tree terkecil yang konsisten dengan training examples
Algoritma DTL
function DTL(examples, attributes, default) returns a decision tree if examples is empty then return default
else if all examples have same classification then return classification else if attributes is empty then return MODE(examples)
else
best ← CHOOSE-ATTRIBUTE(attributes, examples) tree ← a new decision tree with root test best
for each value viof bestdo
examplesi← {elements of examples with best = vi}
subtree ← DTL(examplesi,attributes − best, MODE(examples))
add a branch to tree with label viand subtree subtree return tree
Secara rekursif: cari input variable yang “paling menjelaskan” training example, tambahkan node-nya.
IKI30320 Kuliah 19 3 Des 2007 Ruli Manurung Learning Agents Inductive Learning Decision Tree Learning Mengukur Kinerja Belajar Ringkasan
Memilih Variable
Sebuah input variable yang ideal akan memilah
example yang ada menjadi “semua positif” atau “semua negatif”.
Berdasarkan prinsip ini, sebuah variable bisa “lebih baik” dari variable lain.
Contoh: mana yang lebih baik?
None Some Full
Patrons?
French Italian Thai Burger Type?
IKI30320 Kuliah 19 3 Des 2007 Ruli Manurung Learning Agents Inductive Learning Decision Tree Learning Mengukur Kinerja Belajar Ringkasan
Information Theory
Pilih variable yang paling banyak mengandunginformasimengenai nilai output variable.
GunakanInformation Theory(Shannon & Weaver, 1949) Satuan informasi: 1 bit = informasi yang terkandung jawaban terhadap pertanyaanya/tidak.
Dkl. output variable boolean dgn.prior distributionh0.5, 0.5i. Kandungan informasi jika prior-nya hP1, . . . ,Pni:
I(hP1, . . . ,Pni) =Pni = 1−Pilog2Pi Disebutentropydari prior hP1, . . . ,Pni.
IKI30320 Kuliah 19 3 Des 2007 Ruli Manurung Learning Agents Inductive Learning Decision Tree Learning Mengukur Kinerja Belajar Ringkasan
Memilih Variable dengan Information Gain
I(h0.5, 0.5i) = 1bit I(h1.0, 0.0i) = 0bit
Information gain
Selisih informasi yang dibutuhkan sebelum dan sesudah nilai sebuah atribut diketahui.
None Some Full
Patrons?
French Italian Thai Burger Type? Gain(Patrons) ≈ 0.541bit Gain(Type) ≈ 0bit Pilih Patrons! IKI30320 Kuliah 19 3 Des 2007 Ruli Manurung Learning Agents Inductive Learning Decision Tree Learning Mengukur Kinerja Belajar Ringkasan
Hasil DTL
Tree yang dihasilkan algoritme DTL untuk 12 example:
No Yes
Fri/Sat?
None Some Full
Patrons?
No Yes
Hungry?
Type?
French Italian Thai Burger
F T
T F
F
T
F T
Lebih kecil/simple daripada tree yang sebenarnya! Hipotesa yang lebih kompleks (mis. Bar , Rain) tidak perlu (berdasarkan training example!)
IKI30320 Kuliah 19 3 Des 2007 Ruli Manurung Learning Agents Inductive Learning Decision Tree Learning Mengukur Kinerja Belajar Ringkasan
Menguji Hipotesa
Bagaimana mengukur keberhasilan algoritme DTL dkk.?
Uji kebenaran hipotesa “menjawab” example baru (generalisasi).
Bagi data menjadi 2:training setdantesting set:
Jalankan learning pada training set Evaluasi keberhasilan pada testing set
Pendekatan lain:cross-validation:
Bagi data menjadi n potongan
Train n kali, setiap kali sisakan potongan yang berbeda untuk testing
IKI30320 Kuliah 19 3 Des 2007 Ruli Manurung Learning Agents Inductive Learning Decision Tree Learning Mengukur Kinerja Belajar Ringkasan
Learning Curve
Knowledge = PowerSemakin banyak data, semakin bagus hasil machine learning.
Learning curve
% prediksi benar pada test set sbg. fungsi dari ukuran training set. Contoh, pada data restoran:
0.4 0.5 0.6 0.7 0.8 0.9 1 0 20 40 60 80 100
Proportion correct on test set
Training set size
IKI30320 Kuliah 19 3 Des 2007 Ruli Manurung Learning Agents Inductive Learning Decision Tree Learning Mengukur Kinerja Belajar Ringkasan
Bentuk Learning Curve
Learning curve juga tergantung masalah yang dipelajari:
Realizable: Fungsi target f (x ) bisa dinyatakan
Non-realizable: Fungsi target f (x ) tidak bisa dinyatakan (kurang atribut?)
Redundant: Banyak atributnoiseyang tidak berguna, menyesatkan (overfitting)! % correct # of examples 1 nonrealizable redundant realizable IKI30320 Kuliah 19 3 Des 2007 Ruli Manurung Learning Agents Inductive Learning Decision Tree Learning Mengukur Kinerja Belajar Ringkasan
Ringkasan
Learning bermanfaat untuk:
Unknown environment Lazy designers
Supervised learningmenggunakan prinsip induksi: dari sehimpunan data, estimasi sebuah hipotesa
Trade-off antaraconsistencydansimplicity
AlgoritmeDecision Tree Learningmenggunakan
Information Gain
Metode machine learning diuji dengan tahaptraining
dantesting