17. Other Classic ML Models (2)
Support Vector Machines
Support Vector Machines (SVMs)
- 2000๋ ๋ ์ด๋ฐ, "off-the-shelf" supervised learning (๋๋ฉ์ธ์ ๋ํ ์ฌ์ ์ง์ ์์ด ์ฌ์ฉํ๋)์ ๊ฐ์ฅ ์ธ๊ธฐ ์์๋ model class
- ํ์ฌ ์ด ์์น๋ deep learning network์ random forest๊ฐ ์ฐจ์งํ์ง๋ง, SVM์ ์ฌ์ ํ 3๊ฐ์ง ๋งค๋ ฅ์ ์ธ ์์ฑ์ ๋ณด์
- SVM์ maximum margin separator (๊ฒฐ์ ๊ฒฝ๊ณ)๋ฅผ ๊ตฌ์ถ (example point๊น์ง ๊ฐ๋ฅํ ๊ฐ์ฅ ํฐ ๊ฑฐ๋ฆฌ๋ฅผ ๊ฐ์ง). ์ด๋ ์ผ๋ฐํ(generalize)์ ๋์
- SVM์ linear separating hyperplane์ ์์ฑํ์ง๋ง, kernel trick์ ์ฌ์ฉํด ๋ฐ์ดํฐ๋ฅผ ๋ ๋์ ์ฐจ์์ ๊ณต๊ฐ์ผ๋ก embedding ํ ์ ์์. ์๋ณธ input space์์ linearly separable ํ์ง ์์ ๋ฐ์ดํฐ๊ฐ ๊ณ ์ฐจ์ ๊ณต๊ฐ์์๋ ์ฝ๊ฒ ๋ถ๋ฆฌ๋๋ ๊ฒฝ์ฐ๊ฐ ๋ง์
- SVM์ nonparametric์. Separating hyperplane์ parameter ๊ฐ์ ์งํฉ์ด ์๋ example point ์งํฉ์ ์ํด ์ ์๋จ. Nearest-neighbor model์ ๋ชจ๋ example์ ์ ์งํด์ผ ํ์ง๋ง, SVM model์ separating plane์ ๊ฐ์ฅ ๊ฐ๊น์ด example (์ผ๋ฐ์ ์ผ๋ก ์ฐจ์ ์์ ๋ช ๋ฐฐ์ ๋ถ๊ณผํ)๋ง ์ ์ง. ๋ฐ๋ผ์ SVM์ nonparametric model๊ณผ parametric model์ ์ฅ์ ์ ๊ฒฐํฉ: ๋ณต์กํ ํจ์๋ฅผ ํํํ๋ ์ ์ฐ์ฑ์ ๊ฐ์ง๋ฉด์ overfitting์ ๊ฐํจ
Properties of SVMs
- SVM์ maximum margin separator๋ฅผ ๊ตฌ์ถ
- Margin์ ๊ทธ๋ฆผ์ ์ ์ ์ผ๋ก ๋๋ฌ์ธ์ธ ์์ญ์ ๋๋น (separator์์ ๊ฐ์ฅ ๊ฐ๊น์ด example point๊น์ง ๊ฑฐ๋ฆฌ์ 2๋ฐฐ)

- SVM์ ๋ฐ์ดํฐ๋ฅผ ๋ ๋์ ์ฐจ์์ ๊ณต๊ฐ์ผ๋ก embedding ํ๋ ๋ฅ๋ ฅ(kernel trick)์ ๊ฐ์ง

- SVM์ nonparametric์. Separating hyperplane์ parameter ๊ฐ์ ์งํฉ์ด ์๋ example point ์งํฉ์ ์ํด ์ ์๋จ
- Logistic regression์ ์ด๋ค separating line์ ์ฐพ์ผ๋ฉฐ, ์ด line์ ์ ํํ ์์น๋ ๋ชจ๋ example point์ ๋ฐ๋ผ ๋ฌ๋ผ์ง
- SVM์ ํต์ฌ ํต์ฐฐ์ ์ผ๋ถ example (์ฆ, support vector)์ด ๋ค๋ฅธ ๊ฒ๋ณด๋ค ๋ ์ค์ํ๋ฉฐ, ์ด์ ์ง์คํ๋ ๊ฒ์ด ๋ ๋์ generalization์ผ๋ก ์ด์ด์ง ์ ์๋ค๋ ๊ฒ

