
머신러닝이란 ?
머신러닝의 개념은 다양하게 표현할 수 있으나, 일반적으로는 애플리케이션을 수정하지 않고도 데이터를 기반으로 패턴을 학습하고 결과를 예측하는 알고리즘 기법을 통칭한다. 현실 세계의 매우 복잡한 조건으로 인해 기존의 소프트웨어 코드만으로는 해결하기 어려웠던 많은 문제점 들을 머신러닝을 이용해 해결해 나가고 있다.
많은 책들은 스팸메일 필터링을 대표적인 예로 많이 소개하고 있다.
스팸 메일은 단순히 특정 단어만으로 스팸이라고 분류하기 힘들다. 가령 '새끼' 라는 단어가 들어간다면 문맥상 이것은 사전적 정의인 '짚으로 꼬아 만든 줄' 이거나 '어린 짐승'을 뜻하는 것일수도 있기 때문에 문맥을 판단해서 패턴을 규정해야 하기 때문에 이 패턴을 규정하기 매우 어렵다.
하지만 머신러닝은 이러한 문제를 데이터를 기반으로 숨겨진 패턴을 인지해 해결한다.
데이터를 기반으로 통계적인 신뢰도를 강화하고 예측 오류를 최소화하기 위한 다양한 수학적 기법을 적용해 데이터 내의 패턴을 스스로 인지하고 신뢰도 있는 예측 결과를 도출해 낸다.
머신 러닝의 분류
머신러닝은 지도학습, 비지도 학습, 강화학습으로 크게 3가지로 나뉜다.
이 중 지도학습은 분류와 회귀가 대표적인데, 여기서 이 두가지를 중점적으로 다룬다.
머신러닝의 가장 큰 단점은 데이터에 매우 의존적이라는 점이다. 가비지 인 가비지 아웃처럼 쓸모없는 데이터들만 넣는다면 그 데이터만을 갖고 분석을 하기 때문에 좋은 데이터가 나올수가 없다는 점이다.
예를들면, 신용카드 사기에 대한 머신러닝을 하고 싶은데 데이터가 전부 신용카드 거래가 정상인 건들을 넣는다면
해당 기계는 사기에 대한 데이터를 접해 본적도 없기 때문에 신용카드 사기 머신러닝이라는 학습은 애초에 성립 되지 않는다. 따라서 머신러닝을 함에 있어서 데이터를 이해하고 효율적으로 가공, 처리, 추출하는 것은 꼭 필요한 능력이다.

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!