RUBY

[R] 1. 머신 러닝 소개_머신 러닝 기원/머신 러닝 사례/머신 러닝 윤리/기계학습 방법/R을 활용한 머신 러닝 본문

STUDY/R을 활용한 머신러닝

[R] 1. 머신 러닝 소개_머신 러닝 기원/머신 러닝 사례/머신 러닝 윤리/기계학습 방법/R을 활용한 머신 러닝

RUBY_루비 2020. 8. 19. 00:00

-머신 러닝의 기원과 실용적인 응용

-컴퓨터가 데이터를 지식과 실행으로 변환하는 방법

-머신 러닝 알고리즘을 데이터에 매칭하는 방법


 

머신 러닝의 기원

인간은 태어나면서부터 데이터가 범람하기 시작하고 문자의 출현으로 인간의 관측이 기록되기 시작했다. 또한 전자센서의 발명으로 양적,질적 측면에서도 데이터가 기록되기 시작했다.전자 센서는 절대 쉬지않으며 판단이 인식을 왜곡하지 않는다.

데이터의 쇄도로 ‘빅데이터’시대로 접어든다고 하지만 이는 부적절하다. 현대의 차별점은 방대한 양의 기록데이터가 있다는 것과 컴퓨터로 직접 접근할 수 있다는 점이다.

머신 러닝은 데이터를 지능적인 실행으로 변환하는 컴퓨터 알고리즘의 개발에 관심을 갖는 연구분야이다. 가용데이터, 연산 능력, 통계적 방법이 필요하다. 데이터 마이닝은 커다란 데이터베이스로부터 새로운 통찰력을 만드는 것이다. 이들의 차이점은 전자는 문제 해결을 위해 컴퓨터에게 데이터의 사용법을 가르치는 것이고 후자는 문제 해결을 위해 컴퓨터에게 사람이 사용할 패턴을 찾게 가르치는데 집중하는 것이다. 모든 데이터 마이닝은 머신 러닝을 사용하지만 모든 머신 러닝은 데이터 마이닝을 포함하지 않는다.

 

머신 러닝 성공사례

머신 러닝은 주제에 관련된 전문가의 전문적인 지식을 대체하기 보다 증가 시킬 때 성공적이다.

성공사례

-이메일에서 원치 않는 스팸 메시지를 식별

-타깃 광고를 위한 고객 행동 세분화

-날씨의 움직임과 장기 기후 변화 예측

-사기성 신용카드 거래의 축소

-폭풍과 자연재해로 인한 재정적 피해에 대한 보험 통계적 추정

-보통 선거 결과의 예측

-자동 조종 드론과 자율주행 자동차를 위한 알고리즘 개발

-가정과 사무실 건물의 에너지 효율 최적화

-우범 지역 예상

-질병 관련 유전자 서열의 발견

 

머신 러닝의 한계

 

머신 러닝은 일정한 파라미터의 범위 밖에서는 추정의 유연성이 거의 없고 상식도 없다. 또한 과거의 경험을 쌓을 수 있는 생애가 없다면 논리적인 다음 단계를 상식으로 추론할 수 있는 능력에 한계가 생긴다. 사람들이 언어를 이해하거나 번역하거나 음성과 필기체를 인식하는 머신 능력의 부족을 인지하고 있으며 그 예로는 애플의 최첨단 필기체 인식이 있다.

 

머신 러닝의 윤리

