머신러닝에 대한 개념이나 각종 성공사례를 처음 접하면 머신러닝이 마치 천하의 보검처럼 느껴져 어떠한 문제라도 머신러닝으로 해결할 수 있을 것 같은 느낌을 받습니다. 그리고 예제로 제공되는 코드들을 실행해보면 그리 길지 않은 코드로 신기하게 그림에서 문자를 인식하고 아이리스 꽃의 종류를 분별하는 등, 기존 프로그래밍 방법으로는 막막한 것들을 너무도 쉽게 해내 놀랍기 그지없습니다.
하지만 머신러닝은 한 번 휘두르면 모든 적을 제압할 수 있는 천하의 보검이 아니라는 것을 분명히 알고, 역시 예제는 예제라는 만고의 진리를 깨닫게 되는 데는 그리 오랜 시간이 걸리지 않을 것입니다. 이러한 결과는 머신러닝에 사용한 데이터가 잘못되었거나 엉뚱한 알고리즘을 적용하였거나 머신러닝에 적합하지 않은 문제 때문에 벌어졌을 가능성이 큽니다.
머신러닝을 제대로 사용하려면 머신러닝의 장단점을 파악해 해결하려는 문제가 머신러닝에 적합한 것인지, 적합하지 않은 것이라면 어떻게 문제를 재정의해야 하는지, 어떤 데이터를 사용해야 하는지 등을 고민해봐야 할 것입니다.
※ 머신러닝의 장점
1) 학습을 위해 지식 표현이 필요 없습니다. 컴퓨터가 지식을 이해하게 하기 위한 표현은 어려운 문제입니다.
2) 충분한 데이터와 적합한 알고리즘을 사용한다면 사람이 만든 모델보다 좋은 결과를 보여줄 수 있습니다.
3) 고도의 수학적 지식이나 프로그래밍 능력을 요구하지 않습니다. 기본적인 지식과 능력으로도 충분히 머신러닝을 이용할 수 있습니다.
4) 자동화가 가능합니다. 프로그램으로 머신러닝을 학습시키고 최적의 파라미터를 찾아 그 결과에 대한 평가 등을 자동화하여 진행할 수 있습니다.
5) 저렴하고 유연합니다. 데이터를 제외한 나머지 과정은 자동화가 가능하므로 저렴하게 실행할 수 있습니다.
6) 프로그램을 이용해 자신이 원하는 대로 사용할 수 있습니다.
※ 머신러닝의 단점
1) 데이터 준비에 많은 노력이 들어갑니다. 지도학습(Supervised Learning)의 경우 모든 개별 데이터에 결과치를 만들어 주어야 합니다.
2)오류 발생이 쉽습니다(Error Prone). 일반적으로 정확도가 높은 모델을 만들기가 어렵습니다.
3) 생성된 모델이 블랙박스(Black Box)이기 때문에 이를 해석하기 어렵습니다. 정확도를 높이려면 모델을 수정하거나 개선할 수 있어야 하는데, 대부분의 머신러닝 알고리즘은 학습결과로 생성된 모델을 이해하기 어렵고 모델 자체를 개선할 수 없습니다.
4) 과적합(Overfitting) 문제가 종종 발생합니다. 주어진 데이터에 너무 최적화되어 학습에 사용된 데이터는 높은 예측력(Predictive Power)을 보여주지만, 그렇지 않은 데이터에는 좋지 않은 예측력을 보여줍니다.
※ 오늘은 '머신러닝의 장.단점'에 대하여 알아보았습니다.
이 포스트는 학부에서 제공하는 기본적인 강의와 책들을 토대로 알기 쉽게 내용을 작성하였습니다. 하지만 계속 더 유익하고 논문 및 전문 서적을 읽어가며 더 추가돼야 할 내용이 있으면 인공지능, 머신러닝 포스트와 콘텐츠들을 계속 고도화하는 방식으로 진행하려고 합니다.
#인공지능 #컴퓨터공학 #AI #머신러닝 #Machinelearning #머신러닝의장단점 #데이터사이언스 #Datascience
'데이터 사이언스 > 머신러닝' 카테고리의 다른 글
[머신러닝 기초] 분류 (Classification) (0) | 2019.10.03 |
---|---|
[머신러닝 기초] 회귀 (Regression) (0) | 2019.09.28 |
[머신러닝 기초] 머신러닝이 할 수 있는 것 (0) | 2019.09.28 |
[머신러닝 기초] 머신러닝의 종류 (0) | 2019.09.28 |
[머신러닝 기초] 머신러닝이란 무엇인가? (0) | 2019.09.27 |