본문 바로가기

Programming & Machine Learning/풀어쓰는 머신러닝20

연속형 회귀분석에 대한 전반적인 내용들 머신 러닝은 크게 지도학습과 비지도학습, 강화학습으로 나뉜다.그리고 그 안에서도 분류, 예측, 추천 등의 또 다른 갈래가 있다. 그 중에서 예측 분야의 골조가 되는 알고리즘인 회귀분석의 A부터 Z까지의 대략적인 개념을 정리해 보았다. 1. 회귀 모델이란 먼저 회귀 모델이 무엇인가에 대한 정의가 필요하다.회귀 모델이란 연속형 스케일을 가진 목표변수를 예측하는 방법 중에 한 가지 모델이다.지도학습의 일종으로 변수 간 관계, 연관성을 파악하기에 좋고, 가장 단순하면서도 가장 강력한 예측 방법 중 하나이다.휘황찬란한 딥러닝 알고리즘도, 결국엔 회귀 모델 식 하나로 최종적 판단을 하게 된다. 2. 심플 선형회귀 심플 선형회귀는 단일 설명변수 하나와 연속형 반응변수간의 관계를 모델링 하는 것이다.y = w_0+w_.. 2017. 8. 23.
교차검증(Cross Validation)을 통한 모델 평가방법 모델 평가머신러닝 모델을 학습하는 데 있어서 중요한 점 중 하나는, 새로운 데이터셋에 대한 반응하는 모델의 성능을 추정하는 것이다. 만약 새로운 데이터셋이 들어왔을 때 학습된 모델이 얼마나 예측이나 분류를 잘 수행하는지에 대한 예상이 필요하다. 우리가 학습한 모델이 새로운 데이터에 대한 결과의 예상이라면 우리는 그 모델이 얼마나 잘 예상할지에 대한 예상이 필요하다. 정확한 용어로 얘기하자면, 모델의 일반화 오차에 대해 신뢰할만한 추정치를 구할 수 있게 해주는 방법이 필요하다는 것이다. 그 방법으로는 일반적으로 크게 두가지, 홀드아웃(holdout) 교차검증과 k-fold 교차검증의 방법이 있다. 1. 홀드아웃 교차검증 방법가장 보편적인 모델의 성능 테스트 방법은, 원 데이터를 훈련데이터와 테스트데이터 두.. 2017. 8. 11.
학습, 검증곡선과 편향-분산 트레이드오프(Bias-Variance Tradeoff) 본 포스팅을 읽기 전에, 교차검증이 무엇인지에 대해 모르는 분들은 이곳을 참고해주시길 바랍니다. 학습, 검증곡선과 편향-분산 트레이드오프편향-분산 트레이드오프 (Bias-Variance Tradeoff)머신 러닝에서의 error는 크게 두 분류로 나뉜다. bias(편향), 그리고 variance(분산)이다. bias는 흔히 생각할 수 있는 error로, 선형 회귀같은 문제에서의 SSE를 떠올리면 쉽다. 모델이 학습데이터를 충분히 설명할 수 없는 상황에서 커지는 에러이다. 이 상황을 흔히 underfitting이라고 한다. variance는 그 반대로 모델이 학습데이터를 과도하게 잘 설명하는 상황이다. 모집단을 추정하고자 표본집단을 이용하여 모델을 만들어놨더니, 표본집단만을 거창하게 잘 설명하는 모델이 된.. 2017. 8. 11.
커널 주성분 분석(KPCA)로 차원 축소하기 비선형 매핑을 위한 커널 주성분 분석의 사용회귀분석과 대부분의 분류 알고리즘에서는 데이터를 선형분리 가능하다는 가정이 필요했다. 심지어 인공신경망의 기초격인 퍼셉트론에서조차 선형분리 가능을 전제로 알고리즘이 동작했다. 이러한 문제점들을 PCA, LDA같은 차원 축소 기법으로 해결했으나 데이터의 모양이 정말로, 완전히, 앱솔루틀리 하게 비선형인 경우는 문제가 달라진다. PCA, LDA 같은 알고리즘은 차원축소를 위한 선형 변환 기법을 이용하기 때문에, 선형으로 분리 불가능한 데이터에 대해서는 적당하지 않다. 이런 문제를 극복하기 위해 커널 PCA를 사용할 수 있다. SVM에서의 커널 기법을 떠올려보자. 원래의 d차원 데이터를 k차원으로 (더 큰 차원으로) 매핑하는 하나의 함수를 생각할 수 있다. 이 때, .. 2017. 8. 10.
선형판별분석(LDA)로 차원 축소하기 선형 판별 분석(LDA)을 활용한 지도적 데이터 압축선형 판별 분석(Linear Discriminant Analysis, LDA)은 PCA와 마찬가지의 피처 압축 기법 중 하나이다. 전체적인 개념은 상당히 유사하지만, LDA는 PCA와 달리 최대분산의 수직을 찾는 것이 아니라 지도적 방식으로 데이터의 분포를 학습하여 분리를 최적화하는 피처 부분공간을 찾은 뒤, 학습된 결정 경계에 따라 데이터를 분류하는 것이 목표이다. 즉, PCA가 데이터의 전체적인 분포를 참고하여 새로운 basis를 설정하고, 그 축에 맞게 데이터를 새롭게 projection 하는 것이 목표라면, LDA는 지도적인 방법으로 basis를 찾아서 그 축을 분리에 이용한 뒤, 최적의 분리를 완성한 뒤 projection을 하는 것이 목표이다.. 2017. 8. 10.
차원 축소, 차원의 저주에 관하여 최근에 차원 축소에 대한 스터디를 진행하다가 문득 든 질문, 도대체 차원 축소를 왜 해야하는거지? 라는 간단한 질문에 대답하기 어려웠다. 당연히 피처 수가 적으면 모델이 더 잘 돌아가겠지.. 하는 생각 외에는 신박한 답변이 생각나지 않았다. 잠시 페이드 아웃의 시간을 거치고, 문득 떠오른 단어가 "차원의 저주"였다. 유레카, "차원의 저주"를 해결하기 위해서 우리는 차원 축소를 하는거지! 라고 당당히 대답해 버렸다. 그럼 차원의 저주는 뭐지..? 두서없이 드는 생각들을 옮겨적어 봐야겠다. 차원축소 차원 축소를 해야 하는 이유에 대해, 실생활적인 예를 들어 생각해보자. 어떤 사람이 커피를 마시는 상황에 대해 머신 러닝 기법을 적용하여 예측하고자 한다. 커피를 마시는 이유. 피처를 한번 선정해보자. 졸려서,.. 2017. 8. 10.
뉴럴넷에서의 오버피팅과 해결책 오버피팅과 해결책신경망 등에서의 오버피팅머신러닝 분야에서의 오버피팅은 언제나 가장 큰 issue이다. 신경망 분야에서도 backpropagation 이라는 큰 전환점이 있었지만 꽤 오랜기간동안 상용화되지 못했던 이유는 오버피팅 때문이다. 다른 알고리즘에 비해 파라미터와 계수의 갯수가 크다보니, 자연스레 모델의 complexity가 증가하고 오버피팅이 발생한다. 초기의 해결책은 거의 전무했으며 DBN등으로 어느정도 성능을 끌어올렸다가, computing 성능의 발전과 dropout등의 알고리즘 등장으로 상당히 많이 개선되어 딥러닝의 유행을 이끌고 있다. 신경망 분야에서만 적용되는 것이 아닌 공통적으로 적용되는 오버피팅 해결책은 다음과 같다. 1. 훈련 데이터를 늘린다 2. 피처를 정규화 / 표준화 시켜준다.. 2017. 8. 3.
배치 방식과 온라인 방식의 모델 학습 배치방식, 온라인 방식에 대한 개념일반적으로 대중화된, 아이리스 데이터 등으로 데스크탑에서 손쉽게 돌려볼 수 있는 머신러닝 자료들은 데이터를 통째로 IDE로 불러들인 다음 메모리상에 올려두고 작업하는 방식이었을 것이다. 모델을 학습함에 있어서도 모든 트레이닝 데이터셋의 결과값을 한번에 구한 뒤, 데이터셋과 쌍이 맞는 레이블과의 차이를 구해서 비용함수를 한번에 개선하는 방식의 학습을 n-iterative 하게 진행하였을 것이다. 하지만 머신러닝을 진행함에 있어서 데이터의 크기는 언제든지 늘어나게 된다. 아마 실전의 대부분은, 한 개의 데스크탑에서 불러올 수 없는 양의 데이터가 대부분일 것이다. 이런 경우 R 혹은 Python등의 툴로는 데이터를 메모리에 올려놓고 한번에 처리하기가 힘들어진다. 그렇게 되면 .. 2017. 8. 3.
주성분분석(PCA)로 차원 축소하기 주성분분석(PCA)로 차원 축소 하기PCA의 정의 - 비지도적 차원 축소 기법여러 변수들의 변량을 주성분 분석(Principal Component Analysis)라고 불리는 서로 상관성이 높은 여러 변수들의 선형조합으로 만든 새로운 변수들로 요약 및 축약하는 기법. 비정규화된 모델에서 흔히 야기되는 일명 '차원의 저주' 문제를 해결하도록 도와주기도 한다. 우리는 회귀분석이나 의사결정트리등의 모델을 만들 때, 다중 공선성의 문제가 발생하는 것을 쉽게 볼 수 있다. 이런 경우를 해결하는 것이 바로 상관도가 높은 변수들을 데이터를 대표하는 주성분 혹은 요인으로 축소하여 모형개발에 이용하는 것이다. 주성분 분석은 고차원 데이터에서 최대 분산의 방향을 찾아, 새로운 부분 공간에 원래보다 작은 차원으로 투영하는 .. 2017. 8. 2.
머신 러닝의 개요 - intro 머신 러닝 개요1. 머신 러닝의 유형머신러닝은 크게 비지도학습, 지도학습, 강화학습으로 분류된다. - 지도학습은 또다시 분류, 예측등으로 나뉘게 된다. 회귀를 기준으로 분류를 설명할 때, 회귀선이 바로 분류의 기준이 되는 선을 의미한다. 연속형 결과를 예측하는 경우에서는 회귀선이 예측의 함수를 의미한다. - 강화학습은 상호작용을 기반으로 자신의 성능을 개선하는 학습구조를 의미한다. 행위를 보상함수로 잘 측정할 수 있는 측정 기준에 관한 것이 강화학습에서의 피드백, 즉 보상 신호이다. - 비지도학습은 주로 은닉 구조를 발견하는 용도로 사용된다. 이미 알려진 결과변수나 레이블, 보상함수의 도움을 받지 않고서도 데이터에서 의미있는 정보를 추출해낸다. 군집분석이 가장 대표적인 예로, k-means 등의 알고리즘.. 2017. 7. 29.