Notice
Recent Posts
Recent Comments
Link
«   2024/10   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

BASEMENT

머신러닝 개요 본문

Programming/Machine Learning

머신러닝 개요

2_34 2020. 8. 16. 14:25

머신러닝 개요

 

1. 데이터 마이닝

 

 

1) 데이터 마이닝이란?

 

대용량 데이터에 존재하는 데이터 간의 관계, 패턴, 규칙 등을 찾아내고 모형화해서 기업의 경쟁력 확보를 위한 의사결정을 돕는 일련의 과정

 

 

2) 데이터 마이닝 관련분야

 

- 기계학습 : 자동적인 학습 기법 설계, 구현

- 패턴인식 : 문자인식, 이미지 분류

- 통계학 : 다변량 (판별분석, 주성분분석, 군집분석), 회귀분석 등

 

 

3) 데이터 마이닝의 절차

 

데이터 선정 -> 정제 -> 변형 -> 데이터마이닝 -> 해석

 

4) 데이터 마이닝의 분석 프레임

 

- 데이터 수집 : 결제 바로 전, 유저의 행동 패턴을 기술할 수 있는 로그 항목 수집 (문서오픈, 편집 등)

- 데이터 추출 : Extraction, Preprocessing (SQL필터, 조인 등)

- 데이터 전처리 : Feature Engineering (분포변환, PCA, 결측치 및 이상치 처리 등)

- 모델 구축 및 파라메터 설정 : Classification Models(Logistic Regression, Random Forest 등), Cross Validation, Grid Search, Pipeline

- 모델 평가 : Precision, Recall, F1-score

 

 

 

2. 머신러닝

 

1) 머신러닝(기계학습) 이란?

 

- 주어진 문제, 과제, 환경에 따라 컴퓨터 스스로 문제를 해결하려고 학습한 예측 결과를 활용하는 것

- 과거의 경험을 미래의 결정에 활용하는 소프트웨어를 디자인하고 연구하는 분야

 

2) 머신러닝 사용 예

 

- 스팸메일 분류, 주가 예측, 기계번역, 감성분석, 음성분석, 얼굴인식, 텍스트 요약 등

 

3) 머신러닝 용어

 

- 특징(feature) : 각각의 아이템을 설명하는데 사용하는 구분가능한 특성 또는 특징의 개수

- 데이터(data) : 문서, 사진, 음성, 동영상, 데이터베이스 등

- 특징벡터(feature vector) : 어떤 대상을 표현하는 특징으로 이루어진 n차원의 벡터

- 특징추출(feature extraction) : 특징벡터의 준비, 차원 감소기법을 사용하기도 함

- 학습셋(training set) : 학습에 사용하는 데이터셋

 

 

데이터 구조

 

1. 머신러닝의 유형

 

X(원인) : 독립변수 / 예측변수 / 인풋변수

Y(결과) : 종속변수 / 반응변수 / 아웃풋변수

 

1) 지도학습

 

학습데이터의 정확한 클래스가 알려져 있음

분류(classification), 회귀(regression)

 

2) 비지도학습

 

정답을 따로 알려주지 않고(label이 없음) 비슷한 데이터들을 군집화 하는것

실무에서는 지도학습에서의 적절한 feature를 찾아내기 위한 전처리 방법으로 비지도 학습을 사용함

 

 

2. 지도학습

 

1) 분류(classification) : 데이터로부터 클래스를 예측

 

- 사전에 미리 정의된 집단 중 어디에 해당할 것인지를 예측, 분류기준이 미리 정하는 것

- 이진분류 / 다중클래스 분류

- 특징 혹은 독립 변수

- 정답을 나타내는 데이터를 레이블(label) 혹은 종속변수

 

2) 회귀(regression) : 데이터 분석을 통해 값을 예측

 

- 회귀 문제는 숫자값의 크고 작음에 의미를 부여해 예측하는 방법

- 하나의 변수 평균값과 다른 변수의 해당 값 간의 관계를 측정

- 회귀분석은 변수 간의 관계를 추정하기 위한 통계적인 방법

- 학습데이터를 이용해 결과값을 예측함

- 대중적인 회귀방법으로 로지스틱 회귀(binary)가 있음

 

3) 분류 vs 회귀

분류 회귀
결과를 클래스로 그룹화하는 것 학습 데이터를 사용해 출력 값을 예측하는 것
훈련 데이터를 사용하여 사기거래와 정상거래를 예측 훈련 데이터로부터 주식 가격을 예측
이산/범주형 변수인 경우 실수/연속형 변수인 경우

 

4) 지도학습 알고리즘과 분류 및 회귀 문제

 

- 선형회귀 (linear regression)

- 로지스틱 회귀 (logistic regression)

- 서포트 벡터 머신 (support vector machine)

- 랜덤 포레스트 (random forest)

- 신경망 (neural network)

 

 

3. 비지도학습

 

