2020年3月13日 星期五

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

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

  • Week7 - 第一次比賽
  • Week8 - SVM / Decision tree and Random Forest
  • Week9 - Neural Network
  • Week10 - DNN
  • Week11 - 第二次比賽
  • Week12 - CNN
  • Week13 - LSTM


    Course Arrangement

    1st quarter

    Purpose: Get familiar with the course requirement, the offline game platform and the online game platform. Collect and annotate the data.

    week 1 : Introduction of the course and applications using ML. How this course will proceed this semester. Especially in the COVID-19 period.

    week 2 : Setup of Python programming environment. Use of Github.

    week 3 : Build and Practice of the offline Game Platform and the online Game Platform.

    week 4 : Practice using the online Game Platform. Intro. to basic classifiers

    2nd quarter

    Purpose: Application of simple machine learning tools to a computer game, called Breakout Clone, also called Arkanoid. Object positions provided.

    week 5 : 兒童節、民族掃墓節補假。

    Week 6: Introduction and models

    Week 7: 1st online contest, New Breakout Clone (Behavior is a little bit different!) (10%)

    Week 8: Support Vector Machine/Multi-class clustering/classification

    3rd quarter

    Purpose: Application of more machine learning tools to New Pong and Racing Cars.

    Week 9: 2nd online contest. New Pong (15%)

    Week 10: Bagging, Boosting, Adaboost

    Week 11: Neural Network

    Week 12: 3rd contest. Racing Cars 1. (20%)

    Final quarter

    Purpose: Application of machine learning tools to Racing Cars 2. Object positions provided.

    Week 13: DNN

    Week 14: CNN

    Week 15: RNN

    Week 16: Team Report

    Week 17: 端午節(放假)。

    Week 18: Final contest (40%) and final report (5%)




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


    Grading by Rank


    Reports : 2+3+5+5= 15%   
    Contest 1: 10%   
    Contest 2: 15%   
    Contest 3: 20%   
    Contest 4: 40%   
    Bonus: 10%


    Cours Preparation Items
                     All reports in HackMD 
                     All works in Github 
                     All contest results on the online platform 
                     You may need to learn many materials from online courses and/or videos.


    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.