Chikayama & Taura Lab. M1 Ayato Miki 1 Introduction Related work Proposed method 1. 2. 3. ◦ ◦ ◦ 4. 5. SVM with kernels Tree kernels in mahjong Learning to rank using SVM Experiment Conclusion 2 Features = elements to evaluate positions in games ◦ e.g. Numbers and arrangements of pieces in Shogi Difficulty in creating features ◦ Require expert knowledge for the game ◦ Simple linear combinations are insufficient e.g. XOR 3 Use kernels for evaluation features in games ◦ Simple inputs Tree structure ◦ Expect to work as non-linear features Implicit classification in high level feature space 4 Classification of moves in mahjong using SVM with kernels ◦ “Evaluation functions > search” in mahjong Kernel method is effective ◦ Tree kernels for tree structures of mahjong hands Similarity representation by kernel functions ◦ Use expert game records Learn “expert moves > other moves” with SVM 5 Introduction Related work Proposed method 1. 2. 3. ◦ ◦ ◦ 4. 5. SVM with kernels Tree kernels in mahjong Learning to rank using SVM Experiment Conclusion 6 Machine learning using simple features ◦ TD-Gammon [Tesauro, 1992] Research about mahjong ◦ Learning from expert records [Kitagawa, 2007] 7 Game Mahjong Features Manually picked Method Bonanza method (without search) Accuracy 56% 9 面前の持ち牌 面前の持ち牌2枚の組み合わせ 面前の持ち牌3枚の組み合わせ 鳴いた牌の構成と状態 面子数 リャンメン数 Features of player カンチャン数とペンチャン数の和 トイツ数 テンパイしているかどうか ドラの枚数 面前であるかどうか 親であるかどうか リーチしているかどうか 自分が捨てたことのある牌 鳴いた牌の構成と状態 鳴いた回数 Features of opponents 鳴いた牌の中で見えているドラの数 親であるかどうか リーチしているかどうか そのプレイヤに対する完全安牌 筋や壁などによって安全度が高い牌 自分との点差 Features of field オーラスかどうか 見えていない牌の残り枚数 10 Introduction Related work Proposed method 1. 2. 3. ◦ ◦ ◦ 4. 5. SVM with kernels Tree kernels in mahjong Learning to rank using SVM Experiment Conclusion 11 Introduction Related work Proposed method 1. 2. 3. ◦ ◦ ◦ 4. 5. SVM with kernels Tree kernels in mahjong Learning to rank using SVM Experiment Conclusion 12 2-class linear classifier g ( x) w x b g ( x) 1 g ( x) 0 1 w 2 Maxmize margin w 1 w g ( x ) 1 13 Method for non-linear classification x (x ) ( x1 ) ( x2 ) K ( x1 , x2 ) Explicit Replace 14 Introduction Related work Proposed method 1. 2. 3. ◦ ◦ ◦ 4. 5. SVM with kernels Tree kernels in mahjong Learning to rank using SVM Experiment Conclusion 15 手牌 孤立牌 面子候補 面子 暗刻 リャンメン カンチャン ペンチャン 明刻 暗順 … トイツ Specific cards as leaves 16 孤立牌 リャンメン カンチャン ペンチャン トイツ 暗刻 暗順 17 手牌 孤立牌 手牌 面子候補 リャンメン 面子 カンチャン 孤立牌 暗順 面子候補 リャンメン 面子 カンチャン Count common subtrees 暗順 SST 手牌 … … … リャンメン … リャンメン … 面子候補 面子 リャンメン 暗順 … 面子候補 リャンメン 18 Deep subtrees are not very important 面子 暗順 暗順 暗刻 depth (0 1) 19 K t (t1 , t 2 ) (n , n ) n1N t1 n2 N t2 1 2 F (n1 , n2 ) l ( fi ) i 1 I i (n1 ) I i (n2 ) Nt Set of nodes in tree t F { f1, f 2 ,, f F } Subtree set l ( fi ) Depth of subtree fi 1 I i (n) 0 If fi is rooted at node n otherwise 20 Introduction Related work Proposed method 1. 2. 3. ◦ ◦ ◦ 4. 5. SVM with kernels Tree kernels in mahjong Learning to rank using SVM Experiment Conclusion 21 SVM is just a 2-class classifier If you want to know ranks of three moves… ◦ How learn to rank ( m1 , m2 ) m1 m2 ( m1 , m3 ) m1 m3 ( m2 , m3 ) m2 m3 Rank m3 m1 m2 Order classifier ( > or < ) Input data -> Pairs of moves 22 One training example has two tree instances ei t , t l i r i Label +1 when tl > tr Label -1 when tl < tr Define kernel function for relative order Ktr (e1, e2 ) Kt (t1l , t2l ) Kt (t1r , t2r ) Kt (t1l , t2r ) Kt (t1r , t2l ) Classify “tl > tr” and “ tl< tr” 24 Introduction Related work Proposed method 1. 2. 3. ◦ ◦ ◦ 4. 5. SVM with kernels Tree kernels in mahjong Learning to rank using SVM Experiment Conclusion 25 1. Experiment of proposed method 2. Error analysis 3. Comparison with related work 4. Practical player 26 Machine spec ◦ Dual-Core AMD Opteron 2.4GHz ◦ 32GB RAM Implementation ◦ SVM-Light-TK [Moschitti, 2004] Soft margin trade-off parameter C=0.1 Optimization threshold ε=0.1 27 Learn from tsumo positions in expert records ◦ “Offensive” positions only Nobody declares “li-zhi” Nobody calls 3 or more “chi”, “pon” or “kan” ◦ Using records of Totugeki Tohoku ~285 games (~13,000 training positions) Evaluation ◦ Accuracy rates of trained classifiers Are expert moves ranked as the bests ? ◦ 4-fold cross validation 28 100% 90% Accuracy rates 80% 70% rank 1 rank 1-2 60% rank 1-3 rank 1-5 50% 40% 30% 0 2000 4000 6000 8000 10000 12000 14000 Training positions 29 “Defensive” positions 31 Positions require “yaku”(=poker hands) knowledge 32 Using features designed in [Kitagawa, 2007] ◦ Including board status information Implementation ◦ Ranking SVM in SVM-Light [Joachims, 2002] 34 100% 90% Accuracy rates 80% 70% rank 1 rank 1-2 60% rank 1-3 rank 1-5 50% 40% 30% 0 5000 10000 15000 Training positions 35 Core2 Duo 1.06GHz 91819 support vectors 700ms for classification of one tree pair 7 seconds for deciding one move ◦ 4 seconds in dual threading ◦ Good enough for playing against human players 36 Introduction Related work Proposed method 1. 2. 3. ◦ ◦ ◦ 4. 5. SVM with kernels Tree kernels in mahjong Learning to rank using SVM Experiment Conclusion 37 Classified ranks of moves with tree kernels ◦ Possible with simple input 57% accuracy ◦ Despite the lack of information of field and opponents ◦ Increasing… Fine accuracy with permissible cost 38 Classification analysis Refine tree structure Other information ◦ Positions that linear combinations cannot classify ◦ Hands information with other kernels String kernels ◦ Information of field and opponents Add as linear combinations or other kernels Heavy computing cost ◦ Classification time increases with a number of training positions ◦ Indispensable in other games 39
© Copyright 2024 ExpyDoc