• 機械學習與數位決策於化工過程 (Machine Learning and Digital Decision Making in Chemical Processes)

    • The world is undergoing rapid changes, and industrial AI is essential to coping with the challenges and opportunities of the new era. (世界正發生劇變,產業AI化勢在必行) Data analytics and machine learning have become one of the most studied subjects in process systems engineering, attracting significant research and application interests. Particularly, large companies in Taiwan (TSMC, FPC, and USIG, etc.) and in the world (Google, Facebook, Apple, Amazon, IBM, etc.) heavily invest in machine learning research and applications for good reasons. Machine learning and digital decision making also constitute the essential knowledge that process system and control engineers should be equipped with.

    • The goal of this course is:
      • To provide students with some advanced machine learning schemes and process data analytics, and 
      • To help students understand problem-solving methods and digital decision making in complex chemical processes.
    • The course requires basic knowledge in principles of chemical engineering, numerical methods, probability, statistics, calculus, optimization and some computer programming experience,  although it certainly is advantageous to have prior exposure--not strictly required.
    • (Spring 2024) Class Meeting Times: 10:00-11:30 (or 12:00) (TUE) and 10:00-11:30  (or 12:00) (THU)
    • Office hours:  WED (10:00~12:00)
    • Course Structure: All course related materials can be downloaded from CYCU's ilearn system.
      • (2-20-2024)
        • To schedule the class meeting
      • (2-22-2024)  
        • From  chemical engineering applications to fundamental machine learning and data analytics (Part I)
        •  (Mini Course) Learning Python (Part I)
      • (2-27-2024)
        • From  chemical engineering applications to fundamental machine learning and data analytics (Part II)
        •  (Mini Course) Learning Python (Part II)

      • (02-29-2024)  
        • Giving Computers the Ability to Learn from Data
        • (Mini Course) Learning Python (Part III)
        •  (Mini Course) Learning Numpy (Part I)
      • (03-05-2024)
        • (Mini Course) Learning Numpy (Part II)
        • (Mini Course) Learning Pandas (Part I)
        • Classification: Perceptron in Python
      • (03-07-2024)
        • (Mini Course) Learning Pandas (Part I)
        • (Mini Course) Learning Matplotlib
        • Classification: Perceptron in Python
      • (03-12-2024)
        • Classification: Perceptron in Python
        • (Mini Course) Learning SciPy (Dynamic Simulation)
        • Classification: ADAptive LInear NEuron in Python
        • Gradient descent training
        • Batch Gradient Descent vs. Stochastic Gradient Descent (Shuffle)
        • Feature Scaling
        • HW0: Steady State Simulation of CSTR
      • (03-14-2024)
        • Scikit-learn: Perceptron
        • Classification: Logistic regression in Python
        • Maximum likelihood training
      • (03-19-2024)
        • Scikit-learn: Logistic regression
        • Overfitting and underfitting, Regularization
        • Classification: Support vector machines (SVM)
      • (03-21-2024)
        • Classification: Support vector machines (SVM)
        • SVM with Slack Variables
        • Classification: Kernel SVM
        • Kernel Trick
        • Classification: Decision Tree
        • Impurity Measure: Gini impurity, Entropy, Classification Error
      • (03-26-2024)
        • Classification: Random Forests
        • Dimensionality Reduction: PCA
      • (04-02-2024)  
        • Dimensionality Reduction (Unsupervised): PCA
        • Dimensionality Reduction: (Supervised) LDA
        • HW2: Process Fault Diagnosis
      • (04-09-2024)  
        • Dimensionality Reduction: (Supervised) LDA
        • Dimensionality Reduction (Unsupervised): KPCA
        • Scikit-learn: LDA
      • (04-11-2024)
        • Dimensionality Reduction (Unsupervised): KPCA
        • Scikit-learn: KPCA
        • Regression Analysis
          • Simple Linear Regression
          • Visualization of Characteristics of the Dataset
          • Correlation Matrix
        • HW3: Machine Learning Algorithm Sheet
      • (04-16-2024)
        • Regression Analysis
          • Ordinary Least Squares Linear Regression Model
            • Gradient Descent
            • Scikit-learn: Regression Model
          • Robust Regression Model: RANSAC
      • (04-18-2024)
        • Regression Analysis
          • Evaluating Performance of Linear Regression Models
          • Regularization Methods for Regression
          • Polynomial Regression
      • (04-23-2024)
        • Regression Analysis
          • Nonlinear Regression Using Random Forests
            • Decision Tree Regression
            • Random Forest Regression
        • Multilayer Artificial Neural Network
          • From Single-layer Neural Network to Multilayer Neural Network
      • (04-25-2024)
        • Multilayer Artificial Neural Network
        • Forward propagation
        • Backpropagation algorithm in Numpy
        • HW4: Data Compression & Fault Classification
      • (05-02-2024)
        • NN Training with TensorFlow
        • Creating Tensors in TensorFlow
        • Math Operations to Tensors
        • Stack, Split and Concatenate Tensors
        • tf.data.Dataset.from_tensor_slices
        • Combining Two Tensors into a Joint Dataset
        • Shuffle, Batch and Repaet
      • (05-07-2024)
        • TensorFlow Keras API (tf.Keras)
        • Demo: A Linear Regression Model
        • Compile and Fit
        • Multilayer Perceptron
        • Demo: Classification of IRIS Dataset
        • Saving and Loading the Trained Model
        • Activation Functions
      • (05-09-2024)
        • Mechanics of TensorFlow
        • Computation Graphs
        • tf.function
        • TensorFlow Varibale
        • Computing Gradients: Automatic Differentiation and GradentTape
        • Multiple Gradient Computations
      • (05-14-2024)
        • NN Architecture via Keras API
        • Demo: XOR classification
        • Modeling Based on Keras' Model Class
        • Custom Keras Layers
        • Tensorflow Estimators: Features (continuous, unordered categorical (nominal), and ordered categorical (ordinal))
        • Demo: Predicting the fuel efficiency of a car
        • Demo: MNIST handwritten digital calssification
        • HW5: tf.GradientTape() in Tensorflow
      • (05-16-2024)
        • Modeling Sequential Data: RNN
        • Introducing Sequential Data: Order Matters
        • Different Categories of Sequence Modeling
      • (05-21-2024)
        •  RNNs for Modeling Sequences
      • (05-23-2024)
        • RNN (Cell calculation)
      • (05-23-2024)
        • RNN Applications:
          • Sentiment Analysis
          • Image Caption Generation
      • (06-04-2024)
        • RNN (Dynamic Systems)
        • (tf.keras) TimeseriesGenerator
        • Demo: What's Your Friend Having for Dinner Today?
        • RNN, LSTM and GRU
      • (06-06-2024)
        • TimeseriesGenerator
        • Stateful and Stateless RNN
        • Time Series Forecasting
      • (06-11-2024)  
        • Transformer
        • Deep Reinforcement Learning: DQN
    • Homework: Python would be used for the programming portions of the assignments. During the first week, a tutorial session would be hosted to jump-start your transition into working in Python
      • (03-12-2024) HW#1: Steady State Simulation of Evaporator in Python (Due: 3-29-2024)
      • (04-02-2024) HW#2: Simple Classification (Different operating conditions of Evaporator) (Due: 4-28-2024)
      • (04-09-2024) HW#3:  Machine Learning Algorithm Sheet (Due: 4-13-2024)
      • (04-29-2024) HW#4: Data Compression & Fault Classification (Different operating conditions of Evaporator) (Due: 5-28-2024)
      • (5-14-2024) HW#5: tf.GradientTape() in Tensorflow (Due: 5-16-2024)
      • (6-20-2024) HW#6: Dynamic process modeling in RNN (Due: 6-2-2024)
    • Grading Distribution
      • No quiz and exam will be given. Several homework will be assigned. Homework will be assigned periodically. The homework will consist of applying one of the techniques design methods presented in the course to a problem chosen by students. Analysis and simulation will be expected. Hope that these applications can inspire your fantasy, which contributes to new applications of these techniques in chemical problems or other fields
      • Homework (four to five times): 65%
      • Project: 20%
      • Class activity (Q&A and presentation): 15%
      • Note that late assignments will not be allowed unless a legitimate reason (illness, religious convention, etc) exists and is discussed with the instructor.
    • Grades (Submission Records)