엄지척 블로그

[머신러닝 기초 1] [ 머신러닝을 시작하면서 .. ] 본문

머신러닝(Machine Learning)

[머신러닝 기초 1] [ 머신러닝을 시작하면서 .. ]

Umgee 2021. 11. 1. 23:04

막연하게 머신러닝 이 무엇인지, 어디서부터 시작해야할지 애매할수 가 있기에 가장 기초적인 개념부터 짚고 넘어가고자 한다. 

1. 결정론 vs 비결정론 

우선 머신러닝 기반 소프트웨어란 비결정론적 소프트웨어라는 사실을 인지하고 있어야 한다. 

 

일반 프로그램 ▶ 언제나 똑같은 과정을 통해 동일한 결과를 낸다.

머신러닝 기반 소프트웨어 ▶ 데이터와 사용된 알고리즘에 따라 때로는 다른 결과를 추론해낸다.

 

스마트폰 얼굴인식 잠금해제 일경우를 생각해보자. 

항상 같은 입력에 대해서 동일한 결과값만을 도출한다면 세상에서 오직 한 사람의 얼굴만 스마트폰의 잠금을 해제할 수 있을 것이다. 

물론 조건문을 여러 번 적용하여 여러 명의 얼굴을 지원할 수도 있지만,  사용자만큼의 조건문을 만들어야 한다.

물론 어느정도 해결이 될수는 있다.하지만,  코드가 상당히 복잡해지고, ,표정이 조금만 달라져도 다른 사람으로 인식할 확률이 높다.

 

즉,  같은 Input 에 대해서 동일한 결과값만을 도출해내는 결정론적 소프트웨어에서 해결하기 어려운 문제는 비결정론적 소프트웨어를 사용하면 간소한 코드로 좋은 성능을 기대할 수 있다.

 

   

일반 소프트웨어와 머신러닝 모델 기반 소프트웨어의 차이점

2. 머신러닝 프로젝트 과정

학습 데이터  ▷ 머신러닝 모델 구현시 활용할 데이터 

검증 데이터  ▷ 여러 머신러닝 모델들의 성능을 검토할시 활용할 데이터 

테스트 데이터 ▷ 최종적으로 선별된 머신러닝 모델의 성능을 측정할시, 사용할 데이터

 

프로젝트 프로세스

 문제정의 ▶ 프로젝트의 목표를 정의하고 그에 따른 계획을 세우는 단계이다. 대략적으로 어떤 데이터를 수집해서 어떠한 머신러닝 알고리즘으로 문제를 해결할지 결정.

 

데이터 획득 ▶ 머신러닝 모델에 필요한 데이터를 수집하는 단계이다. 이 때 획득한 데이터는 위에서 설명한 학습 데이터, 검증 데이터, 테스트 데이터 로 나누어진다.  

 

모델 구현 ▶ 학습된 데이터를 기반으로 한 개 이상의 머신러닝 모델을 구현한다. 

 

 

검증 ▶ 검증 데이터를 사용하여 머신러닝 모델들의 성능 검증. 이때의 결과를 바탕으로 더욱 최적화된 머신러닝 모델을 만들수 있으며, 최종적으로 검증 결과가 가장 높은 모델 선택

 

테스트 ▶ 검증 결과를 통해 선택된 모델의 성능을 테스트 데이터로 측정한다. 

 

 

 

출저 : 나의 첫 머신러닝 딥러닝 교재

Comments