머신러닝:개요
개요
목표는 새로운 데이터에서 잘 작동하는 일반화된 모델을 얻는 것.
학습방법
사실, 다음의 학습방법은 어디에 중점을 두느냐에 따라 달리 해석되어 경계가 모호하다.
지도학습
훈련데이터와 타깃 사이의 관계를 학습하게 된다. 데이터가 주어지면, 주어진 타깃에 매핑하는 방법 학습.
문자판독, 음성인식, 이미지분류, 언어번역 등. 이미지분할, 캡션 등을 자동으로 다는 데에도 사용
비지도학습
어떤 타깃도 사용하지 않고, 입력데이터에 대한 변환을 검색. 지도학습을 하기 전에 데이터셋을 잘 이해하기 위해 거치는 단계로 주로 사용된다. 차원축소, 군집문제.
데이터시각화, 압축, 노이즈제거 등 데이터의 상관관계를 이해하기 위해 사용.
자기지도학습
지도학습이지만, 사람이 만든 레이블을 사용하지 않음. 사람이 개입하지 않는 지도학습. 경험적인 알고리즘을 사용하여 입력데이터로부터 레이블 생성.
오토인코더가 잘 알려진 도구. 수정하지 않은 원본을 입력한다.
강화학습
오랫동안 관심을 끌지 못했던 방법인데, 구글의 딥마인드가 게임플레이를 학습하는데 사용하며 많은 관심을 받기 시작했다. 알파고의 기반이 되었던 학습.
환경에 대한 정보를 받아 보상을 최대화 하는 행동을 선택하게끔 학습하는 형태.
성능측정방법
데이터를 훈련세트, 검증세트, 테스트세트로 나누어 사용한다. 검증세트와 테스트세트는 거의 유사하지만, 검증세트는 모델의 성능을 평가하며 층 수나 유닛 수를 설정하기 때문에 완전히 깨끗하게 검증을 위한 자료라 보기 어렵다.(하이퍼파라미터를 조정할 때마다 검증데이터에 대한 정보가 모델에 누설된다 본다.) 때문에 최후에 테스트세트를 두어 최대한 정확한 성능측정을 꾀한다.
단순 홀드아웃 검증(hold-out-validation)
데이터의 일정량을 테스트 세트로 분리.
데이터가 적을 땐 검증, 테스트세트의 샘플이 너무 적어 전체데이터를 통계적으로 대표한다고 보기 어렵다.
K-겹 교차검증
k는 숫자. 데이터를 k개로 분할, 각 분할모델에서 각자 평가,
셔플링을 사용한 반복 K-겹 교차검증