1) 군집화(clustering) : 데이터로부터 의미 있는 그룹을 나눔

 

- 서로 더 비슷한 개체 집합을 동일한 그룹으로 그룹화하는 작업

개체는 사전에 미리 정의되어 있지 않음

- 가장 대중적인 군집 알고리즘 : k-means 군집, 계층적 군집

 

 

2) 비지도학습 알고리즘

 

2-1) k-means 군집

 

각 관측치가 가장 가까운 평균을 갖는 클러스터에 속하고 클러스터의 프로토타입 역할을 하는 k개의 클러스터로 n개의 관측치를 분할함

 

2-2) 계층적 군집

 

특정 알고리즘에 의해 데이터를 연결하여 계층적 클러스터를 구성해 나가는 방법

 

2-3) 주성분분석

 

수천개 또는 수백만개의 특징을 가지는 경우 차원축소를 통해 반응변수를 가장 크게 변화시키는 특징을 추려내는 과정

데이터의 분산을 최대한 보존하면서 서로 직교하는 새 기저(축)를 찾아, 고차원 공간의 표본들을 선형 연관성이 없는 저차원 공간으로 변환하는 기법

 

 

 

데이터셋 구성을 통한 검증 방법

 

1. 데이터셋 구성

 

1) Training set (훈련데이터)

 

모델 훈련에 사용하는 데이터 셋으로 관측치의 모음

 

2) Validation set (검증데이터)

 

모델 훈련에 적절한 지점을 찾기 위해 사용하는 데이터셋

과적합 또는 과소적합을 방지하기 위한 stopping point를 찾음

 

3) Test set (테스트데이터)

 

모델의 성능을 평가하기 위해 사용하는 데이터 셋

 

 

2. 데이터셋 구성 방법

 

1) Holdout 

 

- 데이터셋을 train / test set 으로 나눔

- train set과 test set의 일정비율을 설정 (보통 7:3)

- train set이 작으면 모델 정확도의 분산이 커짐

- train set이 커지면 test set으로 부터 측정한 정확도의 신뢰도가 하락

- 위와 같은 단점을 극복하기 위해 hold out을 반복적으로 실행하는 것이 random subsampling

 

2) Random subsampling

 

- 모델 훈련에 적절한 지점을 찾기 위해 사용하는 데이터셋. 과적합 또는 과소적합을 방지하기 위한 stopping point를 찾음

- k개의 부분 데이터셋을 사용함 : 각 부분 데이터셋은 랜덤, 각 실험마다 train, test set으로 모델을 훈련,테스트함

- 최종 성능은 각 실험성능의 평균으로 도출

 

3) Cross validation

 

- 모델의 성능을 평가하기 위해 사용하는 데이터 셋

- k fold cross validation

데이터 셋을 k개의 fold로 나누어 사용. k번의 실험을 진행하며, k-1개 fold는 training set, 1개 fold는 test set 사용Random subsampling과 유사하지만, 모든 데이터를 train과 test에 적용할 수 있다는 차이점이 있음

최종 성능은 k번의 실험 성능의 평균으로 도출

 

 

3. 모델 성능 평가 척도

 

1) MSE (Mean squared error)

 

- 평균 제곱 오차

- 회귀선과 모델 예측값 사이의 오차(잔차, residual)를 사용

- 오체를 제곱한 값들의 평균

- MSE 값이 작을 수록 좋음

 

2) RMSE (Root mean squared error)

 

- MSE에서 구한 값에 루트를 적용한 값

- 오차값이 커지면 주로 RMSE를 사용함

 

 

3) Confusion matrix : 모델의 성능을 통계적인 수치로 시각화 하는 방법

  예측값
Class = yes Class = no
실제값 Class = yes a
(TP : true positive)
b
(FN : false negative)
Class = no c
(FP : false positive)
d
(TN : true negative)

 

4) Accuracy (정확도)

 

모델이 정확하게 분류 또는 예측하는 데이터의 비율

Accuracy 모델은 한계가 있어서 성능을 측정하는 척도로 적합하지 않음

 

5) Precision (정밀도)

 

모델이 검출한 데이터 중 올바르게 검출된 데이터의 비율

ex) 악성종양을 악성으로 예측한 결과

 

6) Recall (재현율)

 

실제 해당 데이터중 모델이 올바르게 검출한 데이터의 비율

es) 전체 악성종양을 실제 예측한 결과

 

7) F-Measure

 

Precision과 recall은 모델의 성능을 객관적으로 판단하기에 부족함

Precision과 recall 수치의 trade-off 관계를 통합해 하나의 수치로 정확도를 도출함 

'Programming > Machine Learning' 카테고리의 다른 글

KNN 알고리즘  (0) 2020.09.27
모델 성능 평가 척도, ROC 커브  (0) 2020.09.27
로지스틱 회귀분석  (0) 2020.09.27
Sklearn과 선형회귀분석  (0) 2020.09.27
데이터 전처리  (0) 2020.09.27
Comments