ML/DL 관련 개념(+주관적 해석) 정리 1. 지도학습과 비지도학습의 차이점은? - 지도학습 : label이 있는 데이터로 학습을 진행하는 것(회귀, 분류), feature와 target간의 관계를 잘 설명하는 선, 혹은 어떠한 기준점을 찾는 것이 핵심 - 비지도학습 : label이 없는 데이터로 학습을 진행하는 것(군집화, 연관규칙학습), 데이터 간 거리 혹은 관계를 바탕으로 어떠한 패턴 혹은 변수 간의 응집도를 파악하는 것이 핵심 2. 분류모델 정리 - KNN : 거리가 가까운 K개의 값들을 동일한 값으로 분류하는 것 - Naive Bayes : 조건부확률을 기반으로, B라는 사건이 일어났을 때를 가정해서 A가 일어날 확률(모두 독립이라 가정) - SVM : 최대 마진을 가지도록 deicision ..
기계학습/Machine Learning 검색 결과
0. 데이터 사이언스 관련 용어 개념 정리(개념+주관적 해석) 1) AI란 무엇이라고 생각하나? - 기계가 사람을 흉내낼 수 있는 기술이자 알고리즘 - 사람이 하기 힘든 일을 자동화시켜 효율적인 시스템을 구축하는 것. - 굳이 사람이 나서지 않아도 되는 부분을 AI로 처리하는 것이 핵심이라고 생각. - EX) 금융권에서 영업업무 시간대가 아닐 때, 고객 상담을 위해 금융 상담 챗봇 서비스 2) ML(머신러닝)이란 무엇이라고 생각하나? - 데이터를 활용해 컴퓨터가 모델을 통해 학습하는 기술이자 알고리즘. - ML의 핵심은 데이터, 즉 과거의 수 많은 데이터를 바탕으로 모델을 학습시켜 미래에 일어나는 일을 예측해내는 것 - EX) 앱 내 고객의 로그 기록을 바탕으로, 행동 패턴을 분석해 물건 구매 여부를 예..
SVM이란 분류 모델로 Hyper plane이라는 선 혹은 평면이라는 기준을 가지고 분류하는 것이다. SVM은 이 Hyper plane을 구하는 것이고, 즉 w와 b를 구하는 것이 가장 중요하다. 여기서는 선형 SVM을 다루고 다음 페이지에서 비선형 SVM을 다루고자 한다. SVM에서 class를 나누는 기준은? 위 사진을 보면 두 class를 나누는 hyperplane(여기서는 직선)이 무한이 많다. 그렇다면 어떤 hyperplane이 가장 좋은 hyperplane이고, 좋다는 것의 기준은 무엇일까? 좋다는 것의 기준이자 SVM의 목표는 training data의 margin이 최대화 되는 것을 찾는 것이다. 즉 margin을 최대화 한다는 것은 일반적인 error를 최소화 한다는 것이고, 이는 좋은 ..
모든 feature가 비슷한 범위에 있으면 gradient descent가 더 빠르게 수렴하는 데 도움이 된다. Mean normalization은 기존 값에서 평균을 빼고 표준편차로 나누어주는 것을 말한다. Polynomial Regression 여러 개 feature를 하나로 합쳐서 새로운 feature로 이용할 수 있다. 예를 들면 집의 넓이도 집값을 추정하는 데 도움이 되기 때문에 집의 넓이를 가로 길이와 세로 길이를 곱해 새롭게 정의할 수 있다. Hypothesis function이 반드시 linear가 되어야 하는 것은 아니다. 데이터에 잘 fit하는 형태로 나타내면 되고, 예를 들면 2ㅏ함수나 3차함수 곡선, 제곱근 함수 등의 형태를 이용할 수 있다.
앞에서 하나의 변수를 이용한 univariate regression에 대하여 알아보았는데, 실제 상황에서는 하나의 변수만으로 예측하기 어려운 경우가 많다. 여기서는 여러 개의 변수를 이용한 multivariate linear regression을 알아보도록 하자. 다시 집값 추정 문제를 생각해보자면, 원래 집의 넓이만을 고려했지만 지금은 방의 개수, 층수, 연령 등을 고려해서 집값을 추정해보기로 했다. multivariate를 수식으로 나타내면 여러 파라미터인 세타와 데이터인 x가 곱해져 더한 형태가 된다. training example에 대한 hypothesis function의 벡터화이다. 각 training example을 row-vector로 하여 X라는 행렬에 다음와 같이 쌓는다. 그러면 hyp..
Gradient Descent는 cost function을 최소화하기 위해 이용할 수 있는 방법 중 하나이며, cost function 말고도 각종 optimization에 이용되는 일반적인 방법이다. hypothesis function의 최적의 parameter를 찾는 방법이다. Gradient Descent Outline은 위처럼 초기 파라미터값으로 시작하여, 희망하는 최소값으로 줄 때까지 계속 갱신해나간다. cost function을 세타j에 대해 미분하고 학습률을 곱해 계속 갱신해나간다. 주의해야 될 점은 파라미터를 단계적으로 갱신해나가는 것이 아니라, 동신에 업데이트 해야 된다는 점이다. 알파값은 learning rate라고 하는데, 이 크기가 클수록 한 번에 더 많이 움직이게 된다. learn..
Supervised Learning - 특정 input에 대해 정답(Label) output이 있는 데이터 셋이 주어지는 경우. Regression : continuous(연속) output을 추정하는 문제 집값 예측의 예시에서, input은 집의 넓이 output으로 집값이다. 사전에 집의 넓이와 그 집의 가격을 조사해서 그 정보를 사용하므로 supervised learning이고 output에 해당하는 집값을 연속값을 가지므로 regression 문제 종양이 악성인지 양성인지 진단하는 문제. 사전에 종양의 크기와, 진단 결과(악성/양성)정보를 이용하므로 supervised learning. output에 해당하는 진단 결과가 악성/양성으로 discrete category이므로 classfication..
데이터 셋 : https://www.kaggle.com/c/bike-sharing-demand/data 에서 train.csv파일을 bike_train.csv로 저장한 뒤 실습을 진행한다. 데이터 셋의 피처들을 확인하면 datatime : 날짜 season : 1 = 봄, 2 = 여름, 3 = 가을, 4 = 겨울 holiday : 1 = 주말 및 휴일, 0 = 평일 workingday: 1 = 주중, 0 = 주말 및 휴일 weather : 1 = 맑음, 약간 구름 낀 흐림, 2 = 안개, 안개 + 흐림, 3 = 가벼운 눈, 가벼운 비 + 천둥, 4 = 심한 눈/비, 천둥/번개 temp : 온도(섭씨) atem : 체감 온도(섭씨) humidity : 상대 습도 windspeed : 풍속 casual : ..
이번 포스팅에서는 회귀 모델을 통해서 학습하기 이전에 어떤 전처리를 거쳐야 하는지, 이름에는 회귀가 포함되어 있지만 실제로는 분류에 많이 사용되는 로지스틱 회귀, 그리고 회귀 트리에 대해서 다뤄보자. 선형 회귀 모델을 위한 전처리 선형 모델 : 피처와 타깃 값 간 선형의 관계가 있다고 가정하고, 이러한 최적의 선형 함수를 찾아내 결과 값을 예측. 피처 값과 타깃 값 모두 정규 분포인 형태를 매우 선호하며, 이 데이터 분포들이 한쪽으로 쏠리는 등 왜곡된 경우에는 예측 성능에 부정적인 영향을 미칠 가능성이 높습니다. 선형 모델의 성능을 높이는 여러가지 전처리 방법 스케일링(Standard Scaler, MinMax Scaler) 1번의 방법이 성능 향상에 큰 영향을 주지 못하는 경우, 다항 특성을 적용하여 ..
이전에 포스팅에서도 봤듯이, 적절한 회귀 계수를 가지는 것이 매우 중요하다. 회귀 계수가 너무 낮다면, 데이터들을 충분히 표현하지 못하는 회귀선이 만들어지게 되고, 회귀 계수가 지나치게 높다면, 학습 데이터에만 너무 치중이 되어 과적합 문제를 일으킨다. 그렇다면, 적절한 회귀 계수를 어떻게 찾을 수 있을까? 그렇다면, 어느 회귀선이 데이터를 가장 '적절하게' 표현하는 지에 대한 기준이 명확하게 존재해야 한다. 하지만, 일반적인 통념에 의존하여 우리는 '적절하다'를 표현하고, 어느 회귀선이 다른 회귀선들보다 절대적으로 더 낫다.라는 개념은 없다. 그렇기 때문에, 우리는 '적절한' 회귀선을 찾을 수 있는 방안에 대해서 여러가지(여기에서는 3가지 - 릿지, 라쏘, 엘라스틱넷)가 존재하는 것이다. 다시 앞으로 ..
최근댓글