NCUAI
挑戰10小時的 ~ AI程式實戰班
中央大學, AI程式實戰班, 2021年7~8月
共計5堂, 各2小時的課程
在這裡下載程式: NCUAI_20230903.zip
https://drive.google.com/drive/folders/1zDCFwfkl0lgDG8x7L3q425MxMmUcqG0k?usp=sharing
7月13日 (週二) : (1) How to Run Python Programs on Jupyter Notebook and Spyder
Youtube網址 : https://www.youtube.com/watch?v=jKZ3zMicE7A&list=PLYgGtiVoYLPcMkRiiRHzZyNtsYUpCN9WN
7月20日 (週二) : (2) Classification, Regression, Clustering, Scikit-Learn, GitHub
== > 因為7月13日的課程進度落後, 所以在7月20日影片的前30分鐘, 是 Matplotlib 模組(函式庫)的程式實作.
Youtube網址 : https://www.youtube.com/watch?v=vhf7A2CsFB8&list=PLYgGtiVoYLPcMkRiiRHzZyNtsYUpCN9WN&index=2
7月27日 (週二) : (3) Multi-Layer Perception (MLP) - Iris, Kaggle
Youtube網址 : https://www.youtube.com/watch?v=RTY6VFFSVug&list=PLYgGtiVoYLPcMkRiiRHzZyNtsYUpCN9WN&index=3
8月3日 (週二) : (4) Convolutional Neural Network (CNN) - MNIST & CIFAR-10, CoLab
Youtube網址 : https://www.youtube.com/watch?v=NJkMNtj4sbg&list=PLYgGtiVoYLPcMkRiiRHzZyNtsYUpCN9WN&index=4
8月10日 (週二) : (5) Keras : ResNet, Autoencoder, 3D-CNN / Transfer Learning / YOLO4
== > 因為8月3日的課程進度落後, 所以在8月10日影片的前20分鐘, 是 Co-Lab 的程式實作.
Youtube網址 : https://www.youtube.com/watch?v=7lPl2nzzi4s&list=PLYgGtiVoYLPcMkRiiRHzZyNtsYUpCN9WN&index=5
推薦影片:什麼是人工智慧
0. 關於這門課
https://www.youtube.com/watch?v=XYGhcLMZCOI&list=PLYgGtiVoYLPcLDi-vW02DnSqmD6e6m6lL&index=1
1. 前言和歷史
https://www.youtube.com/watch?v=4BBhlJvVQac&list=PLYgGtiVoYLPcLDi-vW02DnSqmD6e6m6lL&index=2
2. 原理
https://www.youtube.com/watch?v=iGhsZk9wE0I&list=PLYgGtiVoYLPcLDi-vW02DnSqmD6e6m6lL&index=3
3. 應用和程式
https://www.youtube.com/watch?v=q4eYj7TS-iA&list=PLYgGtiVoYLPcLDi-vW02DnSqmD6e6m6lL&index=4
4. 未來發展
https://www.youtube.com/watch?v=oNsb83Va_sM&list=PLYgGtiVoYLPcLDi-vW02DnSqmD6e6m6lL&index=5
==> 上課前, 請按照以下的影片, 完成安裝 Anaconda <==
(2) 2023-08-16 版本. ML-02: Install Anaconda, Tensorflow (Keras), Pytorch (CUDA), Ultralytics (YOLO8) (21:50)
https://www.youtube.com/watch?v=LrYKfPfwYNQ&list=PLYgGtiVoYLPdHNmslnjXuF9gjCIj3g-F3&index=2
7月13日 (週二) : How to Run Python Programs on Jupyter Notebook and Spyder
10:00 AM ~ 10:50 AM:
這段影片, 是在 Jupyter Notebook 環境下, 使用 Julia. 因為 Julia 和 Python 3 很像, 所以在選取 New 按鈕時, 選取 Python 3 即可, 大部分的指令是通用的.
(1) Jupyter Notebook環境介紹|Julia為資料科學而生:一起來追程式語言新女神 (12:40)
這段影片, 是 Spyder 的教學.
(2) Introduction to the Spyder IDE for Python (13:44)
Numpy :
(3) numpy 属性 (教学教程) (6:29)
(4) numpy 的创建 array (教学教程) (11:55)
(5) numpy的基础运算 (教学教程) (13:27)
(6) numpy的 copy & deep copy (教学教程) (6:46)
11:00 AM ~ noon:
Pandas:
(1) Python Pandas 資料分析 - 基礎教學 By 彭彭 (25:11)
(2) Python Pandas 資料分析 - Series 單維度資料 By 彭彭 (30:49)
(3) Python Pandas 資料分析 - DataFrame 雙維度資料 By 彭彭 (31:24)
Matplotlib: <=== 這部份的 Python 程式實作, 會在7月20日的影片中說明.
(4) Matplotlib Tutorial 1 - Introduction and Installation (6:59)
https://www.youtube.com/watch?v=qqwf4Vuj8oM&list=PLeo1K3hjS3uu4Lr8_kro2AqaO6CFYgKOl
(5) Matplotlib Tutorial 2 - format strings in plot function (6:18)
https://www.youtube.com/watch?v=zl5qPnqps8M&list=PLeo1K3hjS3uu4Lr8_kro2AqaO6CFYgKOl&index=2
(6) Matplotlib Tutorial 3 - Axes labels, Legend, Grid (6:58)
https://www.youtube.com/watch?v=oETDriX9n1w&list=PLeo1K3hjS3uu4Lr8_kro2AqaO6CFYgKOl&index=3
(7) Matplotlib Tutorial 4 - Bar Chart (8:45)
https://www.youtube.com/watch?v=iedmZlFxjfA&list=PLeo1K3hjS3uu4Lr8_kro2AqaO6CFYgKOl&index=4
(8) Matplotlib Tutorial 5 - Histograms (8:19)
https://www.youtube.com/watch?v=r75BPh1uk38&list=PLeo1K3hjS3uu4Lr8_kro2AqaO6CFYgKOl&index=5
(9) Matplotlib Tutorial 6 - Pie Chart (6:36)
https://www.youtube.com/watch?v=GOuUGWGUT14&list=PLeo1K3hjS3uu4Lr8_kro2AqaO6CFYgKOl&index=6
(10) Matplotlib Tutorial 7 - Save Chart To a File Using savefig (3:45)
https://www.youtube.com/watch?v=XLJHkCn48lM&list=PLeo1K3hjS3uu4Lr8_kro2AqaO6CFYgKOl&index=7
Homework: Seaborn
(11) Python Seaborn Tutorial | Data Visualization in Python Using Seaborn | Edureka (20:40)
7月20日 (週二) : Classification, Regression, Clustering, Scikit-Learn, GitHub
10:00 AM ~ 10:50 AM:
== > 因為7月13日的課程進度落後, 所以在7月20日影片的前30分鐘, 是 Matplotlib 模組(函式庫)的程式實作.
Is Regression Analysis Really Machine Learning?
Yes, statistical machine learning appears to have several parents, grandparents, great grandparents, and great great grandparents--including the recursive modifications done to/with the family of regression tools.
Choosing the right estimator : https://scikit-learn.org/stable/tutorial/machine_learning_map/index.html
11:00 AM ~ noon:
(1) Scikit-Learn 5 sklearn 的 datasets 数据库 (9:33)
(2) Scikit-Learn 4 通用学习模式 (9:49)
(3) Scikit-Learn 11 Save (机器学习 sklearn 教学教程tutorial) (11:26)
(4) 機器學習首部曲---Python實作_決策樹 (14:47)
(5) 機器學習首部曲---Python實作_隨機森林 (11:40)
GitHub: 2018年6月4日,微軟宣布以75億美元收購GitHub。
pyinvest/ml_toturial
Homework: Boosting.ipynb
Homework: Principal-Component Analysis (PCA).ipynb
7月27日 (週二) : Multi-Layer Perception (MLP) - Iris, Kaggle
10:00 AM ~ 11:00 AM:
在這裡下載程式: 人工智慧概論.zip
(1) 人工智慧概論 - 02, 原理 (49:09)
(2) 人工智慧概論 - 12. 三種鳶尾花, 資料處理 (29:13)
https://www.youtube.com/watch?v=DoTwibz_R3I&list=PLYgGtiVoYLPcLDi-vW02DnSqmD6e6m6lL&index=13
11:10 AM ~ noon:
(3) 人工智慧概論 - 13. 三種鳶尾花, ANN - MLP (24:19)
(4) 人工智慧概論 - 16, 三種鳶尾花, Save and Load, Model and Weights (15:02)
https://www.youtube.com/watch?v=hNdVJhgzAZw&list=PLYgGtiVoYLPcLDi-vW02DnSqmD6e6m6lL&index=17
* Kaggle Courses:
* GS-3073-AI-course, Regression or classification?
* 透過去識別化之資料,學習課堂介紹之機械學習方法
Homework: But what is a neural network? 究竟神經網路是什麼? (19:13)
8月3日 (週二) : Convolutional Neural Network (CNN) - MNIST & CIFAR-10, CoLab
請在上課前觀看這段影片: But what is a neural network? 究竟神經網路是什麼? (19:13)
10:00 AM ~ 10:50 AM:
推薦影片 :
台灣大學李宏毅老師的 Machine Learning 影片
==> ML Lecture 10: Convolutional Neural Network (1:19:28)
==> ML Lecture 7: Backpropagation (31:26)
課程開始 :
(1) MLP: MNIST - Deep Neural Network with Keras
(2) MNIST digits classification dataset
(3) Simple MNIST convnet
參考資料 :
人工智慧概論 - 21, 數字辨識, MNIST - MLP (16:46)
人工智慧概論 - 22, 數字辨識, MNIST - CNN (13:53)
11:00 AM ~ noon:
(4) CIFAR-10 image classification with CNN (CPU vs GPU)
(5) Run "CIFAR-10 image classification with CNN" on Co-Lab
( 這部份的 Python 程式實作, 會在8月10日的影片中說明 )
參考資料 :
人工智慧概論 - 23, 數字辨識, MNIST - CNN, CoLab (14:00)
人工智慧概論 - 24, 影像分類, CIFAR10 - CNN, CoLab, Download files, ModelCheckpoint (29:24)
Homework: VGG16 Neural Network Visualization (7:35)
8月10日 (週二) : Keras : ResNet, Autoencoder, 3D-CNN / Transfer Learning / YOLO4
== > 因為8月3日的課程進度落後, 所以在8月10日影片的前20分鐘, 是 Co-Lab 的程式實作.
10:00 AM ~ 11:00 AM:
(1) Run "CIFAR-10 image classification with CNN" on Co-Lab
At local computer:
import warningswarnings.simplefilter(action='ignore')from keras.datasets import cifar10import numpy as np# saving dateset(x_train, y_train),(x_test,y_test) = cifar10.load_data() np.savez('LOCAL-CIFAR10.npz', a=x_train, b=y_train, c=x_test, d=y_test)On CoLab:
from google.colab import drivedrive.mount('/content/drive')%cd /content!pwd%cd drive/My Drive/NCUAI-CIFAR10!ls -l
import numpy as np# loading datasetdata = np.load('LOCAL-CIFAR10.npz')x_train = data['a']y_train = data['b']x_test = data['c']y_test = data['d']
(2) Keras: API - Applications
2.1 Classify ImageNet classes with ResNet50
(3) Keras: Code examples
3.1 Convolutional autoencoder for image denoising
On denoising autoencoders trained to minimise binary cross-entropy
https://arxiv.org/abs/1708.08487