분류 모델
분류는 회귀와 마찬가지로 입력 변수간의 상관 관계를 분석해 예측합니다. 결과값이 연속이 아닌 이산 값을 가진다는 것이 차이점입니다. 이에 따라 회귀와는 다른 방식으로 예측합니다. 분류에 사용되는 대표적인 알고리즘에 대해 알아보겠습니다.
로지스틱 회귀
로지스틱 회귀는 이산변수 간의 상관관계를 나타내는 모델입니다. 0 또는 1의 이분형 결과를 가집니다.
로지스틱 회귀는 조건부 확률로부터 출발합니다. 입력 변수 값에 따른 출력 변수의 조건부 분포를 만듭니다. 그리고, 아웃풋은 정확도에 대한 확률로 생각할 수 있습니다.
그래프에서 알 수 있듯이, 아웃풋은 0부터 1사이입니다. 따라서 로지스틱 회귀에 필요한 함수는 확률 함수입니다. 그러므로 로지스틱 함수를 아웃풋 함수로 사용하면 값이 0부터 1사이에 위치합니다. 따라서 로지스틱 회귀 모델을 만드는 데 필요한 것은 아웃풋 함수인 로지스틱 함수의 기울기를 결정하는 2개의 파라미터의 값을 찾는 것입니다.
이와 같이 파라미터 값을 찾는 것은 모델 피팅이라고 합니다. 가장 많이 사용하는 방법으로 MLE라고 있습니다. 이 방법은 확률을 최대로 만들어주는 파라미터를 찾아줍니다. Scikit-learn을 이용하면 모델 피팅 관련된 작업을 쉽게 할 수 있습니다.
의사결정 트리와 랜덤 포레스트
의사 결정 트리는 머신 러닝 알고리즘의 한 종류입니다. 인풋의 특성을 트리 구조에 매핑해 분류합니다. 그러한 모양이 나무와 비슷해 분류와 회귀 트리라고도 합니다. 회귀와 분류에 모두 적용할 수 있습니다. 우수한 성능을 보여주어 머신 러닝에 매우 인기 있는 알고리즘입니다.
어떤 문제에 대한 확률을 계산하고 싶다면 그 값을 의사 결정에 트리에 넣어 사다리 타듯이 내려오면 최종 확률을 알 수 있습니다. 의사 결정 트리의 장점 중 하나는 이해하기 쉽다는 것입니다.
인기있는 신경망과 같은 알고리즘은 난해함 때문에 이해하기 어렵습니다. 하지만 의사 결정 트리는 이해하기 쉬운 형태로 되어 있습니다. 인풋의 중요도도 파악할 수 있습니다. 따라서 피쳐 선택에 참조할 수 있고 대규모 데이터도 잘 처리할 수 있습니다.
랜덤 포레스트는 여러개의 의사결정 트리를 사용하는 앙상블이라 할 수 있습니다.
3개의 의사 결정 트리가 있습니다. 랜덤 포레스트는 데이터가 들어오면 3개의 의사 결정 트리를 이용해 예측하고 그 예측값을 통합해 최종 예측값을 도출하는 방식입니다.
랜덤 포레스트는 상당히 우수한 머신러닝 알고리즘의 하나입니다. 의사결정 트리와 마찬가지로 회귀와 분류 문제에 모두 적용할 수 있습니다. 비교적 학습 시간이 짧아서 다방면에서 많이 활용하고 있습니다.
SVM
딥러닝이 큰 인기를 얻기 전에 가장 인기있는 슬픈 머신러닝 알고리즘의 하나입니다. 데이터에 모두 적용할 수 있고, 대용량 데이터도 처리할 수 있고, 많이 활용되었습니다.
SVM의 기본 아이디어는 주어진 데이터를 분류하기 위한 최적의 경계선을 찾습니다. 그 후, 분류할 데이터가 들어왔을 때 경계선의 어느 쪽에 위치하느냐에 따라 분류하는 것입니다. 최적 경계선을 분류하려는 데이터의 경계에 위치한 여러 경계선 중 가장 먼거리에 있는 경계선이 됩니다. 이 최적 경계선 근처에 위치한 데이터들을 SV라고 합니다.
그림을 참조해보겠습니다. 바로 실선에 위치한 데이터들이 SV, 즉 Support Vector가 됩니다. 최적 경계선은 그림에서 실선을 의미합니다.
최적 경계선을 직선과 같은 선형으로 분리할 수 있습니다. 그대로 활용하면 되지만, 선형으로 분리되지 않을 수 있습니다. 그 경우에는 커널 트릭 기법을 써서 데이터를 분류합니다.
위 그림은 커널 트릭의 개념을 나타내는 것으로 흰색 원과 검은색 원을 분류하기 위한 방법을 보여줍니다. 직선과 같은 선형으로 분류하기 어려운 경우가 있습니다. 이러한 경우 피쳐 스페이스로 변환해 선형적인 최적 경계선을 찾는 것입니다. 이러한 방식으로 비선형 문제를 해결할 수 있습니다.
상당히 어려운 개념일수도 있지만, 기본 개념을 이해하여 Scikit-learn 라이브러리로 쉽게 사용할 수 있습니다.
'SW > 주가 예측' 카테고리의 다른 글
주식, 비트코인 예측 : 성능 측정 : 방법, 분석, 특징 (0) | 2019.07.05 |
---|---|
주식, 비트코인 예측 : 시간 가치 감소 효과 : 개념, 원인, 이유, 상황 (0) | 2019.07.04 |
주식, 비트코인 예측 : 머신러닝 모델 : 개념, 종류, 특징 (0) | 2019.07.03 |
주식, 비트코인 예측 : 평균회귀 모델 : 구현 방법, 핵심 개념, 슈도코드 (0) | 2019.07.03 |
주식, 비트코인 예측 : 평균회귀 모델 : 개념, 종류, 예제 (2) | 2019.07.02 |