Implementing ML Models in Python
Scikit-learn
K-NNs in Scikit-learn
Clustering in Scikit-learn

(Gaussian) Naรฏve Bayes in Scikit-learn
GaussianNB๋ classification์ ์ํ Gaussian Naive Bayes algorithm์ ๊ตฌํํจ. Feature์ likelihood๋ Gaussian์ด๋ผ๊ณ ๊ฐ์ :
Parameter ์ ๋ maximum likelihood๋ฅผ ์ฌ์ฉํ์ฌ ์ถ์
>>> from sklearn.datasets import load_iris
>>> from sklearn.model_selection import train_test_split
>>> from sklearn.naive_bayes import GaussianNB
>>> X, y = load_iris(return_X_y=True)
>>> X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.5, random_state=0)
>>> gnb = GaussianNB()
>>> y_pred = gnb.fit(X_train, y_train).predict(X_test)
>>> print("Number of mislabeled points out of a total %d points : %d"
... % (X_test.shape[0], (y_test != y_pred).sum()))
Number of mislabeled points out of a total 75 points : 4
Decision Trees in Scikit-learn
SVMs in Scikit-learn
Neural Networks and Deep Learning (1)
Introduction to Neural Networks and Deep Learning
AI, ML, and DL (The Slide From the First Lecture)
โโโโโโโโโโโโโโโโโโโโโโโ
โโโผโโโโโโโโโโโ Machine โ
โ โ AI โ Learning โ
โ โ โโโโโโโโโโผโโโโ โ
โ โ โ โ โ โ
โ โ โ Deep โ โ โ
โ โ โ Learning โ โ
โ โ โ โ โ โ
โ โ โโโโโโโโโโผโโโโ โ
โ โโโโโโโโโโโโผโโโโโโโโโโโ
โโโโโโโโโโโโโโ
- Artificial Intelligence (AI), Machine Learning (ML), Deep Learning (DL)
- ์ด ์ฉ์ด๋ค์ ๋ฏธ๋์ด์ ๋์ค์ด ๋ณ๋ค๋ฅธ ์ฃผ์ ์์ด ์ํธ ๊ตํ์ ์ผ๋ก ํ์ฉํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง์
- 2010๋ ๋ statistical machine learning์ ์ ๋ก ์๋ ์ฑ๊ณต์ AI์ ๋ค๋ฅธ ๋ชจ๋ ์ ๊ทผ ๋ฐฉ์์ ์๋ํ์ผ๋ฉฐ, ์ผ๋ถ (ํนํ ๋น์ฆ๋์ค๊ณ)์์๋ "artificial intelligence"๋ผ๋ ์ฉ์ด๋ฅผ "neural network๋ฅผ ์ฌ์ฉํ machine learning"์ ์๋ฏธํ๋ ๋ฐ ์ฌ์ฉ
- AI, ML, DL์ ๊ณ์ธต ๊ตฌ์กฐ
- ML์ ๋ณดํต AI์ ๋ถ๋ถ์งํฉ์ผ๋ก ๊ฐ์ฃผ๋๋ฉฐ, DL์ ML์ ํน์ ๋ถ๋ถ
- ๊ทธ๋ฌ๋ ML์ด ์ ์ ์ผ๋ก AI์ ํฌํจ๋๋์ง์ ๋ํด์๋ ์ฌ์ ํ ๋ ผ๋์ด ์์
Deep Learning
- Deep learning์ machine learning์ ์ํ ๊ด๋ฒ์ํ technique family์ด๋ฉฐ, hypothesis๋ ์กฐ์ ๊ฐ๋ฅํ ์ฐ๊ฒฐ ๊ฐ๋๋ฅผ ๊ฐ์ง ๋ณต์กํ ๋์์ circuit ํํ๋ฅผ ๋ฐ
- "Deep"์ด๋ผ๋ ๋จ์ด๋ circuit์ด ์ผ๋ฐ์ ์ผ๋ก ๋ง์ layer๋ก ๊ตฌ์ฑ๋์ด input์์ output๊น์ง์ ๊ณ์ฐ ๊ฒฝ๋ก๊ฐ ์ฌ๋ฌ ๋จ๊ณ๋ฅผ ๊ฑฐ์น๋ค๋ ์ฌ์ค์ ์๋ฏธ
- Deep learning์ ํ์ฌ visual object recognition, machine translation, speech recognition, speech synthesis, image synthesis์ ๊ฐ์ application์ ๊ฐ์ฅ ๋๋ฆฌ ์ฌ์ฉ๋๋ ์ ๊ทผ ๋ฐฉ์
- ์ปดํจํฐ ๋น์
- ์์ฐ์ด ์ฒ๋ฆฌ
- Speech & Music Processing
- ๊ฐํ ํ์ต
- ์๋ฃ, ๋ฒ๋ฅ , ...
- Physical AI & Robotics
Neural Networks
- Deep learning์ ๋์ neuron network๋ฅผ computational circuit์ผ๋ก modeling ํ๋ ค๋ ์ด๊ธฐ ์ฐ๊ตฌ์ ๊ธฐ์์ ๋
- ์ด๋ฌํ ์ด์ ๋ก deep learning method๋ก ํ๋ จ๋ network๋ ์ข
์ข
neural network๋ผ๊ณ ๋ถ๋ฆผ (์ค์ neural cell ๋ฐ ๊ตฌ์กฐ์์ ์ ์ฌ์ฑ์ ํผ์์ ์ผ์ง๋ผ๋)

