본문 바로가기

나의 미래 일의 미래/인공지능 지질학 우주학 에너지

머신 러닝의 정의

머신러닝의 정의


머신 러닝이라는용어는 IBM의 인공지능분야이었던 아서 사무엘이 자신의 논문에서 처음 사용했다.

여기서 머신 MACHINED이란 프로그래밍 가능한 컴퓨터를 말한다.


머신러닝은 3가지 접근법으로 연구가 진행됬다.




첫번째가 신경 모형 패러다임이다.

신경 모형은 퍼셉트론에서 출발해서 지금은 딥러닝으로 이어지고 있다. 두번째는 심볼 개념의 학습 패러다임이다. 이 패러다임은 숫자나 통계이론대신 논리학이나 그래프구조를 사용하는 것으로 1970년대 중반부터 1980년대 후반까지 인공지능의 핵심적인 접근법이었다. 세번째는 현대 지식의 집약적 패러다임이다. 1970년대 중반부터 시작된 이 패러다임은 백지 상태에서 학습을 시작하는 신경모형을 지양하고 이미 학습된 지식은 재활용해야 한다는 이론이 대두되면서 시작됐다.


1990년대에 들어서면서 컴퓨터의 학습 방법론에 중점을 뒸던 기존의 접근법보다는 실생활에서 필요한 문제를 해결할 수 있는 실용적인 머신러닝 연구가 주류를 이뤘다. 90년대의 머신러닝 패러다임은 컴퓨터를 이용한 통계학에 가까웠다. 통계학 관점에서 데이터를 분석하는 데이터 마이닝과 이론적으로 많은 부분을 공유했으며, 급격히 발전된 고성능 컴퓨터의 보급과 인터넷의 확산으로 인한 디지털 테이터의 손쉬운 확보도 이러한 움직임에 많은 영향을 끼쳤다.


카네기멜론 대학교의 톰 미첼 교수는 자신의 저서 "머신러닝"에서 러닝, 즉 학습의 정의를 다음과 같이 내렸다.


"만약 컴퓨터 프로그램이 특정한 태스크 T를 수행할 때 성능 P만큼 개선되는 경험 E를 보이면 그 컴퓨터 프로그램은 태스크 T와 성능 P에 대해 경험 E를 학습했다라고 할 수 있다."


예를들어, 컴퓨터에 필기체를 인식하는 학습을 시킨다고 했을 때


 - 테스크 T - 필기체를 인식하고 분류하는 것

 - 성능 P - 필기체를 정확히 구분한 확률

 - 학습 경험 E - 필기체와 정확한 글자를 표시한 데이터세트


컴퓨터가 새롭게 입력된 필기체를 분류할 때(T), 미리 만들어진 데이터세트로 학습한 경험을 통해 (E) 정의된 학률 수준으로 필기체를 인식하면 (P) 컴퓨터는 학습을 했다라고 말할 수 있다.


한편, 실무적인 관점에서 러닝, 즉 학습의 정의는 다음과 같이 설명할 수 있다.


학습 Learning = 표현 representation + 평가 evaluation + 최적확 optimization


여기서 표현은 어떤 테스크를 수행하는 에이전트가 입력값을 처리해 어떻게 결과값을 만들지를 결정하는 방법을 말한다. 예를 들면, 필기체 아라비아 숫자가 실제로 어떤 숫자를 의미하는지를 예측하는 논리 모형을 말한다. 평가는 에이전트가 얼마만큼 태스크를 잘 수행했는지 판정하는 방법을 말한다. 예를 들면, 최소제곱법과 같이 동일한 기준으로 정량화된 결과값과 실제값의 차이를 제곱해서 모두 더한 값을 가지고 태스크의 수행 정도를 판단하는 방법이다. 최적화는 평가에서 설정한 기준으로 평가한다면 경사감소법등과 같은 방법으로 최적 조건을 찾는다. 최적화 과정이 끝나면 학습 모델에 사용된 가중치가 결정된다. 이를 두고 학습이 완료되었다고 한다. 참고로 여러 가지 방법에 의해 학습이 완료된 후, 새로운 데이터에 대한 에측을 하는 것을 일반화라고 한다.


머신러닝은 종종 데이터 마이닝과 혼용되기도 하는데, 그 이유는 아마도 머신러닝에서 사용하는 분류나 군집 같은 방법을 데이터 마이닝에서도 똑같이 사용하기 때문일 것이다. 즉, 분류나 예측, 군집과 같은 기술, 모델, 알고리즘을 이용해 문제를 해결하는 것을 컴퓨터과학 관점에서는 머신러닝이라고 하고, 통계학 관점에서는 데이터 마이닝이라고 한다. 이러한 현상이 발생한 계기는 1990년대에 들어서면서 실용적인 머신러닝 연구를 위해 통계학에서 다루고 있는 사레들을 컴퓨터 과학자들이 컴퓨터를 이요해 좀 더 효율적인 해결 방안을 찾아내는 과정에서 비롯됐다고 할 수 있다.

