모든 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..
NLP VS 텍스트 분석 : 기본적으로 둘을 구분하는 것이 유의미하지는 않다. 굳이 구분하자면, NLP : 머신이 인간의 언어를 이해하고 해석하는 데 더 중점. 텍스트 분석을 향상하게 하는 기반 기술이라고 볼 수도 있다. ex> 언어를 해석하기 위한 기계번역, 자동으로 질문을 해석하고 답을 하는 질의응답 시스템 텍스트 분석( = 텍스트 마이닝) : 비정형 텍스트에서 의미 있는 정보를 추출하는 것에 중점. 모델을 수립하고, 정보를 추출해 비즈니스 인델리전스, 예측 분석 등의 분석 작업을 주로 수행. 텍스트 분류 감성 분석 텍스트 요약 텍스트 군집화, 유사도 측정 텍스트는 비정형 데이터이지만, 머신러닝 알고리즘에 넣는 데이터는 숫자형 데이터가 들어가야 한다. 텍스트를 머신러닝에 적용하기 위해서는 '비정형 텍..
데이터 셋 : 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번의 방법이 성능 향상에 큰 영향을 주지 못하는 경우, 다항 특성을 적용하여 ..
데이터 분석에 필수적인 과정 중 하나가 현재 가지고 있는 데이터 셋을 시각화 하는 작업, 그리고 특정 모델들을 사용하여 학습하거나 예측을 할 때에도 시각화는 많이 사용된다. 그 중에서도 여러개의 그래프를 동시에 나타내어 시각적으로 비교를 해야하는 경우가 빈번하게 존재한다. 그 중에서도 위의 이미지처럼 plt.subplot()을 사용하여 그래프를 사용하는 경우가 많다. plt.subplots(m , n) 여러 책이나 자료들에서 아래와 비슷한 코드들을 많이 볼 수 있다. import pandas as pd import numpy as np import matplotlib.pyplot as plt %matplotlib inline fig, axes = plt.subplots(2) 여기에서 fig는 전체 그래프..
이번 포스티에서는 시계열뿐만 아니라, 전반적인 데이터 분석에서 최근 많이 사용되는 앙상블 기법들이 어떤 의미를 갖는 지에 대해서 설명할 것이다. 앙상블(Ensemble) 앙상블이란, 하나의 데이터 모델을 학습하여 예측하지 않고, 여러 데이터 모델들을 생성하여, 각각 학습을 진행하고, 예측을 하여, 예측 결과들을 통해서 최종 예측 결과를 도출하는 기법을 의미한다. 단순하게 생각하면, 여러 데이터 모델들을 이용하여 예측을 하는 기법이라고 생각하면 된다. 앙상블 기법과, Bagging, Boosting의 기술적인 내용은 https://dsbook.tistory.com/165?category=761052 와 그 후속 포스팅에 자세하게 나와있으니 이것을 참고하자. Bias-Variance Trade-Off 데이터..
논문 제목 : Distilling the Knowledge in a Neural Network 논문 링크 : arxiv.org/abs/1503.02531 Background NN의 오버피팅을 피하기 위해 앙상블 기법이 사용되었다. 하지만 앙상블은 여러 모델을 사용하여 계산시간이 많이 걸린다는 단점이 있어, 앙상블만큼의 성능과 '적은 파라미터 수'를 가진 nn모델이 필요하여 이 Knowledge Distillation모델이 나오게 되었다. Knowledge Distillation이란? Knowledge는 지식, Distillation은 증류이다. 화학에서 액체를 가열하여 생긴 기체를 냉각하여 다시 액체로 만드는 것을 증류라고 부르는데, 이러한 개념을 NN에서 사용한 것이다. 즉 위 그림과 같이 NN에서 지..
최근댓글