Why is Deep Learning Successful?
- Deep learning ์ฑ๊ณต์ ์ง์ ํ ์ด์ ๋ ์์ง ์์ ํ ๋ฐํ์ง์ง ์์์ง๋ง, ๋ค๋ฅธ method์ ๋นํด ๋ช ๋ฐฑํ ์ด์ ์ ๊ฐ์ง
- Linear/logistic regression์ ๋ง์ input ๋ณ์๋ฅผ ์ฒ๋ฆฌํ ์ ์์ง๋ง, ๊ฐ input์์ output๊น์ง์ ๊ณ์ฐ ๊ฒฝ๋ก๋ ๋งค์ฐ ์งง์ (๋จ์ผ weight์์ ๊ณฑ์ ํ aggregate output์ ๋ํด์ง)
- ๋์ฑ์ด, ์๋ก ๋ค๋ฅธ input ๋ณ์๋ค์ ์๋ก ์ํธ์์ฉ ์์ด ( (a) ) output์ ๋ ๋ฆฝ์ ์ผ๋ก ๊ธฐ์ฌ. ์ด๋ ํด๋น model์ expressive power๋ฅผ ํ์ ํ ์ ํ
- ๋๋ถ๋ถ์ ์ค์ real-world concept์ ํจ์ฌ ๋ ๋ณต์กํ์ง๋ง, ์ด model๋ค์ input space์์ linear function๊ณผ ๊ฒฝ๊ณ๋ง ํํ ๊ฐ๋ฅ
- Decision tree๋ ๋ง์ input ๋ณ์์ ์์กดํ ์ ์๋ ๊ธด ๊ณ์ฐ ๊ฒฝ๋ก๋ฅผ ํ์ฉ
- ๊ทธ๋ฌ๋ ์ด๋ ๊ฐ๋ฅํ input vector ์ค ์๋์ ์ผ๋ก ์์ ๋ถ๋ถ์ ๋ํด์๋ง ํด๋น ( (b) ). Decision tree๊ฐ ๊ฐ๋ฅํ input์ ์๋น ๋ถ๋ถ์ ๋ํด ๊ธด ๊ณ์ฐ ๊ฒฝ๋ก๋ฅผ ๊ฐ์ง๋ค๋ฉด, input ๋ณ์์ ์์ ๋ํด exponentially large ํด์ผ ํจ
- Deep learning์ ๊ธฐ๋ณธ ์์ด๋์ด๋ ๊ณ์ฐ ๊ฒฝ๋ก๊ฐ ๊ธธ๋๋ก circuit์ ํ๋ จํ๋ ๊ฒ
- ๋ชจ๋ input ๋ณ์๊ฐ ๋ณต์กํ ๋ฐฉ์์ผ๋ก ์ํธ์์ฉํ๋๋ก ํ์ฉ ( (c) )
- ์ด๋ฌํ circuit model์ ๋ง์ ์ค์ํ learning problem ์ ํ์ ๋ํด real-world data์ ๋ณต์ก์ฑ์ ํฌ์ฐฉํ ๋งํผ ์ถฉ๋ถํ expressive ํ ๊ฒ์ผ๋ก ๋ฐํ์ง