머신러닝과 데이터 마이니의 차이점을 굳이 설명하자면 데이터 마이닝은가지고 있는 데이터에하는서 현상 및 특성을 발견하는 것이 목적인 반면, 머신러닝은 기존 데이터를 통해 학습을 시킨 후 새로운 데이터에 대한 예측값을 알아내는 데 목적이 있다라고 할 수 있다.




머신러닝의 분류


머신러닝은 학습 데이터에 레이블이 있는 경우와 그렇지 않은 경우에 따라 각각 지도학습과 비지도학습으로 구분한다.

레이블이라는 것은 학습 데이터의 속성을 우리가 분석하고자 하는 관점에서 정의하는 것.

예를 들어, 우리 주변에 있는 사물들을 찍은 사진 속에서, 어떤 사물들이 있는지를 구별하는 태스크가 있다고 하면 가지고 있는 사진들을 학습 데이터라고 하고 사진 속에 있는 사물을 '컵' '책상' '자전거' '고양이' 라고 미리 정의해 놓는 것을 레이블이라고 한다.


레이블은사람이 사진을 보고 정의한것이기때문에 그러한 레이블된 사진을 읽어서 학습을하는 컴퓨터 입장에서는 사람으로부터 지도를 받은것이 된다. 반면 입력 데이터에 레이블이 없다면 컴퓨터가 사람으로부터 지도를 받은 것이 없기 때문에 비지도학습이라고 한다. 지도 학습에는 분류와 에측 모델이 있고, 비지도학습은 군집 모델이 있다.


분류 모델에는 알고리즘에 따라 여러 가지 모델로 나눠는데, 그중에서 kNN, 서포트 백터 머신, 의사결정 트리 모델이 대표적이다. 예측 모델에서는 대료적인 것이 회귀 모델이다. 머신러닝에서 예측 모델은 일반적으로 회귀 모델을 사용하기 때문에 회귀 모델을 흔히 예측 모델로 인지하기도 한다.


분류와 회귀는 둘 다 지도학습 모델이기 때문에 레이블이 있는 입력데이터로 학습한다는 공통점이 있다. 한편으로 분류와 회귀의 차이점은 분류는그 결과값이 고정돼 있고, 회귀는 그 결과값이 데이터세트의 범위 내 어떤한 값도 가능하다는 것이다. 즉, 분류의 결과값은 학습 데이터세트에 포함된 레이블 중 하나이고 회귀의 결과값은 학습 데이트세트로 결정된 함수식으로 계산한 임의의 값이다.


조금 더 구체적으로 설명하면 분류 모델은 그 목적이 그룹명이 적힌 학습 데이터로 학습한 후 새로 입력된 데이터가 속한 그룹을 찾아내는 것이어서 분류 모델의 결과값은 학습 데이터의 레이블 중 하나여야 한다. 예를 들면, a,b,c 레이블로 구성된 데이터세트가 있다고 하면 분류 모델의 결과값은 a,b,c 3개 중 하나다. 참고로 분류디는 그룹의 수가 2개인 경우 이진 분류 또는 이항분류라고 하고 3개 그룹 이상인 경우에는 다항 분류라고 한다.


회귀모델의 경우에는 레이블된 학습 데이터를가지고 특성과 레이블의 관계를 함수식으로 표현하는 것이 목적이다. 함수식을 사용하는 회귀 모델에서는 a,b,c와 같이 유한 개의 결과값이 나오지 않고, 데이터세트 범위 내 어떤한값도 나올 수 있다. 이러한 의미로 회귀를 결과값이 a,b,c 중 하나로 예상 가능한 분류가 아니라 어떤 값이 나올지 예상하지 못하기 때문에 예측 모델이라고 한다.


만약 분석하고자 하는 문제의 결과가 사전에 몇 가지경우로 고정되지않고, 어떠한 결과값도 가능한 경우네는 일반적으로 선형 회귀 모델을 이용한다. 예를 들면 주가 분석과 같이 연속적인 범위 내에 결과값을 예측하는 문제에 적용할 수 있다.


한편 회귀 모델도 분류와 같이 몇 가지 범주형 결과값을 예측하는 경우에 적용할 수 있다. 이 경우의 회귀 모델을 로지스틱 회귀라고 한다. 로지스틱회귀는 's' 모양을 보이는 로지스틱 함수 또는 시그모이드 함수를 이용하기 때문에 입력 데이터를 (0,1)의 경제를 가지고 이진 분류하는 데 탁월한 성능을 보인다.


군집 모델은 학습 데이터가 레이블을 가지고 있지않은 경우이므로 입력된 데이터들이 어떤 형태로 그룹을 형성하는지가 관심사다. 

즉, 레이블 없이 확보된 데이터의 특성을 분석해서 서로 유사한 특성을 가진 테이더끼리 그룹화하는 것이 군집 모델의 학습 목표다. 레이블이 없다는 것을 빼고는 군집 모델은 시도 학습의 분류 모델과 그 목적이 동일하다. 즉, 군집 모델은 레이블이 없는데이터를 분류하는 것이다.


