1. 최적의 알고리즘 및 매개변수 찾기
알고리즘 선정시
- 고려점 : 더 높은 정답률을 내는 다른 알고리즘이 있지는 않은가?
- 해결법 : 각각의 알고리즘으로 정답률을 구하고 비교한다.
알고리즘 평가시
- 고려점 : 데이터(학습 전용과 테스트 전용) 분류의 편향이 발생하지는 않았는가?
- 해결별 : 크로스 벨리데이션 (cross-validation) 이용
2. 최적의 알고리즘 찾기
2-1. 각 알고리즘의 정답률 비교하기
- all_estimators() 메서드를 사용하여 모든 알고리즘을 추출한다.
- 해당 알고리즘의 정답률을 비교한다.
2-2. 크로스 벨리데이션
- 여러 데이터 패턴으로 평가하고 안정적인 결과를 내는것을 선택하고 싶을때 사용
- 알고리즘의 타당성을 평가하는 하나의 방법. "교차 검증: 이라고 하며, 종류에는 K-분할 크로스 밸리데이션 등이 있다 (K-fold cross validation)
- 학습데이터가 적은 경우, 평가의 신뢰성을 올릴수 있게 크로스 밸리데이션을 하는 경우가 많다.
- 데이터를 K개의 그룹으로 분할하고, "K-1개를 학습 전용 데이터, 남은 1개를 평가 전용 데이터로 사용해 평가" 하는 것을 K번 반복하는 방법임.
- scikit-learn 에는 크로스 밸리데이션을 위한 기능이 기본으로 제공됨.
ex) 3-분할 크로스 밸리데이션
- 데이터를 A,B,C 라는 3개의 그룹으로 분할한다.
- A와 B를 학습전용 데이터, C를 평가 전용 데이터로 사용해 정답률을 구한다.
- B와 C를 학습전용 데이터, A를 평가 전용 데이터로 사용해 정답률을 구한다.
- C와 A를 학습전용 데이터, B를 평가 전용 데이터로 사용해 정답률을 구한다.
3. 최적의 매개변수 찾기
- 개발자가 직접 지정해야 하는 매개변수를 '하이퍼 파라미터(Hyper Parameter)' 라고 합니다.
- 사용할수 있는 방법은 그리드 서치, 랜덤 서치가 있음.
3-1. 그리드 서치
- 하이퍼 파라미터 튜닝 방법의 하나임. 지정한 매개변수 패턴을 사용해서 정답률을 구하고, 가장 정답률이 높은 패턴을 선택하는 방법
참고 서적 : 파이썬을 이용한 머신러닝, 딥러닝 실전 앱 개발 (http://www.yes24.com/Product/Goods/71051687?scode=032&OzSrank=10)
'AI' 카테고리의 다른 글
추천시스템 맛보기 2탄 (0) | 2019.10.07 |
---|---|
추천시스템 맛보기 1탄 (0) | 2019.10.03 |
머신러닝 맛보기 8탄 (0) | 2019.05.27 |
머신러닝 맛보기 7탄 (0) | 2019.05.09 |
머신러닝 맛보기 5탄 (0) | 2019.04.18 |
머신러닝 맛보기 4탄 - 핸즈온 (0) | 2019.04.08 |
머신러닝 맛보기 3탄 (0) | 2019.03.19 |
머신러닝 맛보기 2탄 (0) | 2019.03.19 |
댓글