Simple Feedforward Networks
Feedforward Networks
- (Deep) feedforward (neural) network (๋๋ multi-layer perceptrons (MLPs))๋ ํ ๋ฐฉํฅ์ผ๋ก๋ง connection์ ๊ฐ์ง
- ์ง์ ๋ input ๋ฐ output node๊ฐ ์๋ directed acyclic graph๋ฅผ ํ์ฑ
- ๊ฐ node๋ input์ ํจ์๋ฅผ ๊ณ์ฐํ๊ณ ๊ทธ ๊ฒฐ๊ณผ๋ฅผ network์ ํ์ node๋ก ์ ๋ฌ
- ์ ๋ณด๋ input node์์ output node๋ก network๋ฅผ ํตํด ํ๋ฅด๋ฉฐ, loop๊ฐ ์์
- Recurrent network๋ ์ค๊ฐ ๋๋ ์ต์ข output์ ์์ฒด input์ผ๋ก ๋ค์ feedback
- ์ด๋ network ๋ด์ signal ๊ฐ์ด internal state ๋๋ memory๋ฅผ ๊ฐ๋ dynamical system์ ํ์ฑํจ์ ์๋ฏธ

- Neural network์์ input ๊ฐ์ ์ผ๋ฐ์ ์ผ๋ก continuousํ๋ฉฐ, node๋ continuous input์ ๋ฐ์ continuous output์ ์์ฑ
- Node์ ๋ํ input ์ค ์ผ๋ถ๋ network์ parameter
- Network๋ ์ด parameter ๊ฐ์ ์กฐ์ ํ์ฌ network ์ ์ฒด๊ฐ training data์ ๋ง๋๋ก ํ์ต
- Feedforward network์ ๋ชฉํ๋ ์ด๋ค ํจ์ ๋ฅผ ๊ทผ์ฌ(approximate)ํ๋ ๊ฒ
- ์: Classifier์ ๊ฒฝ์ฐ ๋ input ๋ฅผ category ๋ก mapping
- Feedforward network๋ ๋ผ๋ mapping์ ์ ์ํ๊ณ , ์ต์์ ํจ์ ๊ทผ์ฌ(approximation)๋ฅผ ๊ฒฐ๊ณผ๋ก ๋ด๋ parameter ์ ๊ฐ์ ํ์ต
- Feedforward network๋ ์ผ๋ฐ์ ์ผ๋ก ๋ง์ ์๋ก ๋ค๋ฅธ ํจ์๋ฅผ ํจ๊ป ๊ตฌ์ฑ(composing)ํ์ฌ ํํ๋๊ธฐ ๋๋ฌธ์ network๋ผ๊ณ ๋ถ๋ฆผ
- ์: , , ์ธ ํจ์๊ฐ chain์ผ๋ก ์ฐ๊ฒฐ๋์ด ๋ฅผ ํ์ฑ
- ์ด ๊ฒฝ์ฐ ์ network์ ์ฒซ ๋ฒ์งธ layer, ๋ ๋ ๋ฒ์งธ layer๋ผ๊ณ ๋ถ๋ฆผ
- Chain์ ์ ์ฒด ๊ธธ์ด๊ฐ model์ depth๋ฅผ ๊ฒฐ์ . "Deep learning"์ด๋ผ๋ ์ด๋ฆ์ด ์ฌ๊ธฐ์ ์ ๋
- Feedforward network์ ๋ง์ง๋ง layer๋ output layer๋ผ๊ณ ๋ถ๋ฆผ
- Input layer์ output layer ์ฌ์ด์ layer๋ค์ hidden layer๋ผ๊ณ ๋ถ๋ฆผ
- Network์ ๊ฐ hidden layer๋ ์ผ๋ฐ์ ์ผ๋ก vector-valued
- ์ด๋ฌํ hidden layer์ dimensionality๊ฐ model์ width๋ฅผ ๊ฒฐ์

