머신러닝의 정의
머신러닝이란 컴퓨터가 데이터를 통해 스스로 유의미한 학습을 할 수 있도록 프로그래밍하는 과학이자 예술 분야이다.
또 다른 정의.
프로그래밍을 완전히 디테일하게 하지 않더라도, 컴퓨터가 스스로 배울 수 있도록 설계하는 분야다.
좀 더 공학적인 정의
A computer program is said to learn from experience E with respect to some task T and some performance measure P, if its performance on T, as measured by P, improves with experience E.
이 정의는 예시가 좀 필요하다.
머신러닝의 대표격으로 불리는 스팸 이메일 분류 프로그램이 있다고 치자.
1. 스팸 필터는 다양한 스팸메일의 예시를 보고 일반적인 메일에서 스팸을 필터링하는 방법을 배울 수 있는 머신러닝 프로그램이다.
2. 여기서 쓰인 예시 스팸메일들이 training set이라고 불리고, 개별의 데이터를 sample이라고 부른다.
3. 이 스팸메일 가 해야 하는 업무는 Task T로 정의되고, sample 혹은 training data는 Experience E로 정의될 수 있다.
4. 여기서 Performance P는 이 프로그램이 얼마나 업무를 잘하고 있는가 평가를 내린 지표다.
머신러닝의 장점
인간이 인식한 것들을 통해서 프로그램을 짜게 되면, 사실상 인간이 할 수 있는 일의 수준에서 자동화를 이뤘다는데에서만 의의가 있다.
스팸을 예시로 들면, 스팸메일이라고 특정할 수 있는 요소는 사람이 인식하는 것보다 사실상 더 많을 수도 있다. 그러면 프로그램은 여전히 그러한 인식적 한계를 갖을 뿐만 아니라, 스팸 제조자가 계속해서 새로운 방식을 만들게 될 경우 프로그램은 계속해서 프로그램을 영원히 업데이트해야 한다.
또 인간이 인식한 만큼 계속해서 프로그램은 복잡해진다. 프로그램은 무거워지고, 유지하기가 어려워지게 된다.
머신러닝은 이에 반해, 몇 줄의 코드만으로 어떤 요소가 스팸으로 인식되게 하는지를 스스로 학습해 분류하거나 다양한 머신러닝 기술을 사용하므로써, 프로그램은 훨씬 심플해지고 유지하기가 쉬워질 뿐 아니라, 인식적 한계를 지니지 않고 보다 정확한 판단을 내릴 수 있게 되고, 새롭게 나오는 스팸 용어들이 나오더라도 이러한 요소들을 스스로 학습해 스팸 필터링 기술을 업데이트하게 되는 것이다.
요약하자면, 머신러닝은 자동화의 끝판왕이라고 할 수 있다.
머신러닝에서 사람이 다시 배운다.
머신러닝을 통해 새롭게 분류한 패턴들을 사람에게 드러냈을 때, 사람의 인식 상에서는 알 수 없었던 다양한 사실들을 마주하게 되는 것이다. 과거에는 몰랐지만, 머신러닝을 통해서 기계가 알게 된 것을 다시 학습하게 되는 것이다.
이러한 과정을 "데이터 마이닝" 이라고 한다.
'Mathematics > Machine Learning' 카테고리의 다른 글
머신러닝 결과를 나쁘게 하는 것 (0) | 2022.01.17 |
---|---|
사례기반 vs 모델 기반 머신러닝 (0) | 2022.01.17 |
배치 학습과 온라인 학습 (0) | 2022.01.17 |
머신러닝의 종류(2) - 비지도학습 (0) | 2022.01.16 |
머신러닝의 종류(1) - 지도학습 (0) | 2022.01.16 |