MachineLearning

[MachineLearning] 1. 이해와 사용

Ddolgom 2023. 2. 10. 17:58
반응형

1. 머신러닝의 의미와 목적 및 역사

 

- IBM 컴퓨터 공학자 아서 새뮤얼 Arthur Lee Samuel

 

출처 : 제타위키

1959년, 경험을 통해서 스스로 성능을 높일 수 있는 알고리즘 삽입 (머신러닝의 시초)

 

머신러닝의 정의 : 컴퓨터가 데이터를 통해 유의미한 패턴과 통계적인 함수를 발견하여 행동의 지침이 되는 *지식을 습득하는 행위 (* 지식 : 예측, 분류, 회귀, 추천시스템 등) 

 

머신러닝의 대표 라이브러리 싸이킷런(scikit learn)에서 사용할 수 있는 머신러닝 기법들

 

위의 분류(classfication)과 회귀(regression)은 지도학습의 한 분야

클러스터링(clustering)과 차원축소(dimensionality reduction)은 비지도 학습의 한 분야

 

 

크게 머신러닝이라고도 하지만, 일반적인 사람들은 AI (Artificial Intelligence)와 구별을 잘 못함.

큰 범위에서는 AI 범주안에 머신러닝이 들어가고 그 하위 분야로 딥러닝이 있음.

 

이 머신러닝의 분야에서는 딥러닝 프레임워크인 텐서플로우, 케라스, 파이토치를 다루지 않고 머신러닝의 범주의 내용만 다룰 예정.

머신러닝의 3가지 카테고리 : 지도학습, 비지도학습, 강화학습

위의 3가지 큰 카테고리 중에서 우선은 지도학습에 중점을 두고 비지도학습은 후반부에 진행을 할 예정

 

지도학습에서 나눠지는 하위분야 분야인 분류와 회귀에 대한 설명이다.

 

분류 (Classification)

입력 데이터를 바탕으로 개별 데이터의 클래스를 예측하거나 계급을 결정하는 것.

예시로 이해를 하면 더 쉽다.

ex. 

1. 스팸필터링 (스팸이냐? 정상메일이냐?)

2. 신용카드 사기탐지 (사기냐? 사기가 아니냐?)

3. VIP 고객 여부 (VIP 고객이냐? 일반 고객이냐?)

4. 불량품 탐지 (양품이냐? 불량품이냐?)

5. 약물효능검사 (효과가 있냐? 없냐?)

6. 환자 판별 검사 (양성이냐? 음성이냐?)

 

위와 같은 예시들은 이진 분류의 예시로 YES or NO로 판별이 되는 문제들이다. (물론 다중분류모델도 있으나, 일반적으로 딥러닝으로 많이 수행을 한다. 본 글에서는 상세한 내용은 생략)

 

 

회귀 (Regression)

입력 데이터를 바탕으로 원하는 타겟변수의 미래 결과를 예측하는 방법.

쉽게 얘기해서 연속된 숫자들을 판별하여 예측하는 모델링으로서 y = 2x라는 함수가 있을때,

x = 1, y = 2

x = 2, y = 4

x = 3, y = 6

이라는 값들이 함수식에 맞게 되는데, 이 x, y값들만 알게 된다면, y = ax라는 상황에서 a값을 유추할수 있으며,

추가적으로 x= 4일때의 y값 또한 알수 있게 된다. 이 것이 회귀모형에서 가장 간단한 선형회귀의 기본원리로 예측하는데 사용이 되며, 다변량통계학, 금용공학에서 많이 쓰이는 시계열 분석의 기본이 된다.

 

ex.

1. 주식시장 예측, 상품 리스크 예측

2. 제품 수용예측, 중고제품 가격견적

 

위와 같은 예시에서 사용이 된다.

 

2. 머신러닝의 기본 프로세스와 상세한 예시들

출처 : 머신러닝의 이해와 실습 강의 (양지헌 강사)

 

머신러닝에서의 Workflow의 틀은 위와 같은데, 이는 빅데이터 분석기사 실기에서의 작업유형2의 process와 동일하다.

 

EDA라는 과정을 거쳐 데이터를 정제하고 보완한 이후에 모델링이라는 과정을 통해서 모델을 학습시키고 평가하여 최적화를 시키며, 새로운 데이터를 가지고 한번더 평가하여 최종 결과를 도출하며, 이 부분은 앞으로 자세하게 다룰 예정이다.

 

위에서의 분류, 회귀의 예시를 잘 보았겠지만, 해커톤을 참여하거나 회사에서 프로젝트를 하게 된다면 방법론적으로 지도학습을 쓸 것인가? 비지도학습을 쓸 것인가? 만약 지도학습이라면 이는 분류인지? 회귀 인지? 판별을 하고 여러 많은 알고리즘 중에서 어떠한 알고리즘을 써야 적합한지를 판단하고 적재적소에 잘 사용하여야 한다.

 

1. 여행사에서 고객들의 데이터가 있다.

나이, 여행보험 가입 건수, 과거 방문했던 여행지, 결혼 여부, 자녀 여부 등의 데이터가 쌓여 있다면, 고객 성별을 예측하는 모델을 만들 수 있다.

당연히 지도학습을 써야하며, 성별은 통상적으로 여자 or 남자이기 때문에 이중 분류문제가 되는 것이다. 

 

2. 요즘 사물인터넷(IoT)가 핫하며, 실제로 제조 공장에서도 기계 장비에 IoT를 접목하여 센서 데이터를 통해서 쌓인 데이터를 가지고 기계가 고장이 났는지 안났는지도 확인할 수 있는데, 역시 지도학습의 분류문제이며,(고장이 났다, 안났다.)

가령 온도 데이터에서 평균값이나 중앙값을 벗어나 심하게 온도가 올라가는 부분이 check된다면, 고장으로 의심을 할 수 있게 된다.

 

이러한 카테고리들을 명확히 나누어서 접근하는 방식은 데이터 분석 및 문제해결에서 가장 중요한 부분이기 때문에, 많은 사례들을 찾고 읽으면서 익힐 필요가 있다고 생각한다.

 

다음 글에서는 머신러닝에서의 여러 기본 모델들을 다루어 볼 예정이다.

 

 

 

 

반응형

'MachineLearning' 카테고리의 다른 글

[Data] 2023 데이터 직무 한눈에 알아보기  (0) 2023.01.25