본문 바로가기
머신러닝(ML)

머신러닝(Machine Learning) 이란?

by KwonSoonBin 2021. 9. 19.

머신러닝

데이터 과학의 한 영역, 예측과 패턴 분석(Prediction & Pattern Analysis)으로 이루어져 있다.

컴퓨터가 데이터로 부터 스스로 규칙과 패턴을 찾아 스스로 학습할 수 있도록 프로그래밍하는 과학적인 활동

(현상,실제문제, 가설-> 검증해 나아가는 과정)

현실의 문제를 해결해 나아가는 과정이며 의사결정을 지원하고 수익화를 극대화 시키는데 그 목적이 있다.

 

머신러닝이 필요한 상황

  • 수작업, 긴 규칙, 규모가 큰 작업 : 인간이 관리하기 어렵고, 맡은 관리자가 다른 사람으로 대체되기 어렵다는 한계
  • 전통적인 접근 & 잘 작동하지 않는 경우
  • 새로운 데이터를 적용해야 할 때 : 시간이 지남에 따라 끊임없이 다양하고 새로운 데이터가 쌓이며, 조건과 환경이 변한다. 이에 따라 새로운 규칙과 패턴이 만들어져야 한다.

 

전통적인 접근법

  • 문제파악,정의 - 규칙작성 - 평가(not working->1번) - 서비스 도입
  • (많은 자원과 시간 소비빠른 대처 불가능)

 

머신러닝 접근법

  • 문제파악,정의 - 머신러닝 모델 학습 - 평가(if not working -> 에러확인 문제 반영 후 1번으로 ) - 서비스 도입 - 데이터 업데이트(머신러닝 모델 학습, 2번)
  • 전통적인 접근법과 가장 큰 차이점은 데이터 업데이트 과정이 있다는 점이다.

 

머신러닝을 위한 과학자의 도구

크게 R과 파이썬으로 나뉜다. 하지만 파이썬을 기본으로 시작하는 것을 추천한다.

파이썬은 범용적, 속도 빠름, 적용 쉬움, 다양한 기능(라이브러리), 딥러닝을 위한 다양한 프레임 워크를 제공한다.

 


 

<이상적인 머신러닝 업무 프로세스>

 

1.문제파악, 정의 - 2.데이터 준비 - 3.모델 구축 & 평가 - 4.결과 공유

 

1. 문제파악,정의

머신러닝 프로젝트를 시작할 때 해결해야 하는 비즈니스 문제를 명확하게 먼저 정의 (비즈니스 문제 파악 - 머신러닝 문제로 전환 - 머신러닝 도입 가능성 . 필요성 검토 - 효과검증 설계)

( ※ 효과검증 설계란 :머신러닝 도입에 따른 효과 검증 프레임워크를 말한다. )

 

  • 문제정의 : 사용자의 서비스 재방문율(Retention) 을 높이고 싶다.
  • 가설설정 : 사용자가 서비스를 이탈할 것 같은 시점에 프로모션/혜택을 제공하여 재방문하게 한다.
  • 해결방안 : 서비스 이탈 예측 모델을 개발한다.
  • 효과검증 : 사용자의 재방문율이 증가했는지 확인한다.

2. 데이터 준비

데이터 준비 이전에 생각해야 할 것들..

준비한 데이터로 해결이 가능한지?실제 효용이 있는 데이터인지?

아무리 좋은 알고리즘이나 모델, 방법을 사용하더라도, 준비한 데이터 자체가 문제해결에 도움이 안되는 데이터라면 좋은 결과를 얻을 수 없다.

 Garbage input -> Garbage output  좋지 않은 데이터를 넣으면 결과는 뻔하다.

 

Data preparation pipe line (데이터 준비 순서,단계)

1. Data

2. Data acquisition - ( SQL에서 정제 or 엔지니어가 처리된 파일을 수집, 획득)

3. Data preprocessing - 컴퓨터가 좀 더 잘 받아들일 수 있는 형태로 data를 가공하는 작업입니다.

4. Feature engineering - 도메인 지식을 활용하여 머신러닝 알고리즘이 학습을 잘 진행할 수 있도록  preprocessed data를 변환하는 작업, 머신러닝이 더 높은 예측 하기 위함

 

