2016-02-12 94 views
4

我已經熟悉了很多種機器學習方法,但是我很難識別哪種方法可能最適合我給定的有趣問題。 (IE:這是一個監督學習問題,如果是這樣,我的輸入x和輸出y是什麼?)機器學習:如何學習MTG草稿紙牌遊戲

一個神奇的收集草案包括許多演員圍坐在一張桌子上,拿着一包15張牌。玩家挑選一張牌並將剩餘的牌交給旁邊的玩家。他們打開一個新的包,然後再做3輪(45個決定)。人們最終得到了一張他們用來競爭的套牌。

我很難理解如何構建我所需要的數據進行學習。我想要一個解決方案,1)建立關於挑選哪張牌相對於先前選出的牌的知識2)然後可以用來決定從給定的新包選擇哪張牌。

我有一個人類選擇的數據集我想學習。它還包括他們最終選擇但最終放棄的卡片的信息。什麼可能是一個優雅的方式來構造這些數據進行學習,或者,我的功能是什麼?

+0

我認爲機器學習通常需要一個「健身」來做出確定性的選擇。在卡片被相對彼此挑選的情況下,您需要給卡片某種比例重量(例如,如果您在某組中選擇一張藍色卡片,它可能會在黑色或紅色中有更強的補充,但不是綠色或白色) 。總體健身可以加強一切,並且可以通過實際發揮選項並賦予45張牌的凝聚力來找到(但是那時你必須考慮40張牌的最低甲板和資源平衡(土地))。 R cards/Power –

+0

在我看來,一個適當的學習算法將能夠解釋所有這些。我在這裏需要的唯一健身(我認爲...)是以前人們的選擇,它們被認爲是合適的。 –

回答

1

這些類型的問題通常是由增強作用學習規劃馬氏決策過程解決。因此這不是典型的有監督/無監督學習方案。這是關於學習玩某些東西 - 與環境(遊戲規則,機會等)交互。看看類似的方法:

  • Q學習
  • SARSA
  • UCT

在由薩頓和巴托特別偉大的書「強化學習:簡介」,可以是一個很好的初始點。

+0

我可以看到強化學習是如何應用的,但我希望得到比'閱讀一本書'更具體,更具體的問題。似乎超精細。它並沒有真正與環境相互作用,我希望有一個解決方案能夠根據以前的選擇找出適合未來選擇的解決方案。 –

+0

問題是 - 這類問題沒有這樣的答案。這是關於試驗和錯誤,有幾十種方法,修改和甚至更多的可能性。 – lejlot

+0

感謝您的閱讀建議。我再一次縮小了我的問題。 –

1

是的,你可以訓練一個模型來處理這個 - 最終 - 無論是有監督學習還是無監督學習。問題是因素的數量和當地的穩定點。不幸的是,此時的輸入是遊戲狀態:所有玩家選擇的牌(特別是AI的牌組的當前狀態)以及手牌中的牌。

如您所說,您的輸出結果應該是所選的卡片......不可用。我覺得你有一個組合式的爆炸,需要大量的數據,或簡化卡的功能,使算法提取的含義比「從這組8中選擇卡X」更深。

實際上,您可能希望模型對可用選項進行評分,而不是簡單地挑選特定卡片。返回排名或健身指標,或挑選每張特定卡片的概率。

您可以在選擇投入組織時提供一些監督。例如,您可以爲每張卡片提供一組特徵,而不僅僅是一張卡片ID - 爲算法提供一個「理解」構建一致卡片組類型的機會。

您可能還希望進行一些抽象(即簡化)當前遊戲狀態的工作,例如編寫評估例程來總結其他正在構建的套牌。例如,如果該組中有6名選手,而你的RHO和他的對手都在建立燒錄臺,你不想這樣做 - RHO將在6張甲板中的5箇中傳送最好的燃燒卡,留下你第二(或第三)的選擇。

至於算法... 一個神經網絡將爆炸與這麼多的輸入變量。你會想要更簡單的匹配你的輸入數據。如果你使用抽象屬性,你可能會考慮一些決策樹算法(樸素貝葉斯,隨機森林等)。考慮到情況的相似性,您也可以選擇協作過濾模型。

我希望這有助於啓動你設計你的功能。請注意,你正在攻擊一個複雜的問題:可以使遊戲在人類中流行的功能之一是它可以幫助硬件自動執行決策。

+0

你認爲如果數據被重組爲卡持有卡片的挑選組合,這會簡化這個嗎?我不想涉及任何詳細的屬性方案。這是我的印象,如果我有足夠的人體挑選數據,並已妥善處理,其餘的會自行處理。我也不明白爲什麼你需要一個完整的遊戲狀態而不是一個座位。 –

+0

是的,這些對將大大簡化問題,並會給你一個體面的起始模型。您仍然需要大量人員數據。 – Prune

+0

至於需要「遊戲狀態」,我假設這個模型的目的是在坐在桌旁的玩家中贏得比賽。要做到這一點,你需要考慮他們的選擇,只要這些選擇會影響到他們的甲板到達你時可用的牌。 – Prune