ผลต่างระหว่างรุ่นของ "Foundations of data science"
ไปยังการนำทาง
ไปยังการค้นหา
Jittat (คุย | มีส่วนร่วม) |
Jittat (คุย | มีส่วนร่วม) |
||
(ไม่แสดง 24 รุ่นระหว่างกลางโดยผู้ใช้คนเดียวกัน) | |||
แถว 8: | แถว 8: | ||
* Homework 1 (due 2 Sep.): 12.6, 12.15, 2.1(1), 2.5, 2.9, 2.27 (Programming), 2.32 (Programming), 2.14 (optional), 2.23 (optional) | * Homework 1 (due 2 Sep.): 12.6, 12.15, 2.1(1), 2.5, 2.9, 2.27 (Programming), 2.32 (Programming), 2.14 (optional), 2.23 (optional) | ||
** Hint: 2.9 พิจารณา 1 มิติก่อน (d=1) นิยามของ variance คืออะไร, จากนั้นค่อยพิจารณา d มิติ | ** Hint: 2.9 พิจารณา 1 มิติก่อน (d=1) นิยามของ variance คืออะไร, จากนั้นค่อยพิจารณา d มิติ | ||
+ | |||
+ | * Homework 2 (due 4 Oct): 3.1, 3.6, 3.14, 3.15 (คำนวณค่า), 3.24, 3.23 (optional) | ||
+ | ** Hint: [[found ds 3.1|3.1 least squares vertical error]] | ||
+ | ** Hint: 3.6 จากการที่แถวเป็น orthonormal ให้แสดงว่า (1) <math>AA^T = I</math> หรือ (2) <math>A^{-1}=A^T</math> (ข้อใดข้อหนึ่ง หรือจะแสดงทั้งคู่ก็ได้) จากนั้นให้ใช้คุณสมบัติดังกล่าวประกอบกับการตีความ <math>A^TA</math> | ||
+ | |||
+ | * Homework 3 (due 11 Oct): 5.3, 5.4, 5.7, 5.10, 5.12 | ||
+ | ** Hint: 5.3 ให้ลอง fix disjunction ก่อน จากนั้นพิจารณาว่า w ควรเป็นอะไร (ลองพิจารณาจากกรณีที่ใช้ perceptron ในการหาเวกเตอร์ก็ได้) | ||
+ | ** Hint: 5.4 พิสูจน์ by contradiction ให้สร้างเงื่อนไขที่ตอบถูกบางกรณีก่อน จากนั้นนำมารวมกันเพื่อสร้างข้อขัดแย้ง | ||
+ | |||
+ | * Homework 4 (due 8 nov) | ||
+ | ** บังคับทำ 5.26 (boosting) | ||
+ | ** ให้เลือก 2 ข้อจากด้านล่าง | ||
+ | *** 5.21 (programming), 5.22 (programming) | ||
+ | *** 5.19 (linear cnn), 5.23 (perceptron & sgd) | ||
+ | *** 5.24 (online perceptron) | ||
+ | ** โบนัส 5.20 (programming) | ||
== เนื้อหา == | == เนื้อหา == | ||
แถว 33: | แถว 49: | ||
* [https://www.youtube.com/watch?v=9DX3kwcitNw&list=PLii-CvAgf-8hqc3qpihz3SZmMTAOLWIGk&index=8 02-4: การสุ่มจุดจาก unit ball] | * [https://www.youtube.com/watch?v=9DX3kwcitNw&list=PLii-CvAgf-8hqc3qpihz3SZmMTAOLWIGk&index=8 02-4: การสุ่มจุดจาก unit ball] | ||
* [https://www.youtube.com/watch?v=AiN7TPzDJdI&list=PLii-CvAgf-8hqc3qpihz3SZmMTAOLWIGk&index=9 02-5: คุณสมบัติของเซตของจุดที่สุ่มจาก unit ball] | * [https://www.youtube.com/watch?v=AiN7TPzDJdI&list=PLii-CvAgf-8hqc3qpihz3SZmMTAOLWIGk&index=9 02-5: คุณสมบัติของเซตของจุดที่สุ่มจาก unit ball] | ||
− | * [https://www.youtube.com/watch?v= | + | * [https://www.youtube.com/watch?v=iRMpd9HBla8&list=PLii-CvAgf-8hqc3qpihz3SZmMTAOLWIGk&index=10 02-6: High dimensional unit balls - Volume ใกล้ equator] |
|| | || | ||
[https://gitlab.com/jittat/foundations-ds-64-notes/-/blob/main/lect-02-1-prob-review-binom-gaussian.pdf notes-02-1]<br> | [https://gitlab.com/jittat/foundations-ds-64-notes/-/blob/main/lect-02-1-prob-review-binom-gaussian.pdf notes-02-1]<br> | ||
[https://gitlab.com/jittat/foundations-ds-64-notes/-/blob/main/lect-02-2-hd-unit-balls.pdf notes-02-2] | [https://gitlab.com/jittat/foundations-ds-64-notes/-/blob/main/lect-02-2-hd-unit-balls.pdf notes-02-2] | ||
|- | |- | ||
− | | 3 || Gaussians in high dimensions. Random projection and the Johnson-Lindenstrauss Lemma. | + | | 3 || Gaussians in high dimensions. Random projection and the Johnson-Lindenstrauss Lemma.<br>Separating Gaussians. Introduction to SVD and review of linear algebra. |
|| 2, 3 | || 2, 3 | ||
|| | || | ||
แถว 46: | แถว 62: | ||
* [https://www.youtube.com/watch?v=P5ptwLz8UQY&list=PLii-CvAgf-8hqc3qpihz3SZmMTAOLWIGk&index=14 03-4: Random projection และ Johnson-Lindenstrauss Lemma] | * [https://www.youtube.com/watch?v=P5ptwLz8UQY&list=PLii-CvAgf-8hqc3qpihz3SZmMTAOLWIGk&index=14 03-4: Random projection และ Johnson-Lindenstrauss Lemma] | ||
* [https://www.youtube.com/watch?v=ap85jhOPJUw&list=PLii-CvAgf-8hqc3qpihz3SZmMTAOLWIGk&index=15 03-5: การแยก Gaussian ใน high dimension] | * [https://www.youtube.com/watch?v=ap85jhOPJUw&list=PLii-CvAgf-8hqc3qpihz3SZmMTAOLWIGk&index=15 03-5: การแยก Gaussian ใน high dimension] | ||
− | * [https://www.youtube.com/watch?v= | + | * [https://www.youtube.com/watch?v=ALALaQJNgBY&list=PLii-CvAgf-8hqc3qpihz3SZmMTAOLWIGk&index=16 03-6: แนะนำ Singular value decomposition และทบทวนเนื้อหาพีชคณิตเชิงเส้น] |
+ | |||
+ | Series แนะนำ: [https://www.youtube.com/watch?v=fNk_zzaMoSs&list=PLZHQObOWTQDPD3MizzM2xVFitgF8hE_ab Essence of linear algebra จาก 3Blue1Brown] | ||
|| | || | ||
[https://gitlab.com/jittat/foundations-ds-64-notes/-/blob/main/lect-03-1-hd-jl-gaussian-sep.pdf notes-03-1]<br> | [https://gitlab.com/jittat/foundations-ds-64-notes/-/blob/main/lect-03-1-hd-jl-gaussian-sep.pdf notes-03-1]<br> | ||
[https://gitlab.com/jittat/foundations-ds-64-notes/-/blob/main/lect-03-2-svd-intro-lin-alg-review.pdf notes-03-2] | [https://gitlab.com/jittat/foundations-ds-64-notes/-/blob/main/lect-03-2-svd-intro-lin-alg-review.pdf notes-03-2] | ||
+ | |- | ||
+ | | 4 || Singular Value Decomposition | ||
+ | || 3 | ||
+ | || | ||
+ | * [https://www.youtube.com/watch?v=hZgj-ZJnAgE&list=PLii-CvAgf-8hqc3qpihz3SZmMTAOLWIGk&index=17 04-1: ทบทวนนิยาม SVD แนะนำ eigenvalue decomposition และแนะนำความสัมพันธ์กับ SVD] | ||
+ | * [https://www.youtube.com/watch?v=XvR6ycsPhlc&list=PLii-CvAgf-8hqc3qpihz3SZmMTAOLWIGk&index=18 04-2: ตัวอย่าง eigenvectors และการคำนวณ การหา singular vector ด้วย iterative method] | ||
+ | * [https://www.youtube.com/watch?v=fsG-qcZcHqA&list=PLii-CvAgf-8hqc3qpihz3SZmMTAOLWIGk&index=19 04-3: นิยาม best-fit subspace สองแบบ, นิยาม singular vectors และแนวทางการคำนวณแบบ greedy] | ||
+ | * [https://www.youtube.com/watch?v=_U5YqF9yA18&list=PLii-CvAgf-8hqc3qpihz3SZmMTAOLWIGk&index=20 04-4: นิยาม left singular vector และพิสูจน์ว่าผลลัพธ์เป็น decomposition] | ||
+ | * [https://www.youtube.com/watch?v=BUBMlZukE70&list=PLii-CvAgf-8hqc3qpihz3SZmMTAOLWIGk&index=21 04-5: คุณสมบัติของ left singular vectors] | ||
+ | * [https://www.youtube.com/watch?v=wiTkTcMfNqc&list=PLii-CvAgf-8hqc3qpihz3SZmMTAOLWIGk&index=22 04-6: Rank-k approximation ที่ดีที่สุด] | ||
+ | * [https://www.youtube.com/watch?v=s6nLTKYdS7g&list=PLii-CvAgf-8hqc3qpihz3SZmMTAOLWIGk&index=23 04-7: การคำนวณหา SVD] | ||
+ | || | ||
+ | [https://gitlab.com/jittat/foundations-ds-64-notes/-/blob/main/lect-04-1-svd.pdf notes-04-1] | ||
+ | |- | ||
+ | | 5 || Applications of SVD. Machine learning (intro). Perceptrons. Kernel functions. | ||
+ | || 3, 5 | ||
+ | || | ||
+ | คลิป: | ||
+ | * [https://www.youtube.com/watch?v=BHwRDajoD-k&list=PLii-CvAgf-8hqc3qpihz3SZmMTAOLWIGk&index=24 05-1: การประยุกต์ใช้งาน SVD] | ||
+ | * [https://www.youtube.com/watch?v=DHQFqFPzBJg&list=PLii-CvAgf-8hqc3qpihz3SZmMTAOLWIGk&index=25 05-2: แนะนำเนื้อหาส่วน machine learning, Perceptron algorithm และบทพิสูจน์] | ||
+ | * [https://www.youtube.com/watch?v=b3xUUO-OC24&list=PLii-CvAgf-8hqc3qpihz3SZmMTAOLWIGk&index=26 05-3: Kernel functions] | ||
+ | || | ||
+ | [https://gitlab.com/jittat/foundations-ds-64-notes/-/blob/main/lect-05-1-svd-applications.pdf notes-05-1]<br> | ||
+ | [https://gitlab.com/jittat/foundations-ds-64-notes/-/blob/main/lect-05-2-perceptrons.pdf notes-05-2]<br> | ||
+ | [https://gitlab.com/jittat/foundations-ds-64-notes/-/blob/main/lect-05-3-kernels.pdf notes-05-3] | ||
+ | |- | ||
+ | | 6 || ตัวอย่าง Perceptron และ kernelized Perceptron, Uniform convergence (finite hypothesis classes) | ||
+ | || 5 | ||
+ | || | ||
+ | คลิป: | ||
+ | * [https://www.youtube.com/watch?v=6kkOaws_ijA&list=PLii-CvAgf-8hqc3qpihz3SZmMTAOLWIGk&index=27 06-1: ตัวอย่าง perceptron และการใช้ kernel] | ||
+ | * [https://www.youtube.com/watch?v=6tUd2hSPCxI&list=PLii-CvAgf-8hqc3qpihz3SZmMTAOLWIGk&index=28 06-2: นิยามโมเดลในการวิเคราะห์ generalization] | ||
+ | * [https://www.youtube.com/watch?v=3s1Dg9v9lZM&list=PLii-CvAgf-8hqc3qpihz3SZmMTAOLWIGk&index=29 06-3: Generalization กรณี finite hypothesis class และ consistent hypothesis, แนะนำ uniform convergence] | ||
+ | * [https://www.youtube.com/watch?v=TARKpbOyVa8&list=PLii-CvAgf-8hqc3qpihz3SZmMTAOLWIGk&index=30 06-4: พิสูจน์ uniform convergence กรณี finite hypothesis class ด้วย Hoeffding bounds] | ||
+ | * [https://www.youtube.com/watch?v=r0Z2esT5bzA&list=PLii-CvAgf-8hqc3qpihz3SZmMTAOLWIGk&index=31 06-5: Occam's Razor และ Regularization] | ||
+ | * [https://www.youtube.com/watch?v=AJzcepaTlzw&list=PLii-CvAgf-8hqc3qpihz3SZmMTAOLWIGk&index=32 06-6: แนะนำ VC dimension] | ||
+ | || | ||
+ | [https://gitlab.com/jittat/foundations-ds-64-notes/-/blob/main/lect-06-1-generalization.pdf notes-06-1] | ||
+ | |- | ||
+ | | 7 || VC dimension | ||
+ | || 5 | ||
+ | || | ||
+ | คลิป: | ||
+ | * [https://www.youtube.com/watch?v=PkDT8HhJh3U&list=PLii-CvAgf-8hqc3qpihz3SZmMTAOLWIGk&index=33 07-1: ทบทวนแนวคิดเกี่ยวกับ uniform convergence] | ||
+ | * [https://www.youtube.com/watch?v=8tmVxRQNLwg&list=PLii-CvAgf-8hqc3qpihz3SZmMTAOLWIGk&index=34 07-2: นิยาม VC dimension] | ||
+ | * [https://www.youtube.com/watch?v=4LVpVeGMLOg&list=PLii-CvAgf-8hqc3qpihz3SZmMTAOLWIGk&index=35 07-3: Shatter function] | ||
+ | * [https://www.youtube.com/watch?v=GQ4AnXLbZWs&list=PLii-CvAgf-8hqc3qpihz3SZmMTAOLWIGk&index=36 07-4: ทฤษฎีบทจาก VC dimension และแนวคิดในการพิสูจน์] | ||
+ | || | ||
+ | [https://gitlab.com/jittat/foundations-ds-64-notes/-/blob/main/lect-07-vc-dim-results.pdf notes-07-1] | ||
+ | |- | ||
+ | | 8 || Deep learning | ||
+ | || 5 | ||
+ | || | ||
+ | คลิป: | ||
+ | * [https://www.youtube.com/watch?v=m0qta5SzEek&list=PLii-CvAgf-8hqc3qpihz3SZmMTAOLWIGk&index=37 08-1: Optimization กับ machine learning] | ||
+ | * [https://www.youtube.com/watch?v=GyH1JJzJi9w&list=PLii-CvAgf-8hqc3qpihz3SZmMTAOLWIGk&index=38 08-2: Logistic regression] | ||
+ | * [https://www.youtube.com/watch?v=VuyWKQWrWtg&list=PLii-CvAgf-8hqc3qpihz3SZmMTAOLWIGk&index=39 08-3: แนะนำ deep neural network] | ||
+ | * [https://www.youtube.com/watch?v=6bKTCZFhN5o&list=PLii-CvAgf-8hqc3qpihz3SZmMTAOLWIGk&index=40 08-4: หัวข้อเกี่ยวข้องกับ DL: Adversarial attack และ Generative Adversarial Network] | ||
+ | * [https://www.youtube.com/watch?v=jvAXADYUFVg&list=PLii-CvAgf-8hqc3qpihz3SZmMTAOLWIGk&index=41 08-5: Gradient descent] | ||
+ | || | ||
+ | [https://gitlab.com/jittat/foundations-ds-64-notes/-/blob/main/lect-08-1-deep-learning.pdf notes-08-1] | ||
+ | |- | ||
+ | | 9 || Online learning, learning from expert advice, boosting | ||
+ | || 5 | ||
+ | || | ||
+ | คลิป: | ||
+ | * [https://www.youtube.com/watch?v=tgsmEs4e0wk&list=PLii-CvAgf-8hqc3qpihz3SZmMTAOLWIGk&index=42 09-1: แนะนำ online learning, learning disjunctions, และ halving algorithm] | ||
+ | * [https://www.youtube.com/watch?v=-XXG4LjFEfQ&list=PLii-CvAgf-8hqc3qpihz3SZmMTAOLWIGk&index=43 09-2: Perceptron algorithm แบบออนไลน์ และการวิเคราะห์กรณี inseparable data ด้วย hinge loss] | ||
+ | * [https://www.youtube.com/watch?v=fxuy7qkyrq0&list=PLii-CvAgf-8hqc3qpihz3SZmMTAOLWIGk&index=44 09-3: การแปลง online learning algorithm ไปใช้กับ batch learning] | ||
+ | * [https://www.youtube.com/watch?v=Z57GFUHtfxo&list=PLii-CvAgf-8hqc3qpihz3SZmMTAOLWIGk&index=45 09-4: การทำนายโดยใช้ Expert advice] | ||
+ | * [https://www.youtube.com/watch?v=k_prbqBsGnM&list=PLii-CvAgf-8hqc3qpihz3SZmMTAOLWIGk&index=46 09-5: Boosting] | ||
+ | || | ||
+ | [https://gitlab.com/jittat/foundations-ds-64-notes/-/blob/main/lect-09-1-online.pdf notes-09-1]<br> | ||
+ | [https://gitlab.com/jittat/foundations-ds-64-notes/-/blob/main/lect-09-2-expert.pdf notes-09-2]<br> | ||
+ | [https://gitlab.com/jittat/foundations-ds-64-notes/-/blob/main/lect-09-3-boosting.pdf notes-09-3] | ||
+ | |- | ||
+ | | 10 || Streaming algorithms (1) | ||
+ | || 6 | ||
+ | || | ||
+ | คลิป: | ||
+ | * [https://www.youtube.com/watch?v=jssP46y1N3c&list=PLii-CvAgf-8hqc3qpihz3SZmMTAOLWIGk&index=47 10-1: แนะนำ streaming model, ปัญหาการสุ่มข้อมูล] | ||
+ | * [https://www.youtube.com/watch?v=-FPiasAKWEk&list=PLii-CvAgf-8hqc3qpihz3SZmMTAOLWIGk&index=48 10-2: Approximate counter, นิยาม frequency moments] | ||
+ | * [https://www.youtube.com/watch?v=cMXYtdQWlt4&list=PLii-CvAgf-8hqc3qpihz3SZmMTAOLWIGk&index=49 10-3: จำนวนข้อมูลที่แตกต่างกัน (part 1)] | ||
+ | * [https://www.youtube.com/watch?v=IDRLahcX7Wg&list=PLii-CvAgf-8hqc3qpihz3SZmMTAOLWIGk&index=50 10-4: จำนวนข้อมูลที่แตกต่างกัน (part 2): 2-universal hashing] | ||
+ | || | ||
+ | [https://gitlab.com/jittat/foundations-ds-64-notes/-/blob/main/lect-10-1-streaming.pdf notes-10-1] | ||
+ | |- | ||
+ | | 11 || Streaming algorithms (2) - majority และ second frequency moment | ||
+ | || 6 | ||
+ | || | ||
+ | คลิป: | ||
+ | * [https://www.youtube.com/watch?v=gWO4XfH8AzY&list=PLii-CvAgf-8hqc3qpihz3SZmMTAOLWIGk&index=51 11-1: Majority และ frequent elements] | ||
+ | * [https://www.youtube.com/watch?v=oJ_62xNjxVE&list=PLii-CvAgf-8hqc3qpihz3SZmMTAOLWIGk&index=52 11-2: การประมาณ Second Frequency Moment (Part 1) - อัลกอริทึม] | ||
+ | * [https://www.youtube.com/watch?v=jxNLqn1lX8k&list=PLii-CvAgf-8hqc3qpihz3SZmMTAOLWIGk&index=53 11-3: การประมาณ Second Frequency Moment (Part 2) - 4-way independent random vectors] | ||
+ | * [https://www.youtube.com/watch?v=sNG8q1eu69Q&list=PLii-CvAgf-8hqc3qpihz3SZmMTAOLWIGk&index=54 11-4: Demo - second moment] | ||
+ | || | ||
+ | [https://gitlab.com/jittat/foundations-ds-64-notes/-/blob/main/lect-11-1-majority.pdf notes-11-1]<br> | ||
+ | [https://gitlab.com/jittat/foundations-ds-64-notes/-/blob/main/lect-11-2-secondmonent.pdf notes-11-2] | ||
+ | |- | ||
+ | | 12 || Streaming algorithms (3) - approximate matrix multiplication & matrix sketches | ||
+ | || 6 | ||
+ | || | ||
+ | คลิป: | ||
+ | * [https://www.youtube.com/watch?v=86qeQOeBe08&list=PLii-CvAgf-8hqc3qpihz3SZmMTAOLWIGk&index=55 12-1: การประมาณการคูณเมตริกซ์ (Part 1) - sampling] | ||
+ | * [https://www.youtube.com/watch?v=HBIDiv5DIuc&list=PLii-CvAgf-8hqc3qpihz3SZmMTAOLWIGk&index=56 12-2: การประมาณการคูณเมตริกซ์ (Part 2) - พิสูจน์ขอบเขตความผิดพลาด] | ||
+ | * [https://www.youtube.com/watch?v=PyPBNp8tPRA&list=PLii-CvAgf-8hqc3qpihz3SZmMTAOLWIGk&index=57 12-3: การประมาณการคูณเมตริกซ์ (Part 3) - เปรียบเทียบ] | ||
+ | * [https://www.youtube.com/watch?v=n5yZhJ-KnOs&list=PLii-CvAgf-8hqc3qpihz3SZmMTAOLWIGk&index=58 12-4: Matrix Sketches (Part 1) - ภาพรวม] | ||
+ | * [https://www.youtube.com/watch?v=dkq-UqLtDZ4&list=PLii-CvAgf-8hqc3qpihz3SZmMTAOLWIGk&index=59 12-5: Matrix Sketches (Part 2) - บทพิสูจน์] | ||
+ | || | ||
+ | [https://gitlab.com/jittat/foundations-ds-64-notes/-/blob/main/lect-12-1-matmult.pdf notes-12-1]<br> | ||
+ | [https://gitlab.com/jittat/foundations-ds-64-notes/-/blob/main/lect-12-2-mat-sketch.pdf notes-12-2] | ||
|} | |} | ||
== ลิงก์ == | == ลิงก์ == |
รุ่นแก้ไขปัจจุบันเมื่อ 05:41, 3 ธันวาคม 2564
หน้านี้สำหรับเก็บเอกสารและการบ้านรายวิชา 01204515 Foundations of Data Science ปีการศึกษา 2564 ภาคต้น
รายวิชานี้จะใช้หนังสือ Foundations of Data Science (Blum, A., Hopcroft, J., & Kannan, R. (2020). Foundations of Data Science. Cambridge: Cambridge University Press. doi:10.1017/9781108755528) เป็นหนังสือหลัก (ดาวน์โหลดจากโฮมเพจของ Hopcroft)
การบ้าน
อ้างอิงจากหนังสือ ฉบับวันที่ 2 March 2019
- Homework 1 (due 2 Sep.): 12.6, 12.15, 2.1(1), 2.5, 2.9, 2.27 (Programming), 2.32 (Programming), 2.14 (optional), 2.23 (optional)
- Hint: 2.9 พิจารณา 1 มิติก่อน (d=1) นิยามของ variance คืออะไร, จากนั้นค่อยพิจารณา d มิติ
- Homework 2 (due 4 Oct): 3.1, 3.6, 3.14, 3.15 (คำนวณค่า), 3.24, 3.23 (optional)
- Hint: 3.1 least squares vertical error
- Hint: 3.6 จากการที่แถวเป็น orthonormal ให้แสดงว่า (1) หรือ (2) (ข้อใดข้อหนึ่ง หรือจะแสดงทั้งคู่ก็ได้) จากนั้นให้ใช้คุณสมบัติดังกล่าวประกอบกับการตีความ
- Homework 3 (due 11 Oct): 5.3, 5.4, 5.7, 5.10, 5.12
- Hint: 5.3 ให้ลอง fix disjunction ก่อน จากนั้นพิจารณาว่า w ควรเป็นอะไร (ลองพิจารณาจากกรณีที่ใช้ perceptron ในการหาเวกเตอร์ก็ได้)
- Hint: 5.4 พิสูจน์ by contradiction ให้สร้างเงื่อนไขที่ตอบถูกบางกรณีก่อน จากนั้นนำมารวมกันเพื่อสร้างข้อขัดแย้ง
- Homework 4 (due 8 nov)
- บังคับทำ 5.26 (boosting)
- ให้เลือก 2 ข้อจากด้านล่าง
- 5.21 (programming), 5.22 (programming)
- 5.19 (linear cnn), 5.23 (perceptron & sgd)
- 5.24 (online perceptron)
- โบนัส 5.20 (programming)