hyeori

01) 머신러닝 소개 본문

머신러닝

01) 머신러닝 소개

혜오리이 2024. 2. 20. 01:11

| 머신러닝의 기원

데이터를 지능적인 행동으로 변환하는 컴퓨터 알고리즘의 개발에 관심을 갖는 연구 분야를 머신러닝 이라고 한다.

머신러닝과 밀접하게 관련된 주제인 데이터 마이닝은 커다란 데이터베이스에서 새로운 통찰력을 얻는 것과 관련돼 있다. 데이터 마이닝은 실행 가능한 지능 덩어리를 체계적으로 추적한다. 머신러닝이 문제를 해결하고자 컴퓨터에게 데이터의 사용법을 가르치는 데 집중하는 반면, 데이터 마이닝은 문제를 해결하고자 컴퓨터에게 사람이 사용할 패턴을 찾도록 가르치는데 집중한다.

| 머신러닝의 사용과 남용

대용량 데이터 베이스에서 감지하기 힘든 패턴을 찾는 것은 사람보다 컴퓨터가 더 적합할지 몰라도 분석에 동기를 부여하고 결과를 의미있는 실해으로 전환하려면 아직까지는 사람이 필요하다. 요즘 머신러닝 알고리즘은 사람과 파트너가 된다.

| 머신러닝 성공 사례

알고리즘은 작업에 관계없이 데이터를 얻어 미래의 실행에 기초가 되는 패턴을 식별한다.

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

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

` 날씨의 변화와 장기 기후 변화 예측

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

` 대중 선거 결과 예측

| 머신러닝의 한계

학습한 엄격한 파라미터의 범위 밖에서는 추정의 유연성이 거의 없고 상식조차도 없다. 이런 점에 유의해서 알고리즘이 학습하는 내용을 정확하게 파악한 후 실제 환경에는 파라미터가 느슨히 설정되도록 매우 주의해야한다.

| 머신러닝의 윤리

머신러닝의 분석 결과를 무턱대고 적용하기 전에 상식을 반영해야 한다. 건강 데이터와 같은 민감한 정보는 특히 그렇다. 머신러닝은 의도치 않게 차별을 학습할 수 있다. 일반적 데이터 보호 규약 처럼 지속적으로 강화되는 법령 숙지가 필요하다.

| 기계의 학습 방법

1. 데이터 저장소: 관찰, 기억, 회상을 활용해 향후 추론을 위한 사실적 기반 제공

2. 추상화: 저장된 데이터를 넓은 표현과 개념으로 변환

3. 일반화 : 추상화된 데이터를 이용해 지식과 추론을 생성함으로써 새로운 상황에서 실행하게 만든다.

4. 평가: 학습된 지식의 효율성을 측정하고 잠재적인 개선 사항을 알려주는 피드백 메커니즘을 제공한다.

데이터과학 이란 용어는 머신러닝 프로세스를 이끄는 데이터, 기계, 사람 사이의 관계를 암시한다.

| 데이터 저장소

지식이 어떻게 관련이 있는지, 저장된 정보를 어떻게 사용할지에 대한 전략을 세우는 동안 대표적인 지식을 몇 개 암기하며 시간을 선택적으로 사용하는 것이 더 나은 접근 방법이다.

| 추상화

저장된 데이터에 폭넓은 의미를 부여하는 작업이다. 추상화된 연결은 원시 센서 정보가 의미 있는 통찰로 변환되도록 도와주는 논리 구조가 형성된 상태인 '지식 표현'의 기반이다.

새로운 지식을 산출한다 => 기저 데이터 (underlying data) 에 가정된 구조를 도입하는 것은 데이터 요소 간의 연관 관계에 대한 개념을 가정함으로써 낯선(unseen) 사실에 대한 통찰을 부여하는 것이다. 이는 데이터 요소가 서로 연계된 방식을 설명해 줄 수 있는 새로운 개념을 제시한다.

| 일반화

학습 과정의 그 다음 단계는 추상화된 지식을 미래의 행동에 사용하는 것이다. 추상화의 생성을 유용한 집합으로 국한시키지 않는다면 학습자는 더 이상 진행할 수 없을 것이다. 실행 가능한 통찰력 없이 정보량만 풍부한 학습자는 시작 지점에 멈춰 있게 된다.

일반화(generating) 란 용어는 훈련 도중 데이터에서 구성될 수 있는 전체 모델 집합을 탐색하는 것이다. 머신러닝 알고리즘은 더 빨리 검색 공간을 줄이는 지름길을 이용한다. 이런 목표를 달성하고자 알고리즘은 가장 유용한 추론을 어디서 찾을지 경험적으로 추측하는 휴리스틱(heuristics)을 사용한다.

가용성 휴리스틱이란 사례를 얼마나 쉽게 떠올릴 수 있는지에 따라 사건의 가능성을 판단하는 경향을 말한다.

머신러닝 알고리즘이 이용하는 휴리스틱도 가끔 잘못된 결론을 낸다. 결론이 체계적으로 틀린다면 알고린즘은 편향(bias) 을 가졌다고 말하고, 이는 지속적이고 예측 가능한 방식으로 잘못 됐음을 의미한다.

약간의 편향이 유용할 수도 있는 가능성을 잠시 고려해보자. 편향은 실행을 할 때 어떤 정보는 보지 못하게 하는 대신 다른 정보는 활요할 수 있게 한다. 이 방법은 머신러닝 알고리즘이 데이터를 이해하기 위한 수많은 방식 중에 선택하는 방법이다.

