본문 바로가기

Data Science/Machine Learning

(46)
[ML] Softmax Regression(다중분류모델) 이번 포스팅에서는 회귀분석의 연장이라고 할 수 있는 다중분류 모델에 대해서 다룰 예정이다. 보통 Multinominal Logistic Regression이라고도 불린다. 저번 시간에 다뤘던 로지스틱 리그레션은 합격/불합격, 스팸메일인가/아닌가, 사용자가 좋아하는 페이스북 피드인가/아닌가 같은 Binary(이진) 분류에 적합한 모델이였다. 이번에 소개할 모델은 2개 이상인 3개,4개,5개..의 Class들을 분류할 수 있는 모델이다. 하지만 이렇게 다중분류를 Binary를 이용해서 분류 할 수도 있다! 밑의 그림을 보자. 그림 속에 3가지 선이 있다. A인지 아닌지를 분류하는 Linear B인지 아닌지를 분류하는 Linear C인지 아닌지를 분류하는 Linear 이렇게 함으로써 밑의 수식을 만들어낼 수 ..
[ML] Logistic Regression for Classification 이번 포스팅에서는 바로 직전에 포스팅 했던 Linear Regression과는 조금 다른 로지스틱 리그레션에 대해 다룰 예정이다. 로지스틱 리그레션은 연속하는 값을 예측하는 선형회귀와 달리 원-핫 인코딩을 이용해서 분류 값을 예측하는 모델이다. 로지스틱 리그레션은 3가지만 기억하자! Linear Regression에 Sigmoid 씌우기 Cost값(예측,실제 값 차이) 측정 Cost값을 최소화 하기 위해 Gradient Decent(기울기 하강) 적용 우선, 선형회귀분석의 한계 부터 알아보자. 간단한 예시를 들어보겠다. 위 그림은 공부시간에 따른 시험의 합격/불합격에 대한 그래프이다. x축은 공부시간, y축은 시험 통과 여부이다. 우선 파란색으로 그려진 x와 o 표시로 된 데이터에 기반해서 파란색의 Li..
[ML] Linear Regression(선형회귀분석) 머신러닝에는 기본적으로 Supervised Learning(지도 학습) 과 Unsupervised Learning(비지도 학습)으로 크게 구분된다. 두개의 차이에 대해서 정의하자면, 미리 '정답'을 알려주면서 기계에게 정답을 학습시켜줌으로써 기계가 그 정답을 습득하고 스스로 알아서 정답을 판단해주는 것이 '지도학습'이다. 반면에 '정답'을 미리 알려주지 않고 패턴이 없는 비정형 데이터안에서 일정의 패턴을 찾는 것이 '비지도 학습'이라고 보면 된다. 이번 포스팅에서 작성할 머신러닝 모델은 지도학습 중에서도 가장 기본적인 모델인 Linear Regression(선형회귀분석)에 대해서 작성해보려고 한다. 우선 선형회귀분석이라 함은 연속적인 숫자값을 예측하는 것이다. 쉽게 설명하기 위해서 밑의 예시를 들어보자...
[ML] 머신러닝 모델: Decision Tree(의사결정나무) 머신러닝의 다양한 모델들 중 하나인 Decision Tree(의사결정 나무)에 대해서 알아보는 시간을 가졌다. 최근 DSC 동아리에서 시행하는 프로젝트로 다양한 머신러닝 용어와 모델들에 대해서 알게 되어 대학교에 들어와서 가장 생산적인 활동이 아니었나 싶다...흑 어찌 되었던 우선 많고 어려운 용어를 다 배제시키고 일상적인 단어로 표현한다면 '의사결정 나무 = 스무고개 놀이 ' 라고 보면 될 거 같다. 이래도 이 해가 어렵다면 밑에 그림을 보고 이해해보자! 의사결정나무는 분류와 회귀 방법에 모두 적용이 가능하다! 먼저 분류 과정에 대해 말하자면, 새로운 데이터가 특정 teriminal node에 속한다는 정보를 확인하고 해당 terminal node에서 가장 빈도가 높은 범주에 새로운 데이터를 분류! 시..
[용어 정리] ML/DL의 난제인 'Overfitting' 과 해결책인 'Validation' 요즘 머신러닝, 딥러닝 분야를 학습하다 보면 물론 수학적인 수식이나 공식이 어렵기도 하지만 한국어로 풀어쓴 설명에서 막히는 원인이 용어에 대한 개념숙지가 안되어 있는게 문제라고 생각한다. 따라서 용어를 순차적으로 학습해나가고 숙지하는 것이 또 하나의 숙제가 될 것 같다. 먼저 머신러닝의 개념과 난제부터 살펴보자. 머신러닝이라는 기법을 통해서 학습데이터로부터 모델을 찾아내고 실제 현장의 데이터를 그 모델에 input으로 넣었을 때 output을 찾는 것을 추론(inference) 라고 한다. 이렇게 학습 데이터로부터 열심히 머신러닝 모델을 구하고 실제 데이터를 입력했을 때 제대로 된 결과가 나오지 않을 수 있다. 그 이유는 학습데이터는 실제데이터의 부분집합이기 때문이다. 머신러닝과 딥러닝의 문제는 여기에서..
[Neural Network] ANN(인공신경망) ANN(Artificial Neural Networks)란, 인간의 뇌를 본따서 입력-은닉-출력 총 3가지 layer로 구성되 있다. ​ Perceptron과는 달리 다층으로 구성되어 있다! -> 차이점! 그래서 ANN= Multilayer Perceptron이라고도 부른다! ​ 이제 구체적으로 퍼셉트론과 ANN의 차이에 대해서 알아보겠다. 1) Layer 우선 layer 갯수에서 차이가 있다. 퍼셉트론은 앞서 말했다시피 총 3개의 층(입력-중간-출력층) 으로 구성되어 있는 반면 ANN은 입력층,출력층이 있으나 그 사이에 1개이상의 히든레이여를 갖고 있다! 그래서 ANN이 Multi layer이자 다중 perceptron이라고 부른다! ​ 2)패턴 인지 중간층이 하나인 퍼셉트론은 선형패턴(예측할 수 있는..