Machine Learning/AI Introduction
Deep Learning (1)
Deep Learning (1)
2021.11.14전통적인 Machine Learning에 어떤 문제가 있어서 Deep Learning이 도입됐고, Deep Learning이 그 문제를 어떻게 극복했는지에 대해 알아보자. 머신러닝에서 경사하강법 (Gradient Descent) 방법을 통해 Cost를 최소화했다. 딥러닝도 Cost를 최소화하는 관점에서는 동일하지만, 딥러닝에 경사하강법을 사용할 수 없다. 모듈의 복잡도가 훨씬 복잡해지는 등 여러 가지 문제가 발생했기 때문인데 뒤에서 자세히 알아보자. 경사하강법을 사용하지 않는 대신, 딥러닝에서는 경사하강법에 기반하지만 좀 더 복잡한 문제에 적용할 수 있는 매커니즘인 Backpropagation(오류 역전파 알고리즘)을 사용해 Cost를 최소화한다. 이렇듯 최신 기술인 Backpropagation을 이해하..
Machine Leaning - Overfitting
Machine Leaning - Overfitting
2021.10.24지난 시간에 Linear Model의 Regression과 Classification을 배우고 Gradient Descent에 대해 배웠다. 그러면 배운 걸 바탕으로 딥러닝, 머신러닝에 바로 활용하면 참 좋은데.. 그냥 가져다 쓰면 여러 가지 문제점이 생긴다. 1. Overfitting (해결책). Regularization Overfitting. 무언가 굉장히 타이트하게 맞는다는거다. 어느 특정한 데이터에 대해서 딱 들어맞고, variation이 조금이라도 있으면 원하는 값을 얻을 수 없는 문제이다. 딥러닝을 할 때 발생하는 대표적인 문제인데, 이 문제를 해결하기 위해 Regularization을 활용한다. ML과 DL의 학습 과정을 살펴보자. (DL은 ML과 세부적인 부분에서는 다르지만, 전체적으로는..
Linear Model - Classification
Linear Model - Classification
2021.10.24지난 시간에 Supervised Learning에서의 Linear Model을 Regression문제에 적용했었다. Regression을 배웠으니 Classification에 적용해보자. 1. Binary Classifier / Logistic Regression 2. Softmax Classifier / Multinomial Logistic Regression Classifier기술은 Regression기술에 의존해 만들어졌기 때문에 Classifier 모델이지만 Logistic Regression처럼 Regression 용어가 쓰인다. 1. Binary Classifier / Logistic Regression Regression 모델로 접근하면 공부 시간에 따른 점수를 예측할 수 있다. 위의 그림처..
Machine Learning - Unsupervised Learning
Machine Learning - Unsupervised Learning
2021.10.17Unsupervised Learning은 학습 데이터만 주어지고, 정답은 주어지지 않는 Machine Learning을 말한다. Unsupervised Learning의 여러 알고리즘에 대해 살펴보자. 1. K-means Clustering 2. Hierachical Clustering 1. K-means Clustring K개의 그룹으로 나눠 그룹화 한다. K = 3일때 Clustring 한 결과. 다른 색을 가진 세 가지 별을 찍고, 거리를 계산한 후 각각의 점들과 별의 거리를 계산해 가장 가까운 별의 색상으로 점의 색상을 바꾼다. 하지만, 이걸로는 제대로 그룹화 된 것 같지 않다. 별을 이동시키며 그룹화를 업데이트하자. 별을 이동시킬 때 위치는 같은 색상을 가진 점들의 평균 위치를 계산하고 그 위치..
Machine Learning - Supervised Learning (5)
Machine Learning - Supervised Learning (5)
2021.10.17Supervised Learning의 여러 가지 알고리즘들에 대해 살펴보자. 1. Naïve Bayesian Classifier 2. Decision Tree 3. K-Nearest Neighbors 4. Linear Models 5. Support Vector Machine (SVM) 6. Multi Layer Perceptron(MLP) 5. Support Vector Machine Vector Line을 그어서 분류한다. 어떻게 Vector Line을 그어야 가장 잘 분류할 수 있을까? 일반화의 관점에서 생각하면 답을 알 수 있다. 바로 네번째이다. 두 그룹과의 boundary가 되는 구분선의 최소를 최대로 늘리는 Vector Line을 그어야 한다. 즉, margin이 최대한이 되는 직선으로 나눈..
Machine Learning - Supervised Learning (4)
Machine Learning - Supervised Learning (4)
2021.10.17Supervised Learning의 여러 가지 알고리즘들에 대해 살펴보자. 1. Naïve Bayesian Classifier 2. Decision Tree 3. K-Nearest Neighbors 4. Linear Models 5. Support Vector Machine (SVM) 6. Multi Layer Perceptron(MLP) 4. Linear Models 선형 모델. Classification Regression (Regression을 먼저 공부하고 Classification을 공부한다.) Decision Tree 알고리즘에서는 Boundary를 나눌 때 축 상으로 (바둑판처럼) 나눌 수 밖에 없지만, 선형 모델에서는 직선으로 분류할 수 있다. y = ax +b Linear Regress..
Machine Learning - Supervised Learning (3)
Machine Learning - Supervised Learning (3)
2021.10.17Supervised Learning의 여러 가지 알고리즘들에 대해 살펴보자. 1. Naïve Bayesian Classifier 2. Decision Tree 3. K-Nearest Neighbors 4. Linear Models 5. Support Vector Machine (SVM) 6. Multi Layer Perceptron(MLP) 여러 가지 알고리즘들이 있고, 상황에 따라 다른 알고리즘을 적용해야 한다. 3. K-Nearest Neighbors (유유상종) 입력 데이터에 가장 가까운 K개의 데이터 레이블을 표결해 출력 클래스를 결정한다. 이전에 살펴본 스팸 메일 구분하기로 예시를 들면, 먼저 그래프로 스팸메일과 일반 메일들을 데이터화 한 다음 어느 한 메일이 도착했을 때 그 메일 주변에 어떤 ..
Machine Learning - Supervised Learning (2)
Machine Learning - Supervised Learning (2)
2021.10.17Supervised Learning의 여러 가지 알고리즘들에 대해 살펴보자. 1. Naïve Bayesian Classifier 2. Decision Tree 3. K-Nearest neighbor 4. Linear Models 5. Support Vector Machine (SVM) 6. Multi Layer Perceptron(MLP) Linear Model은 Neural Network와 Deep Learning의 기반이 되기 때문에 자세히 알아둬야 한다. 2. Decision Tree (Classification) 결정 트리, Tree Structure 라고도 불린다. node : 질문들 branch : 질문의 답에 대한 분기 이미지를 Decision Tree에 집어넣고, 질문을 한다. 손가락이 몇..
Machine Learning - Supervised Learning (1)
Machine Learning - Supervised Learning (1)
2021.10.17Supervised Learning의 여러 가지 알고리즘들에 대해 살펴보자. 1. Naïve Bayesian Classifier 2. Decision Tree 3. K-Nearest neighbor 4. Linear Models 5. Support Vector Machine (SVM) 6. Multi Layer Perceptron(MLP) Linear Model은 Neural Network와 Deep Learning의 기반이 되기 때문에 자세히 알아둬야 한다. 1. Naïve Bayesian Classifier (Classifier) 영화의 댓글을 보고 긍정적인 평가인지, 부정적인 평가인지 분류하는 Machine Learning을 공부해보자. 컴퓨터는 데이터로 텍스트 자체를 받아들이고 분석하는 것 보다 ..
Machine Learning (2)
Machine Learning (2)
2021.10.17Machine Learning Techinique에 대해서 알아보자. 1. Supervised Learning 2. Unsupervised Learning 3. Reinforcement Learning 1. Learning with a Labled Training set. 지난 시간에 공부했던 방법이다. Classfication(분류) : 딱 떨어지는 결과를 얻는다. 개와 고양이를 판단하는 문제에서는 개 or 고양이를 값으로 얻는다. 입력에 대한 class를 예측한다. 스팸 메일 분류, 이미지 인식 등이 있다. Regression(회귀) : Labeling 이 Continuous하다. 주가가 900~999 사이에서 형성된다면 딱 떨어지는 결과 말고 900 선에서 결정된다 라고 표현하는것과 비슷하다. 출력..
Machine Learning (1)
Machine Learning (1)
2021.10.17앞에서 공부했듯, 사람이 직관의 영역으로 해결하는 문제들을 컴퓨터도 할 수 있도록 하는 기술을 머신러닝이라고 한다. 1997 Mitchell이 Machine Learning을 정의했다. 머신러닝은 작업 T 를 수행하기 위하여 경험 E 로부터 획득한 데이터를 기반으로 모델을 자동으로 구성하여 성능 P 를 향상시킬 수 있는 컴퓨터 프로그램이다. 작업 T는 시험 공부를 할 때 수업을 듣는 것을 의미하고 경험 E는 쪽지시험을 보고, 퀴즈를 풀고 연습문제를 푸는 것을 의미하며 성능 P는 시험을 보는 것을 의미한다. 위를 통해서 학습을 진행하는데, 기계도 위와 같은 방식으로 학습을 진행한다. 다음과 같은 이미지를 구분하는 머신러닝을 수행한다고 생각하자. (전통적인) 머신 러닝은 다음과 같은 절차로 진행된다. 1. ..
Machine Learning / Deep Learning
Machine Learning / Deep Learning
2021.10.17지난 시간에 컴퓨터과학 분야에서의 인공지능에서도 다뤘듯, 학문 간의 포함관계는 다음과 같이 정의된다. Deep Learning과 Machine Learning을 비교한다고 하면, 전통적인 Machine Learning과 Deep Learning을 비교하는 것으로 이해하자. Machine Learning 기계가 스스로 학습을 한다. Java C Python 등으로 수행하는 일반적인 프로그래밍이라면, 입력을 받고 규칙을 프로그래밍해 답을 출력하지만, Machine Learning은 입력과 출력을 통해 규칙을 찾는 형식으로 진행한다. 수능 수학을 준비할 때, f(x)라는 함수는 문제에서 주어지고, 이 함수가 왜 이렇게 정의됐는지에 대해서는 생각할 필요가 없다. 머신러닝에서는 함수가 어떻게 정의되는지, 어떤 규..