티스토리 뷰
1. 머신러닝 - Feature <생각해 볼 문제>
1. 숫자 데이터에 대한 첫번째 체크 포인트? 값의 크기문제
Q. 단지 양수 또는 음수인지만 알면 되는가?
Q. 대략적으로 구간을 나눠야 하는가?
2. 피쳐의 스케일 - 가장 큰 값과 작은 값은 무엇인가? 그 둘의 차이는 몇자리 수 인가?
Q. 가장 큰 값과 가장 작은 값은 무엇인가?
Q. 그 둘의 차이는 몇자리 수 인가?
Q. 피쳐의 정규화 필요성
<참고>
* 논리함수? 입력 피쳐 스케일에 민감하지 않다. 입력이 무엇이든 이 함수의 출력은 바이너리이기 때문에
* 의사결정트리모델은 입력 피쳐에 대한 계단 함수들로 구성되기 때문에 공간 분할 트리에 기초한 모델들은 입력 스케일에 민감하지 않다. 하지만 입력의 스케일이 계속 커지는 경우, 학습된 트리의 범위를 벗어날 수 있기 때문에 주기적으로 입력의 스케일을 조정해줄 필요가 있다.
3. 숫자 피처의 분포(Distrbution)을 고려하는 것이 중요
* 분포? 특정 값이 나타나는 확률을 말함, 일부 모델에서 입력 피처의 분포는 다른 어떤것보다 중요
ex) 선형회귀모델의 학습 프로세스는 예측 오차가 가우시안분포와 같이 나타날 것으로 가정, 하지만 이러한 가정은 일반적으로 문제가 없지만, 예측 목표가 매우 큰 자릿수에 걸쳐 펼쳐질 때는 그렇지 않다
2. 데이터 처리 방법
1. 카운트 처리
- 빅 데이터 시대에 카운트는 아무런 제약 없이 빠르게 누적될 수 있음
- 사용자는 한 노래나 영화를 무한 반복으로 재생시킬 수도 있는 등...
- 그러기 때문에 선택이 필요
(1) 데이터의 스케일을 확인한 다음에 데이터를 원시 숫자로 유지할 것인지
(2) 존재 여부만을 나타내는 바이너리로 변환할 것인지
- 음악 데이터의 경우 = 한번 이상 들은건 그 음악을 좋아하는 것
(3) 몇개의 구간으로 나눌 것인지
- 고정폭비닝
- 분위수 비닝 = 카운트 사이에 큰 갭이 있다면 데이터가 없이 존재하는 빈이 많이 사용하게 됨
2. 로그 변환
- 로그 변환은 두꺼운 꼬리 분포를 갖는 양수로 된 데이터를 다루는 강력한 도구
- 두꺼운 꼬리 분포는 가우시안 분포보다 꼬리 범위에 더 많은 확률 질량을 가짐
<로그 변환 - 분산 안정화가 왜 좋은가? >
* 푸아송 분포(Poisson distribution)
- 평균과 분산이 동일한 값으 갖는 두꺼운 꼬리 분포
- 질량 중심이 커질 수록 분산도 커지고 꼬리도 굵어진다. 거듭제곱변환은 분산이 더 이상 평균에 의존하지 않도록 변수의 분포를 바꾼다.
- 푸아송 분포 확률론에서 단위 시간 안에 어떤 사건이 몇 번 발생할 것인지를 표현하는 이산 확률 분포
* Gaussian Distribution 왜 중요한가?
1. 유한 분산을 갖는 데이터가 독립적인 피처 확률을 갖는 데이터 세트의 크기가 커지는 한, 가우스 분포는 어디에나 존재
2. Gaussian Distribution 가지는 데이터 세트는 모수 통계에 속하는 다양한 방법에 적용할 수 있음
3. Gaussian Distribution에 의해 도출된 결론과 요약은 직관적이고 통계에 대한 기본 지식을 가진 사람에게 설명하기 쉽다.
3. Box-Cox 변환
-정규분포가 아닌 자료를 정규분포로 변환하기 위해 사용
- Box-Cox 변한 공식은 데이터가 양수일 때만 동작 , 양수가 아닌 데이터는 고정된 상수를 더해줌으로써 값을 이동시킬 수 있음
<확률플롯>
- 데이터의 실험적인 분포를 이론적인 분포와 비교해볼 수 있는 쉬운 방법
'인공지능 > 머신러닝' 카테고리의 다른 글
머신러닝 기본적인 LinearRegression Code (0) | 2020.02.19 |
---|---|
[ML Algorithm] 군집화(clustering) (0) | 2020.01.12 |
머신러닝 - 배치학습 vs 온라인학습 (0) | 2019.10.27 |
Anaconda 기본 (0) | 2019.10.27 |
[ML Algorithm] 분류 평가(Evaluation) (0) | 2019.10.16 |