為主客場建立輸入層
現在你要改進上一章用於例行賽比賽的模型。你知道籃球中「主場優勢」很明確,因此你會在模型中加入一個新的輸入來捕捉這個效果。
這個模型會有 3 個輸入:team_id_1、team_id_2 和 home。球隊 ID 是整數,會用來查詢你在上一章建立的球隊強度模型;home 是二元變數,若 team_1 在主場出賽為 1,否則為 0。
你在上一章使用的 team_strength_model 已經載入到你的工作環境。將它套用到各自的輸入後,請使用 Concatenate 層把兩支球隊的強度與主客場變數合併,並將結果傳入 Dense 層。
本練習屬於課程
使用 Keras 的進階深度學習
練習說明
- 建立 3 個形狀為 1 的輸入層,分別對應隊伍 1、隊伍 2,以及主客場。
- 在
team_strength_model()中查詢球隊輸入。 - 將兩隊強度與主場輸入做 Concatenate,並傳入 Dense 層。
動手互動練習
試著完成這個範例程式碼,體驗一下這個練習。
# Create an Input for each team
team_in_1 = ____(shape=(1,), name='Team-1-In')
team_in_2 = ____(shape=(1,), name='Team-2-In')
# Create an input for home vs away
home_in = ____(shape=(1,), name='Home-In')
# Lookup the team inputs in the team strength model
team_1_strength = ____(____)
team_2_strength = ____(____)
# Combine the team strengths with the home input using a Concatenate layer, then add a Dense layer
out = _____()([____, ____, home_in])
out = _____(____)(____)