# PythonAI ## Course Description Khoá học cung cấp các kiến thức lập trình cơ bản nhất như biến, kiểu dữ liệu, toán tử, câu lệnh điều kiện, vòng lặp, các thuật toán, kỹ thuật lập trình ... giúp cho học viên có thể giải quyết những bài toán từ cơ bản như Tính chu vi, diện tích hình tròn, Giải phương trình bậc nhất, bậc hai ... đến nâng cao như Xử lý ảnh số (thay đổi màu sắc, vẽ hình, cắt vùng ảnh ...), hoặc xây dựng một website có ứng dụng công nghệ AI & có link chạy thực trên Internet ## Curriculum - S1: Nhập môn lập trình Python - Các lệnh: print, input - Các kiểu dữ liệu: Integer, Float, String, None - Các toán tử: +,-,*,/,//,% - Ép kiểu - S2: Câu lệnh điều kiện - Kiểu dữ liệu Boolean - Biểu thức điều kiện - Các cú pháp câu lệnh điều kiện - S3: Các kiểu dữ liệu List, Tuple, Dictionary - List: khởi tạo, các hàm thông dụng, truy cập phần tử, slicing - Dictionary: khởi tạo, truy cập phần tử - Tuple: khởi tạo, các hàm thông dụng, truy cập phần tử, slicing - S4: Vòng lặp - Vòng lặp for - Lặp qua giá trị - Lặp qua vị trí - Kỹ thuật List Comprehension - Vòng lặp while - Vòng lặp lồng nhau - S5: Hàm & Các kỹ thuật lập trình cơ bản - Cú pháp tạo & gọi hàm - Các kỹ thuật lập trình: Cờ hiệu, Lính canh, Cộng dồn - S6: Kiểm tra giữa kỳ - S7: Kiểu dữ liệu String & Class - String: các hàm thông dụng, slicing, mã ASCII - Class: định nghĩa class, tạo & sử dụng object - S8: Xử lý file & 2D List - Mở & đọc file text - Xử lý ma trận: input, truy cập dòng, cột, phần tử - Khái niệm ảnh grayscale - S9: Xử lý ảnh với Pillow & OpenCV - Khái niệm ảnh màu - Pillow: đọc, ghi file ảnh & các thao tác xử lý cơ bản - OpenCV: - Đọc, ghi file ảnh - Chuyển đổi hệ màu, zoom ảnh, cắt ảnh - Vẽ hình lên ảnh - Truy cập pixel - S10: Lập trình web với Streamlit - Hiển thị văn bản, trạng thái - Hiển thị các nút bấm, ô chọn, ... - Sắp xếp trang web (layout) - Deploy trang web lên internet - S11: Thi cuối kỳ ## Các ứng dụng thực tế mà học viên được trải nghiệm - [PythonAI Live Coding with API Calls](https://www.youtube.com/watch?v=rzCYRb1VTRA) - [Demo lecture: PythonAI Interactive AI Applications](https://www.youtube.com/watch?v=pQvR4-tOQao) - Kiểm tra khả năng phát âm tiếng anh (S2): ![](https://imgur.com/FWYMPRU.png) - Sử dụng thư viện deepface để phát hiện gương mặt (S3): ![](https://imgur.com/VKr24KI.png) - Kỹ thuật cắt vùng ảnh (S9): ![](https://imgur.com/sL6o0HW.png) - Ứng dụng web bán hàng (S10): ![](https://imgur.com/p0uNO0p.png) # MC4AI ## Course Description Khoá học cung cấp các kiến thức Toán nền tảng cho AI như đạo hàm, gradient, đại số tuyến tính, xác suất thống kê, các kỹ năng sử dụng các thư viện AI phổ biến nhất như NumPy, Matplotlib, Plotly, Scikit-learn, Keras ... cùng các thuật toán AI cơ bản nhất như Gradient Descent, kNN, kMeans, Linear Regression ... giúp cho học viên có thể xây dựng một ứng dụng AI hoàn chỉnh, giải quyết được những bài toán thực tế như Phân tích dữ liệu, Dự báo doanh thu, Phân đoạn ảnh, Nhận dạng gương mặt, chữ viết ... ## Curriculum - S1: Đại số tuyến tính & Numpy cơ bản ![](https://cdn-images-1.medium.com/v2/resize:fit:1200/1*v-bN7I2agChvO1khEr4WUA.png) - Các khái niệm cơ bản của Đại số tuyến tính: Vector, Ma trận - Cơ bản về thư viện Numpy: - Khởi tạo nd array - Truy cập phần tử, hàng, cột, slicing - Shape, reshape, transpose, dot product, element-wise operators - S2: Các hàm thông dụng của Numpy & Matplotlib ![](https://interactivechaos.com/sites/default/files/2019-02/tutorial_matplotlib.png) - Các hàm Numpy: - sum, mean, min, max, argmin, argmax - concatenate, where, filter - Matplotlib: - Hàm scatter - Hàm plot - S3: Pandas & Phân tích dữ liệu ![](https://statics.cdn.200lab.io/2021/07/59-data-analysis-1.jpg) - Pandas: - Tạo Dataframe - Xử lý Dataframe: truy cập hàng, cột, filter - Các hàm map & apply - Các kỹ thuật phân tích dữ liệu: - Đọc dữ liệu - Làm sạch dữ liệu - Tổng hợp dữ liệu - Vẽ đồ thị - S4: Thuật toán Gradient Descent & Plotly ![](https://easyai.tech/wp-content/uploads/2019/01/tiduxiajiang-1.png) - Khái niệm đạo hàm & Gradient - Thuật toán Gradient Descent (nguyên lý, chi tiết cài đặt) - Thư viện Plotly: - Module express: hàm scatter_3d - Module graph_objects: hàm Scatter3d & Surface - S5: Xác suất & Phân phối xác suất ![](https://static.scientificamerican.com/sciam/cache/file/5DC7AECC-6B6A-489E-A11618E62DC7BC4F_source.jpg) - Khái niệm xác suất & ứng dụng trong AI - Khái niệm phân phối xác suất, các phân phối thông dụng & cách giả lập bằng Numpy: - Phân phối Bernoulli - Phân phối Categorical - Phân phối đều - Phân phối chuẩn - S6: kiểm tra giữa kỳ & đăng ký dự án - S7: Thuật toán kNN & kMeans ![](https://res.cloudinary.com/jerrick/image/upload/d_642250b563292b35f27461a7.png,f_jpg,fl_progressive,q_auto,w_1024/641dbf636abaab001eafb1d4.png) - Thuật toán kNN: - Nguyên lý & chi tiết cài đặt với Numpy - Áp dụng kNN bằng thư viện Scikit-learn - Thuật toán kMeans: - Nguyên lý & chi tiết cài đặt với Numpy - Áp dụng kMeans bằng thư viện Scikit-learn - S8: Mô hình Linear Regression ![](https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F62413fa0-3d80-411c-af93-ebd0f096a26a_1042x644.png) - Giới thiệu bài toán Regression - Mô hình Linear Regression - MSE Loss - Áp dụng mô hình Linear Regression bằng các thư viện Scikit-learn & Keras - S9: Mô hình Logistic Regression ![](https://files.codingninjas.in/article_images/binary-classification-0-1641903394.webp) - Hàm Sigmoid - Giới thiệu bài toán Binary Classification - Mô hình Logistic Regression - Binary Cross-Entropy Loss - Áp dụng mô hình Logistic Regression bằng các thư viện Scikit-learn & Keras - S10: Mô hình Softmax Regression ![](https://www.baeldung.com/wp-content/uploads/sites/4/2020/10/multiclass-svm3-e1601952776445.png) - Hàm Softmax & Cross-Entropy - Giới thiệu bài toán Multi-class Classification - Mô hình Softmax Regression - Categorical Cross-Entropy Loss - Áp dụng mô hình Softmax Regression bằng thư viện Keras - S11: Thuật toán Gradient Descent cho các mô hình tuyến tính ![](https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0b0e045-610a-47a9-9ef5-64c8b7a64fdb_1920x1080.png) - Lý thuyết toán của mô hình Linear Regression - Chi tiết cài đặt thuật toán GD - Kỹ thuật Normalize - Thuật toán SGD & Mini-batch GD - S12: Thi cuối kỳ - S13: Báo cáo dự án ## Các bài tập thực tế - Ứng dụng phân đoạn ảnh: ![](https://imgur.com/rPP5xrO.gif) - Ứng dụng dự đoán doanh số bán hàng: ![](https://imgur.com/0sfZzjd.gif) ## Sample Project - [Phát hiện xe hơi đậu trước nhà](https://www.youtube.com/watch?v=hYbCwZj9uYo&list=PL2krWi-55hkTREoiO1HuTJ99C-aNDI1m3&index=152&pp=iAQB) - [Nhận dạng chữ viết](https://www.youtube.com/watch?v=1u0kIOrsHPE&list=PL2krWi-55hkTREoiO1HuTJ99C-aNDI1m3&index=153&pp=iAQB) - [Nhận dạng gương mặt](https://www.youtube.com/watch?v=7IlOpj78Apw&list=PL2krWi-55hkTREoiO1HuTJ99C-aNDI1m3&index=154&pp=iAQB) - [Phân tích bảng điểm](https://www.youtube.com/watch?v=dsWgFzgXirI&list=PL2krWi-55hkTREoiO1HuTJ99C-aNDI1m3&index=151&pp=iAQB) ## Project của học viên - [Ứng dụng tìm người thân qua hình ảnh](https://www.youtube.com/watch?v=kLe7HvBh_pI) - [Phân tích bảng điểm kết hợp nhận dạng gương mặt](https://www.youtube.com/watch?v=oTLmi89Ca5g) - [Web hỗ trợ học tiếng Anh](https://www.youtube.com/watch?v=lpNryetPPO0)