군집 모델이 적용되는 분야는 매우 다양하다. 예를 들면, 전화기에서 통화 음질을 개선하기 위해 사람 목소리와 노이즈를 구별하는 것은 레이블이 없는 데이터를 구별하는 군집 모델이잘 들어맞는 사용 예다. 의학 분야에서 임상실험을 할 때 질병군과 환자군을 구별할때도 군집 모델을 사용하고, 마케팅에서도 고객을 세분화할 때도 군집 모델이 사용된다.


군집 모델은군집화 알고리즘 관점에서 크게 2가지 모델로 나눌 수 있다. 첫번째가 평할 또는 분할 기반의 군집 기법이고 두 번째가 계층적군집 모델 방법이다. 분할 기반 군집 모델에는 k-means, k-medoids, DBSCAN이 대표적이다. 계층적 군집은 병합적 군집과 분할 적 군집으로 구별된다.


어떤 머신러닝전문가는 특성에 대해 지금까지 너무과소평가된 경향이있다고 하면서 좋은 알고리즘보다적절한 특성의 선정이 효과적인 머신러닝을 만드는데 더 중요하다고 말하기도 한다.


콜레라를 멈추게 한 160년 전의 머신러닝


19세기 중엽 영국 런던 및 뉴캐슬 지역에서는 극심한 콜레라로 약 만여명이 목숨을 잃었다. 당시 산업혁명의 여파가 영국 전역으로 확산되면서 농촌지역에서 도심지로 엄청난 인구가 유입됐다. 공업화가 급속히 진행되면서 공장에 필요한 대규모의 노동력이 필요했던 것이다.


그러나 도시의 상하수도 및 위생 시설은 그러한 급격한 인구 팽창을 감당하기엔 턱없이 부족했다. 이러한 환경에서 주민들은 콜레라가 어떤 질병이며, 어떻게 발병되고 전염되는지도 모른 채 3-4년 주기로 발생하는 대규모 역병에 많은 피해를 입어야 했다.


당시 런던 주민들의 배설물과 하수는 위생처리되지 않은 채 고스란히 템스강으로 흘려보내졌고, 런던의 상수도 시설은 주변의 얕은 우물에 고여있는 물을 아무런 정화과정 없이 그대로 모아서 런던 시민에 공급하는 매우 열악한 시스템이었다.



1853년 런던에 다시 콜레라 역병이 크게 돌았다. 

특히 런던 서쪽에 위치한 소호지역에는 런던의 환경위생 시설이 미치지 못한 곳이었는데, 이곳에서의 콜레라 피해는 당시 다른 지역보다 더욱 심했다. 가장 상황이 나빴을 때는 2주 동안 550명이 죽어 나가기도 했다. 그럼에도 런던 당국은 뚜렷한 해결 방안을 찾지 못하고 상황을 지켜볼 수 밖에 없었다.


런던 시내가 콜레라의 피해로 극심한 열병을 알고 있을 때, 영국의 외과 의사인 존스노 박사는 런던 인근에서 가장 사망자가 많이 발생한 소호 지역에 거주하고 있었다. 그는 당시 많은 사람들이 믿고 있었던 '콜레라는 공기를 통해 전염된다'는 사실에 의구심이 있었다. 1854년 8월 결국 그는 직접 콜레라 원인을 밝혀내리라 결심한다.


그의 연구는 직접 소호 지역을 돌면서 눈으로 확인하고 주민들과의 인터뷰를 통해 정보를 수집하는 것으로 시작됐다. 스노 박사가 기록한 것은 날짜별 발병자 수, 날짜별 사망자 수, 사망자 발생 장소,지하수용 펌프의 위치 등이었다. 그는 콜레라의점염은 오염된 공기가 아닌 물이라고 결론 내리고 특히 브로드 스트리트에 있는 펌프a에 문제가 있음을 주목했다. 1854년 9월 그는 런던 시 의회에 당장 펌프a의 사용을 금지할 것을 요청한다. 시 의회는 그의 요청을 받아들여 펌프a의 사용을 금지했고 이후 콜레라는 더 이상 확산되지 않았다.


존 스노 박사는 당시 종이와 펜을 가지고 다니면서 '현황을 기록'하는 것으로 사람의 생명을 무자비하게 앗아갔던 콜레라 전파를 막았다. 스노의 작업은 최초의 역학 조사였던 것이다. 역학의 질병의 분포와 확산 경로, 질병의 인자를 알아내는 것으로 현대 의학에서 매우 중요한 역할을 하는 학문이다.


콜레라 지도를 토대로 스노 박사가 작성한 표는 머신러닝 기법 중에서 국집에 해당한다.

이처럼 통계적 방식의 머신러닝은 기록된 데이터를 합산하고 평균을 내고 공통점을 차이점을 찾는 것으로 시작됐다.