- Vector์ ๊ฐ element๋ neuron๊ณผ ์ ์ฌํ ์ญํ ์ ํ๋ ๊ฒ์ผ๋ก ํด์๋ ์ ์์
- ๋ํ layer๊ฐ ๋ณ๋ ฌ๋ก ์๋ํ๋ ๋ง์ unit์ผ๋ก ๊ตฌ์ฑ๋์ด ์์ผ๋ฉฐ, ๊ฐ unit์ vector-to-scalar ํจ์๋ฅผ ๋ํ๋ธ๋ค๊ณ ์๊ฐํ ์ ์์
- ๊ฐ unit์ ๋ง์ ๋ค๋ฅธ unit์ผ๋ก๋ถํฐ input์ ๋ฐ๊ณ ์์ ์ activation value๋ฅผ ๊ณ์ฐํ๋ค๋ ์๋ฏธ์์ neuron๊ณผ ์ ์ฌ
- ๊ทธ๋ฌ๋ neural network์ ๋ชฉํ๋ ๋๋ฅผ ์๋ฒฝํ๊ฒ model ํ๋ ๊ฒ์ด ์๋
Computation of Feedforward Networks
- Network ๋ด์ ๊ฐ node๋ฅผ unit (๋๋ perceptron)์ด๋ผ๊ณ ํจ
- ์ ํต์ ์ผ๋ก unit์ (1) ์ด์ node๋ค๋ก๋ถํฐ์ input์ weighted sum์ ๊ณ์ฐํ๊ณ (2) nonlinear function์ ์ ์ฉํ์ฌ output์ ์์ฑ
- ๋ฅผ output unit ๋ผ ํ๊ณ ๋ฅผ unit ์์ unit ๋ก์ link์ ์ฐ๊ฒฐ๋ weight๋ผ ํ ๋;
- ์ฌ๊ธฐ์ ๋ unit ์ ์ฐ๊ด๋ nonlinear activation function์ด๊ณ , ๋ unit ๋ก์ input์ weighted sum

- ์์ ๋ฐฉ์ ์์ vector ํํ๋ก ์์ฑ ๊ฐ๋ฅ
- Activation function์ด nonlinear๋ผ๋ ์ฌ์ค์ด ์ค์
- ๋ง์ฝ ๊ทธ๋ ์ง ์๋ค๋ฉด, unit์ ๋ชจ๋ ๊ตฌ์ฑ(composition)์ ์ฌ์ ํ linear function์ ๋ํ๋ผ ๊ฒ (์ผ ๋ )
- Nonlinearity๋ ์ถฉ๋ถํ ํฐ unit network๊ฐ ์์์ ํจ์๋ฅผ ํํํ ์ ์๊ฒ ํ๋ ์์
- Universal approximation theorem
- Computational unit์ layer๊ฐ ๋ ๊ฐ๋ฟ์ธ network (์ฒซ ๋ฒ์งธ๋ nonlinear, ๋ ๋ฒ์งธ๋ linear)๊ฐ ์์์ continuous function์ ์์์ ์ ํ๋๋ก ๊ทผ์ฌ(approximate)ํ ์ ์์์ ๋ช ์
Activation Funtions
- ๋ค์ํ๊ณ ์๋ก ๋ค๋ฅธ activation function์ด ์ฌ์ฉ๋จ
- Logistic ๋๋ sigmoid function (logistic regression์์๋ ์ฌ์ฉ):
- ReLU function (Rectified Linear Unit์ ์ฝ์ด):
- Softplus function (ReLU function์ smooth version)
- Tanh function:


