https://github.com/ShinKS00/The-Principles-of-Deep-Learning1-Artificial-Neurons


Part 01. Introduction to Deep Learning

01: Introduction to the Course / 딥러닝에 대한 간단한 소개와 강의 진행방향 설명

02: Forward/Backward Propagation / 딥러닝을 이해하는데 핵심이 되는 Backpropagation에 대한 설명

03: Python Review / 실습에 사용되는 Python syntax 설명


Part 02. Maths for Linear Regression / 선형 회귀 분석

01: Jacobian Matrices / Backpropgation을 수학적으로 계산하기 위한 도구인 Jacobian 설명

02: Jacobians for Element-wise Binary Operators / 딥러닝에서의 Jacobian의 특징인 element-wise binary operation에 대한 설명

03: Vector Chain Rule / Vector chain rule을 이용한 backpropagation 연산 설명


Part 03. Single-variate Linear Regression without Bias Term (SVLR) / 단일 변수 선형 회귀 분석

01: Introduction to Linear Regression / 딥러닝에서 linear regression이 사용되는 이유와 강의 진행방향 설명

02: SVLR without Bias Term for One Sample: Theory / 가장 간단한 model에 대해 forward/backward propagation이 일어나는 과정과 학습이 진행되는 원리 설명

03: SVLR without Bias Term for One Sample: Implementation / 1개의 sample에 대해 basic building node들로 model을 구현하고 학습시키는 과정 구현

04: SVLR without Bias Term for Mini-batch: Theory / Mini-batch에 대해 backpropagation이 일어나는 과정과 평균값에 의해 학습이 진행되는 원리 설명

05: SVLR without Bias Term for Mini-batch: Implementation / Mini-batch에 대해 NumPy의 연산특징을 이용해 학습을 구현하는 과정 설명

06: Batch, Stochastic, Mini-batch Gradient Descent: Theory / Batch size에 따라 딥러닝에서 가장 많이 사용되는 3가지 gradient descent method 설명

07: Batch, Stochastic, Mini-batch Gradient Descent: Implementation / Batch size를 조절하며 model을 학습시키는 구현방법 설명


Part 04. Single-variate Linear Regression (SVLR) / 단변수 선형 회귀

01: Introduction to Single-variate Linear Regression / Bias term이 포함된 single-variate linear regression에 대한 소개와 artificial neuron 사이의 관계 설명

02: SVLR for One Sample: Theory / 1개 sample에 대해 single-variate linear regression에서 학습이 진행되는 원리 설명

03: SVLR for One Sample: Implementation / 1개 sample에 대해 학습을 구현하는 과정 설명

04: SVLR for Mini-batch: Theory / Mini-batch에 대해 학습이 되는 과정에 대한 설명. Bias term이 학습에 미치는 영향 설명

05: SVLR for Mini-batch: Implementation / Mini-batch를 이용하여 model을 학습시키는 구현방법 설명

06: Feature Scaling1 / 학습효과를 저해시키는 data에 대한 설명과 이를 방지하기 위한 pre-processing 방법으로 feature scaling을 설명

07: SVLR: Analysis / Data의 특징에 따라 chapter4의 내용을 바탕으로 학습효과를 비교분석 


Part 05. Multi-variate Linear Regression (MVLR) / 다변수 선형 회귀

01: Introduction to Multi-variate Linear Regression / 다변수에서의 linear regression를 소개. 변수가 많아질 때 model 학습에 미칠 수 있는 점들 설명

02: MVLR for One Sample: Theory / 1개 sample에 대해 multi-variate linear regression에서 학습이 진행되는 과정 설명

03: MVLR for One Sample: Implementation / 1개 sample에 대해 model을 학습시키는 구현방법 설명

04: MVLR for Mini-batch: Theory / Mini-batch에 대해 학습이 진행되는 원리 설명

05: MVLR for Mini-batch: Implementation / Mini-batch일 때 model을 학습시키는 과정 구현

06: Feature Scaling2 / 변수들의 차이에 따라 학습이 저해되는 요인을 분석하고 이를 방지하기 위한 변수별 feature scaling 방법 설명

07: MVLR Analysis / 모든 딥러닝에서 사용되는 다변수에 대해 linear regression을 효과적으로 이용하는 방법 설명


Part 06. Polynomial Regression / 다항식 회귀 분석

01: Introduction to Polynomial Regression / 다변수에 대한 polynomial regression을 소개. Multi-variate linear regression에서의 변화점 설명

02: Polynomial Regression: Theory / Polynomial regression의 학습과정을 설명. Feature scaling 관점에서 polynomial regression의 장단점 분석

03: Polynomial Regression: Implementation / Polynomial regression을 이용한 학습구현 방법 설명

