2018. 1. 7. 00:54ㆍML(머신러닝)/BASIC
비지도 : 알고있는 출력 값이나 정보 없이 학습 알고리즘을 가르쳐야하는 머신러닝(입력데이터만으로도 지식 추출 가능)
비지도 종류 :
비지도 변환 과 군집
비지도 변환 : 데이터를 새롭게 표현하여 사람이나 다른 머신러닝 알고리즘이 원래 데이터보다 쉽게 해석할 수 있도록 만드는 알고리즘
많이 사용되는 분야 : 특성이 많은 고차원 데이터 -> 차원 축소 -> 꼭 필요한 특징을 포함한 데이터
데이터를 구성하는 성분을 찾기도 한다 -> 많은 텍스트 문서에서 주제추출하기
군집 : 데이터를 비슷한 것 끼리 그룹으로 묶는 것 -> 사진을 업로드 -> 분류 할때 같은 사람이 찍힌 사진을 같은 그룹으로 -> 누군지 얼마나 많은지 모름
사진에 나타난 모든 얼굴을 추출해서 비슷한 얼굴로 그룹짓는 방법이 있음 -> 이 얼굴이 같은 사람이라면 잘 묶은 것
비지도 학습의 도전과제 :
알고리즘이 뭔가 유용한 것을 학습했는지 평가하는 것 -> 보통 레이블이 없는 데이터에 적용해서 -> 무엇이 올바른지 알 수없음
ex_ 가상의 군집 알고리즘이 옆모습/ 앞모습 나눠서 분류 -> 이것도 사람의 얼굴 사진 분류하는 방법이지만 원하는 것이 아님
-> 그러나 이 알고리즘에게 우리가 원하는 것 지정하는 방법 알려줄 수가 없음 -> 그래서 직접확인하는 방법 밖에 없음
-> 그래서 비지도 학습은 탐색적 분석 방법에서 많이 사용한다. 지도학습 전처리 단계에서 주로 사용
-> 비지도 학습의 결과로 새롭게 표현된 데이터를 사용해 학습한다면 -> 메모리 , 시간, 성능 향상 기대 할 수 있다.
-> 간단한 전처리 방법 설명
-> 지도 (전처리와 스케일 조정) -> 스케일 조정 메서드는 지도 정보를 사용하지 않으므로 비지도 방식
데이터 전처리와 스케일 조정
신경망 / SVM -> 스케일에 매우 민감 -> 특성 값 조정 -> 특성마다 스케일을 조정해서 데이터 변경
데이터를 기준으로 범위를 변환하는 법 : 4가지
변환법
|
설명 |
StandardScaler |
평균 0 분산 1로 변경 모든 특성이 같은 크기 가지게 한다 -> 최솟값과 최댓값 크기를 제한하지는 않는다. |
RobustScaler |
특성들이 같은 스케일을 갖게 된다는 것은(Standscaler 와 비슷) -> 하지만 평균과 분산 대신 중간 값(median) 와 사분위값(quantile) 사용한다 -> 측정 에러의 영향을 받지 않는다 (이상치 영향 안받음) |
MinMaxScaler |
모든 특성이 정확하게 0과 1 사이에 위치하도록 한다 2차원 데이터 셋의 경우에는 x 축의 0과 1 , y축 0과 1 |
Normalizer |
특성 벡터의 유클리드안 길이가 1이 되도록 데이터 포인트를 조정한다. -> 다른 말로하면 지름이 1인 원에(3차원에서는 구)에 데이터 포인트를 투영합니다. -> 이 말은 데이터 포인트가 다른 비율로(길이에 비례) 스케일이 조정된다는 것이다 -> 이러한 정규화는 특성 벡터의 길이는 상관없고 데이터 방향(도는 각도)만이 중요할 때 많이 사용 된다. |
데이터 변환 적용하기
훈련 세트에서는 0~1 범위 넘어간다 그 이유 : 항상 훈련 세트와 테스트 세트에 같은 변환을 적용해야 합니다.
transform 메서드는 테스트의 최솟값 사용 x -> 훈련센트를 이용한다.
이렇게 하지 않은 경우의 차이점
첫번째는 원본 데이터이고 두번째는 올바르게 minmaxscaler 해서 축의 눈굼이 바뀐거 빼고는 동일하다.
하지만 3번째는 뒤죽박죽으로 되어 있다.
단축 메서드 효율적 사용 방법
데이터셋 fit -> transform 호출 -> 전형적이 것
그래서 fit , transform 두개를 가진 -> fit_transform() 사용 하면 된다.
훈련 세트를 변환할때 사용하면 유용!
그래서 결론적으로는 지도 학습 전에 스케일 조정을 통하면 성능향상 기대 할 수 있다.
'ML(머신러닝) > BASIC' 카테고리의 다른 글
[ Python ]비지도 군집, 병합군집, 덴드로그램, DBSCAN (2) | 2018.01.09 |
---|---|
비지도_PCA, NMF, 매니폴드 학습(T-SNE) (0) | 2018.01.07 |
지도 학습 알고리즘별 간단한 사용법 정리 (0) | 2018.01.06 |
지도학습_ 커널 서포트 벡터 머신, 신경망 (0) | 2018.01.06 |
지도학습_k-최근접 이웃 , 선형모델(로지스틱,svm) , 나이브 베이즈 분류기 (0) | 2018.01.03 |