머신러닝의 개념

Data : 현실 세계의 어떤 현상을 관찰하여 기록한 것.

 - 특징 : 

  • Facts : 객관화된 자료, 같은 결과, 신뢰할 수 있는 자료
  • No meaning : 데이터 자체를 의미가 없음, 가치가 있으려면 중간에 context 정보가 필요함
  • Representation of real world : 실제 세상을 표현, 표상

Feature : 데이터를 컴퓨터가 이해할 수 있도록 수치 또는 디지털로 표현/표상 한 것, 요인 & 변수라고도 한다.

ex)티켓을 컴퓨터가 이해할 수 있도록 디지털 형태(숫자)로 표현 표상한다.

 

Feature type

  • Numerical : (숫자) 나이 키 가격.
  • Catregorical : (범주) 학급 직업 성별.

★★★

Feature , 요인이 많고 다양하다고 해서 성능이 좋아지지만은 않는다. 나쁜 feature은 오히려 복잡도를 높이고 타 데이터의 중요도를 낮게 평가되기도 함, 머신러닝의 성능을 떨어뜨리는 요인이된다.

feature은 데이터로부터 시작되고, 데이터가 어떻게 발생?, 나타내는 것이 무엇인지 -> 결국 도메인 전문성에 대한 중요성이 한번 더 강조됨

 


3.모델 구축 & 평가

모델 구축 & 평가를 위한 세부 프로세스,

모델 & 알고리즘 선택 - 실무적 제약사항 고려한 모델 적합 - 하이퍼파라미터 설정 - 모델학습 - 모델 평가

 

모델

: 실제의 무엇을 더 작게 추상화된 형태로 표현한 것. 모형 또는 본보기

 

머린러닝 모델

: 문제를 해결하기 위해 수립한 가설을 논리적 수학적 함수식의 형태로 표현한 것

머신러닝의 가설이 곧 머신러닝의 모델임 (가설 = 모델)

알고리즘

: 입력된 자료를 바탕으로 원하는 결과를 유도하기 위해 일련의 논리적인 순서와 절차를 규칙화한 것

 

머신러닝 알고리즘

: 모델이 어떠한 문제를 해결하기 위한 함수식이라면 알고리즘은 그 함수식을 만들어내는 일련의 절차, 규칙

 

Target

: 머신러닝에서 예측하려는 목표를 의미, 타켓이 얼마나 잘 진행되었느냐에 따라 데이터의 Quality가 올라고 예측하려는 목표가 명확해지며 머신러닝의 성능에 큰 영향을 미친다.

 

Loss Cost Error

: 예측 목표로부터 예측 결과의 오차

 

Learning

: 예측 목표로부터 예측 결과의 오차를 최소화하는 함수식(모델)을 찾아내는 과정

 

 

머신러닝의 종류

1.Supervised learning 지도학습

: input, output(정답 data) 두 가지로 예측 모델을 만드는 것,

학습된 모델(predictive model) 은 새로운 데이터가 들어왔을 때 학습된 데이터를 기반으로 결과를 도출해 낸다.

지도학습을 잘 만들기 위해서는 output을 만드는 labeling (일관 , 객관, fact)과정이 중요함. (일관 , 객관, fact) -> 데이터의 질을 결정.

지도학습은 크게 classification (분류, 범주를 예측), regression (회귀, 숫자를 예측)

 

2. Unsupervised learning 비지도학습

: input 데이터만 존재함. input data를 기반으로 그룹화와 해석

input데이터만 가지고 패턴을 분석해서 유사한 특징을 가진 데이터를 그룹화 함

다양한 방법들이 있지만 대표적으로 clustering(군집화) 유사한 그룹끼리 군집화 하는 방법이 있다.

 


4.결과 공유

 

5.모니터링(서비스 도입)

이 과정에서 새로운 데이터를 (데이터 준비) 통해 머신러닝 모델이 새롭게 모델 학습을 한다.(업데이트)

 

 

 

 

출처 https://aitrack.lms.elice.io/home

댓글