머신 러닝의 핵심은 단순히 세상의 복잡한 데이터를 이해하게 도와주는 툴이다. 선과 악이 모두 적용될 수 있으므로 ‘don’t be evil’ ‘above all, do no harm’ 원칙을 가지고 적용해야 한다. 즉, 머신 러닝은 분석 결과를 무턱대고 적용하기 전에 상식을 반영해야 한다. 머신 러닝 분석으로 발견한 패턴을 노출할 때 방법의 선택에 더 신중해야 한다. 어떤 구역에서는 인종, 민족, 종교 및 보호 계층 데이터의 사용을 금지할 수 있다. 이런 정보를 머신 러닝이 독립적으로 학습할 수 있기 때문에 분석 시에 이러한 데이터를 제외하는 것만으로 충분하지 않다. 보호된 정보 외에 잠재적인 식별 데이터도 제외하여 사람들이 완전히 ‘식별되지 않게’ 할 필요가 있다. 자신이 맡은 일이 문화적으로 내포하는 의미에 대해 생각해보아야 한다.

 

기계의 학습 방법

톰 미첼은 ‘머신 러닝’을 ‘미래에 비슷한 경험에 대해 성능이 향상되는 것과 같이, 기계는 자신의 경험을 활용할 수 있을 때마다 학습을 한다’ 고 정의하였다. 이것은 직관적이지만, 경험이 미래의 실행으로 어떻게 변환될 수 있는지를 무시하고 있다. 학습과정은 네 개의 구성요소로 나누어지고,전체 학습과정은 상호 연관되어 있다. 데이터저장소, 추상화, 일반화, 평가 네가지 요소로 구성된다.

첫 번째로 데이터 저장소는 관찰, 기억, 회상을 활용해 향후 추론을 위한 사실적 기반을 제공한다.

두번째로 추상화는 저장된 데이터를 넓은 표현과 개념으로 변환한다. 저장된 데이터에 의미를 부여하는 작업은 추상화 과정 중에 일어나고, 추상화를 통해 원시 데이터는 좀 더 추상적인 의미를 가지게 된다. 추상화된 연결은 원시 센서 정보가 의미 있는 통찰로 변환되게 도와주는 논리 구조가 형성된 지식 표현의 기반이다. 기계의 지식 표현 과정에서 컴퓨터는 저장된 원시 데이터를 모델을 이용해서 요약한다. 모델은 데이터 안의 패턴을 명시적으로 표현한 것이다. 모델을 데이터셋에 맞추는 과정을 훈련이라고 한다. 모델이 훈련되었을 때 데이터는 원래의 정보를 요약한 추상화된 형태로 변환된다. 학습된 모델은 새로운 데이터를 제공하지 않지만, 새로운 지식을 산출한다. 기저데이터에 가정된 구조를 도입하는 것은 데이터 요소 간의 연관 관계에 대한 개념을 가정함으로써 보이지 않는 것에 통찰을 부여하는 것이다.

다음으로, 일반화는 추상화된 데이터를 이용해 지식과 추론을 생성함으로써 새로운 상황에 실행을 하게 만든다. 비슷하지만 같지는 않은 직업에 대해 추상화된 지식을 미래의 실행에 활용할 수 있는 형태로 변환하는 과정이다. 데이터로부터 수립할 수 있는 모든 가능한 이론이 포함된 가설집합을 생각할 수 있다면 일반화는 이 집합을 처리할 수 있는 개수만큼 중요한 발견으로 축소한다. 학습자는 발견된 패턴을 미래의 작업에 가장 적합한 패턴들로 제한하는 작업을 맡는다. 가장 유용한 추론을 어디서 찾을지 경험적으로 추측하는 알고리즘은 휴리스틱이고 근사와 경험 규칙을 활용하기 때문에 최고의 모델을 유일하게 찾는 것을 보장하지 못한다. 상황이 충분히 파악되기 전에 직감을 이용하게 빠르게 결정을 내린 적이 있다면 직관적으로 정신적 휴리스틱을 사용한 것이다. 가용성 휴리스틱이란 사례를 얼마나 쉽게 떠올릴 수 있는 지에 따라 사건의 가능성을 판단하는 경향을 말한다.편향은 실행을 할 때 어떤 정보는 보지 못하게 하는 대신 다른 정보는 활용할 수 있게 한다.