| 평가

편향이란 모든 학습 작업의 추상화와 일반화 과정에 근본적으로 내재돼 있는 필요악(necessary evil) 이다. 일반화 과정의 최종 단계는 편향이 있음에도 불구하고 학스자의 성공을 평가하거나 측정하고, 이 정보를 이용해 필요하다면 추가 훈련에 사용할 수 있는 것이다.

노이즈(noise) 문제로 인해 모델이 완벽히 일반화 될 수 없다. 노이즈는 데이터에서 설명되지 않거나 설명할 수 없는 변형을 지칭하는 용어다. 노이즈를 모델링하려는 시도는 과적합(overfitting) 문제의 원인이 된다.

과적합이란 미래의 행동에 있어 쓸모 없는 데이터의 패턴을 인식했다는 의미로, 일반화 과정을 실패한 것이다.

| 실전 머신러닝

1. 데이터 수집

2. 데이터 탐색과 준비

3. 모델 훈련

4. 모델 평가

5. 모델 개선

| 입력 데이터 형식

관측 단위(unit of observation)는 연구를 위해 관심 있는 측정 속성을 가진 가장 작은 개체(entity)를 지칭한다. 여러 관측 단위와 관측 단위의 속성(properties)을 저장하고 있는 데이터셋은 예시(example), 특징(features) 으로 구성되는 데이터의 모음으로 생각할 수 있다.

스팸 이메일을 식별하는 학습 알고리즘

<= 관측 단위 : 이메일 메시지, 예시 : 특정 메시지, 특징 : 메시지에 사용된 단어

데이터 셋의 특징은 다양한 형태로 나타난다.

수치 (numeric) : 숫자로 측정된 특성

범주 (categorical), 명목 (nominal) : 범주의 집합으로 이루어진 특성

서열 (ordinal) : 범주 변수의 특별한 경우

| 머신러닝 알고리즘 형식

예측 모델(predictive model) 은 데이터셋의 값을 이용해서 새로운 값을 예측할 때 사용된다. 학습 알고리즘은 목표(target) 특징과 다른 특징 간의 관계를 찾고 모델링 한다. 예측 모델을 훈련하는 과정을 지도학습(supervised learning) 이라고 한다. 지도(supervision) 이란 목표 값이 학습자가 원하는 작업을 얼마나 잘 학습했는지 파악할 수 있는 방법을 제공한다는 사실을 말한다. 좀 더 형식적으로 말하면 지도학습 알고리즘은 데이터셋이 주어지면 함수(모델)를 최적화해 목표 출력을 만드는 특징 값의 조합을 찾는다.

예제가 속하는 범주를 예측하는 지도 머신러닝 작업을 분류(classification) 라고 한다. 분류에서 예측해야할 목표 특징은 클래스(class)라고 하는 범주형 특징이며, 레벨(level) 이라고 불리는 범주로 나뉜다.

수치 값을 예측하기 위한 일반적인 수치 예측(numeric prediction) 의 형태는 선형 회귀 (linear regression) 모델을 입력 데이터에 맞추는 것이다. 서술 모델 (descriptive model) 은 새롭고 흥미로운 방식으로 데이터를 요약해서 얻은 통찰로 이득을 얻는 작업에 사용된다. 한 특징이 다른 특징보다 더 중요하진 않다. 실제 학습해야할 목표가 없기 때문에 서술 모델을 훈련하는 과정을 비지도 학습(unsupervised learning) 이라고 한다. 서술 모델은 데이터 마이닝에서 자주 사용된다.

데이터 셋을 동질 그룹 (homogeneous group) 으로 분리하는 서술 모델링 작업을 군집화(clustering) 라고 한다. 군집화는 세분화 분석(segmentation analysis) 에 사용한다.

메타학습자(meta-learners) 로 알려진 머신러닝 알고리즘 부류는 더 효과적으로 '학습하는 방법'을 학습하는데 주력한다. 이 는 추가 학습 정보를 이해 과거 학습의 결과를 이용한다. 이 방법은 앙상블(ensemble) 이라 불리는 팀으로 작동하는 머신러닝과 강화학습(reinforcement learning) 이라 불리는 시간에 따라 진화하는 알고리즘을 포함한다. 메타학습은 아주 어려운 문제나 예측 알고리즘의 성능이 최대한 정화해야 할 때 유용하다.

적대적 학습(adversarial learning)은 모델의 약점을 학습해 미래에는 해당 성능을 강화하기 위한 것이며, 이를 통해 악의적 공격을 방어하기 위한 것이다. 앙상블은 고성능 컴퓨터나 클라우드 컴퓨팅 환경을 사용해 대규모 데이터셋을 모델링할 수 있다.

| 입력 데이터와 알고리즘 매칭

지도학습 알고리즘
K-최근접 이웃(K-Nearest Neighbor)
분류
나이브 베이즈(Naive Bayes)
분류
의사 결정 트리(Decision Trees)
분류
뷴류 규칙 학습자(Classification Rule Learners)
분류
선형 회귀(Linear Regression)
수치 예측
회귀 트리(Regression Trees)
수치 예측
모델 트리(Model Trees)
수치 예측
신경망(Neural Networks)
겸용
서포트 벡터 머신(Support vector Machines)
겸용
비지도학습 알고리즘
연관 규칙(Association Rules)
패턴 감지
K-평균 군집화(K-means Clustering)
군집화
메타학습 알고리즘
배깅(Bagging)
겸용
부스팅(Boosting)
겸용
랜덤 포레스트(Random Forests)
겸용