04: Overfitting and Regularization / model의 complexity에 따라 생기는 문제점 설명. Overfitting이 생기는 이유 설명. 이를 극복하기 위한 regularization 방법 소개 


Part 07. Introduction to Logistic Regression 로지스틱 회귀 분석

01: Introduction to Logistic Regression / Logistic regression에 대한 간단한 소개와 artificial neuron의 관계 설명

02: Activation Functions / Activation function이 필요한 이유와 딥러닝에서 많이 사용되는 activation function 소개

03: Binary Classification with Logistic Regression / logistic regression이 binary classification에 사용되는 원리와 딥러닝의 CNN, RNN등 architecture에서 활용되는 방법 소개 


Part 08. Maths for Logistic Regression / 로지스틱 회귀 분석 수학

01: Forward/Backward Propagation of Activation Functions / 7-02에서 소개한 activation function들의 backpropagation 설명과, 이를 통해 각자의 특징 비교

02: KL Divergence and Cross Entropy / 확률 분포들의 유사성을 설명하기 위한 KL divergence 소개. 이 KL divergence가 logistic regression에서 사용되는 원리 설명

03: Binary Cross Entropy Loss and Its Backpropagation / Binary classification을 위한 logistic regression의 loss function으로 binary cross entropy가 사용되는 원리와 backpropagation 과정 설명

04: Optimization of Logistsic Regression / Logistic regression model에 대해 MSE loss, BCE loss를 사용했을 때의 개형을 비교하여 최적의 parameter를 찾아나가는 과정 설명

Part 09. Single-variate Logistic Regression (SVLoR) / 단변수 로지스틱 회귀 분석

01: Introduction to SVLoR / 1개의 변수를 사용하는 logistic regression에 대한 소개. Data에 따라 logistic regression이 반응하는 모습 설명

02: SVLoR for One Sample: Theory / 1개 sample에 대해 logistic regression이 학습되는 원리 설명

03: SVLoR for One Sample: Implementation / 1개 sample에 대해 logistic regression을 학습시키는 구현과정 설명

04: Comparison for Activation Functions / 3가지 Activation function에 대해 학습경향을 비교분석하고 이를 통해 딥러닝 architecture 미치는 영향 분석

05: SVLoR for Mini-batch: Theory / Mini-batch에 대해 logistic regression이 학습되는 과정 설명

06: SVLoR for Mini-batch: Implementation / Mini-batch에 대해 logistic regression을 학습시키는 구현방법 설명

07: Binary Classification with SVLoR / Toy dataset에 대해 실제 binary classification이 일어나는 과정 설명 08: SVLoR Analysis / 다양한 data에 따라 weight, bias가 update되는 과정을 비교분석


Part 10. Multi-variate Logistic Regression (MVLoR) / 다변수 로지스틱 회귀 분석

01: Introduction to MVLoR / 다변수 logistic regression에 대한 소개와 Artificial Neuron 사이의 관계 설명

02: MVLoR for One Sample: Theory / 1개 sample에 대해 학습이 진행되는 원리 설명

03: MVLoR for One Sample: Implementation / 1개 sample에 대해 logistic regression을 학습시키는 구현과정 설명

04: MVLoR for Mini-batch: Theory / Mini-batch에 대해 학습이 진행되는 원리 설명

05: MVLoR for Mini-batch: Implementation / Mini-batch에 대해 logistic regression을 학습시키는 구현과정 설명

06: Binary Classification with MVLoR / 다변수에 대해 logistic regression이 binary

classification에 사용되는 원리 설명 07: MVLoR Analysis / 각 feature들의 특징에 따라 전체적인 학습경향성 설명 


Part 11. Artificial Neurons / 인공 신경망

01: Introduction to Artificial Neurons / Artificial neuron이 딥러닝에서 사용되는 과정과 multi-variate logistic regression 사이의 관계 설명

02: Input/Ouput of Artificial Neurons / 딥러닝에서 neuron끼리 연결되어 있기 때문에 서로의 input/ouput이 학습에 미치는 영향 분석

03: XOR Problem / Non-linear한 decision boundary 문제를 해결하기 위해 2개의 layer를 사용한 XOR problem 소개

04: Multi-layer Perceptron / 3개의 neuron들에 대해 forward/backward propagation이 일어나는 원리와 non-linear한 decision boundary를 만들어내는 원리 설명

05: Complex Functions with Artificial Neurons / n개의 neuron들이 만들어낼 수 있는 복잡한 decision boundary에 대해 설명

06: MNIST Classifier with Artificial Neurons / Input/hidden/output layer를 만들었을 때, 사람의 손글씨를 인식하는 non-linear function이 학습되는 원리 설명