今天廢廢和教授討論後,說如果一個二維資料格式太多0的話會造成CNN卷積的時候有些值會過大導致特徵偏差太大(應該是這樣解釋),總之DAY21附上的的二維資料格式裡有50 38 36這些數字在進行卷積時可能會越變越大(CNN卷積運作這部分就要讀者自己去看一下其他網站寫的囉)。
所以會將撲克牌的位置當作牌號,1, 2, 3, 4作為花色(不能用0做為資料輸入,因為0代表沒有特徵),還有教授說要盡可能地將所格子用上,這樣才不會某些地方的值一直為0,拿DAY 22的範例來說,hand_level是1~5所以只有黑框內會有數值,紅框會一直是0,這樣訓練效果會不好。
所以目前是:
strength依舊是0~12
flop0~flop4 hand0~hand1,使用位置代表牌的大小,使用1,2,3,4代表花色(DAY15有撲克編碼)
紅心A | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | J | Q | K | A
-------------|-----------------
| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 3
hands_level以1填入,因為有1~5個等級,所以1->1,2->1 1,3->1 1 1以此類推
5 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | J | Q | K | A
-------------|-----------------
| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 1
player_chips將籌碼劃分0~12個等級,比如介在80與125之間等級為6
89.9 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | J | Q | K | A
-------------|-----------------
| 0 | 0 | 0 | 0 | 0 | 6 | 0 | 0 | 0 | 0 | 0 | 0 | 0
0 1 1 0代表大小盲注,實際計算後分為3個大類[0,1,1,0] [-1,-1,-1,-1] [0,0,1,1]因此會以1 1 1 1填入並且是不同的位置
[0,1,1,0] | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | J | Q | K | A
-------------|-----------------
| 1 | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0
[-1,-1,-1,-1] | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | J | Q | K | A
-------------|-----------------
| 0 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 0
[0,0,1,1] | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | J | Q | K | A
-------------|-----------------
| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 0
最後一row暫時沒有想法,先這樣吧!
以上大致是這次開會討論的結果