머신러닝:개요

학교의 모든 지식. SMwiki
둘러보기로 이동 검색으로 이동

틀:머신러닝

머신러닝:개요

개요[편집 | 원본 편집]

목표는 새로운 데이터에서 잘 작동하는 일반화된 모델을 얻는 것.

학습방법[편집 | 원본 편집]

사실, 다음의 학습방법은 어디에 중점을 두느냐에 따라 달리 해석되어 경계가 모호하다.

지도학습[편집 | 원본 편집]

훈련데이터와 타깃 사이의 관계를 학습하게 된다. 데이터가 주어지면, 주어진 타깃에 매핑하는 방법 학습.

문자판독, 음성인식, 이미지분류, 언어번역 등. 이미지분할, 캡션 등을 자동으로 다는 데에도 사용

비지도학습[편집 | 원본 편집]

어떤 타깃도 사용하지 않고, 입력데이터에 대한 변환을 검색. 지도학습을 하기 전에 데이터셋을 잘 이해하기 위해 거치는 단계로 주로 사용된다. 숨겨진 규칙을 발견하기 위한 목적으로. 차원축소, 군집문제.

데이터시각화, 압축, 노이즈제거 등 데이터의 상관관계를 이해하기 위해 사용.

자기지도학습[편집 | 원본 편집]

지도학습이지만, 사람이 만든 레이블을 사용하지 않음. 사람이 개입하지 않는 지도학습. 경험적인 알고리즘을 사용하여 입력데이터로부터 레이블 생성.

오토인코더가 잘 알려진 도구. 수정하지 않은 원본을 입력한다.

강화학습[편집 | 원본 편집]

오랫동안 관심을 끌지 못했던 방법인데, 구글의 딥마인드가 게임플레이를 학습하는데 사용하며 많은 관심을 받기 시작했다. 알파고의 기반이 되었던 학습.

환경에 대한 정보를 받아 보상을 최대화 하는 행동을 선택하게끔 학습하는 형태.

성능측정방법[편집 | 원본 편집]

데이터를 훈련세트, 검증세트, 테스트세트로 나누어 사용한다. 검증세트와 테스트세트는 거의 유사하지만, 검증세트는 모델의 성능을 평가하며 층 수나 유닛 수를 설정하기 때문에 완전히 깨끗하게 검증을 위한 자료라 보기 어렵다.(하이퍼파라미터를 조정할 때마다 검증데이터에 대한 정보가 모델에 누설된다 본다.) 때문에 최후에 테스트세트를 두어 최대한 정확한 성능측정을 꾀한다.

단순 홀드아웃 검증(hold-out-validation)[편집 | 원본 편집]

데이터의 일정량을 테스트 세트로 분리.

데이터가 적을 땐 검증, 테스트세트의 샘플이 너무 적어 전체데이터를 통계적으로 대표한다고 보기 어렵다.

K-겹 교차검증[편집 | 원본 편집]

k는 숫자. 데이터를 k개로 분할, 각 분할모델에서 각자 평가,

셔플링을 사용한 반복 K-겹 교차검증[편집 | 원본 편집]