마지막으로 평가는 학습된 지식의 효율성을 측정하고 잠재적인 개선 사항을 알려주는 피드백 메커니즘을 제공한다. 일반화 과정의 최종 단계는 편향이 있음에도 불구하고 학습자의 성공을 평가하거나 측정하고, 이 정보를 이용해 필요하다면 추가 훈련을 통지하는 것이다. 몇몇은 잡음 문제로 모델이 완벽히 일반화될 수는 없다. 잡음은 데이터에서 설명되지 않거나 설명할 수 없는 변형을 나타내는 용어이다. 잡음을 모델링하려고 하면 과적합 문제가 발생한다.

실제 머신 러닝은 다섯 단계로 이루어진다. 데이터 수집, 데이터 탐색과 준비, 모델 훈련, 모델평가, 모델 개선 순이다.

머신 러닝을 실제 문제에 적용하기 전에 입력 데이터 셋을 구별해야 한다. 데이터 셋은 관측단위와 관측단위의 속성을 저장한다. 관측단위란 학습을 하기 위해 관심 있는 측정 속성을 갖는 가장 작은 엔티티를 설명하는데 사용된다. 예측 모델은 데이터셋의 값을 이용해서 새로운 값을 예측할 때 사용된다. 예측 모델이 반드시 미래의 사건을 예견할 필요는 없다. 이것은 학습대상과 학습 방법에 대한 명확한 지침이 주어지기 때문에 예측 모델을 훈련하는 과정을 지도학습이라고 한다. 지도는 인간의 개입을 말하는 것이 아니라, 목표 값이 학습자가 원하는 작업을 얼마나 잘 학습했는 지 파악할 수 있는 방법을 제공한다. 예제가 속하는 범주를 예측하는 지도 머신 러닝 작업을 분류하고 한다. 분류에서 예측해야 할 목표 특징은 클래스라고 하는 범주형 특징이며, 레벨이라 불리는 범주로 나뉜다. 클래스는 두 개 이상의 레벨을 가질 수 있으며 , 레벨은 순위이거나 아닐 수 있다.

지도학습자는 수치데이터를 예측 하기 위해서 사용할 수 있는데 이것의 형태는 선형 회귀 모델을 입력 데이터에 맞추는 것이다. 회기 모델은 수치 모델의 유일한 유형은 아니지만 광범위하게 사용되고 있고 회기 방법은 관계의 크기와 불확실성을 모두 포함해 입력과 목표 간의 연관성을 정량화 하기 때문에 광범위 하게 사용된다.

서술 모델은 새롭고 흥미로운 방식으로 데이터를 요약해서 얻은 통찰로 이득을 얻는 작업에 사용된다. 서술모델을 훈련하는 과정을 자율 학습이라고 한다. 예를 들어 패턴 발견이라고 하는 서술 모델링 작업은 데이터 내에서 유용한 연관을 찾아내는데 사용된다. 데이터셋을 동질그룹으로 분리하는 서술 모델링 작업을 군집화(clustering)이라고 한다. 비슷한 행동이나 비슷한 인구학적 정보를 갖는 개인을 그룹으로 식별하여 광고 캠페인이 특정 관중에게 잘 맞게 세분화 분석을 하는데 사용한다. 메타학습자는 특정학습 작업에 국한되는 것이 아니라 효과적으로 학습하는 방법을 학습하는데 주력한다.

머신러닝을 프로젝트에 적용시키기 위해서는 classification, numeric prediction, pattern detection, clustering 중 작업을 결정해야한다. 예를 들면, 패턴 감지를 수행하고 있다면 association rules, clustering문제는 k평균 알고리즘, numeric prediction은 regression analysis나 regression tree를 이용할 것이다. 각자의 장점을 활용한 알고리즘을 선택해야한다.

 

 

<참고문헌>

브레트 란츠, 윤성진 옮김, 『R을 활용한 머신러닝』, 에이콘출판주식회사(2017), p31-p63.

Comments