2019年2月22日 星期五

[課程] 2019基於遊戲的機器學習入門



Instructor
蘇文鈺 (Alvin W.Y. Su, alvinsu@mail.ncku.edu.tw)

Teaching Assistant
邱晴瑜,高靖珊,   RM 65707

Course Materials
  1. Introduction to machine learning textbook
  2. Gamed Based coding platform
  3. Online ppt
  4. Reference: Stanford CS229, https://stanford.edu/~shervine/teaching/cs-229.html
Power Point

    week 3    課程投影片   Lab
    week 4    課程投影片
    week 5    課程投影片   Lab
    week 10  PreContestFeedback Lab
    week 11  課程投影片   Lab
    week 12  課程投影片
    week 13  課程投影片
    week 15  課程投影片

Target
1.  Learn basic machine learning algorithms
2.  Use machine learning tools
3.  Understand data and its preprocessing
4.  Learning by doing and gaming.

Course Arrangement
Breakfast
Purpose: Application of unsupervised learning tools to game playing from the collected data.
Week 1: Introduction of the course and applications using ML
Week 2: Build Machine Learning Environment and brief intro to basic classifiers
·        Python sklearn
·        Unsupervised classifier
o   k-Means
o   Mean-shift
o   Gaussian Mixture Model (GMM)
·        Supervised classifier
o   kNN
o   SVM
·        Lab 1-1
Week 3: Build and Practice of the Game Platform
·        Installation of Game Platform
·        Game 1: Breakout clone
·        Try to write a novice code to play the game
·        Play the game 10000 times, record the processes.
·        Analysis be the HW. To report on Week 6.
Week 4: Support Vector Machine
·        SVM (Support Vector Machine)
·        SVC (Support Vector Classification)
·        SVR (Support Vector Regression)
·        Lab 1-2
Week 5: Multi-class clustering/classification
·        SVM
·        Hierarchical clustering
·        Lab 1-3
    Week 6: Student reports
·        Strategy report to get a high score from the breakout clone game.
·        To use ML tools is encouraged.
Lunch
Purpose: Application of machine learning tools to a computer game, called Breakout Clone, also called Arkanoid. Object positions provided.
Week 7: Decision Tree
·        Decision Tree
·        Random Forest
·        Lab 1-4
Week 8: Breakout Clone, pre-contest
Week 9: Bagging, Boosting, Adaboost
·        Lab 1-5
Week 10: Neural Network
·        MLP
o   Common aspects between SVM and MLP
o   Image pre-processing
o   Feature vector examples and comparison
§  2D image whole into 1D vector
§  Encoding and compression
o   Hidden layers and Activation functions
o   Back propagation algorithm
o   Before coding an MLP
§  Mathematical representation (Matrix forms)
·        Lab 1-6
Week 11: Installation of Game 2, Ping-Pong
·        Get Familiar with the online platform.
·        Try to write a novice code to play the game.
·        Play the game 10000 times, record the processes.
·        Analysis be the HW. To report on Week 14.
Week 12: DNN
·        DNN (Deep Neural Network)
o   Pitch detection: RWC dataset
o   Ping-Pong
·        Lab 1-7
Week 13: Breakout Clone contest
Afternoon Tea
Purpose: Application of machine learning tools to a computer Ping-Pong game. Object positions provided.
Week 14: Student reports
·        Strategy report to get a high score from the Ping-Pong game.
·        To use ML tools is encouraged.
Week 15: CNN
·        CNN (Convolutional Neural Network)
·        Common and different aspects between MLP and CNN
o   One big 2D convolution, Many smaller 2D convolutions, and Inner-products
o   Block-based activation (kernel Pooling) v.s. Activations
·        YOLO-like CNNs
o   Annotations
·        Lab 1-8
Week 16: RNN
·        Recurrent Neural Network
o    Stock price
·        Lab 1-9
Showtime
Purpose: Applications of ML knowledge in Game playing 
Week 17: Discussion
·        Private communication
    Week 18: Final contest and report
Grading by Ranking
  1. G-1: Lab report (HackMD) and attendance: 20%
  2. G-2: Breakout Clone pre-contest: 5%
  3. G-3: Breakout Clone contest 2: 25%
  4. G-4: Github: 10%
  5. G-5: Final Contest: 45%
·        Winner of each contest with Rank=0. The second position with Rank=1. Same for others.
·        Grade = Contest highest grade (1 - Rank * factor), factor TBD
·        Finale =  sum (G-i), for all i.

沒有留言: