1_딥러닝개요

이민예

교수님은

  • 경영과학 (=OR)

  • 통계 (실무에는 통계가 쓰일것 같아서)

  • 수학 (이론)

미국에서는 데이터 분석의 50% 이상은 바이오산업이다. 반면 한국은 제조, 전자 산업이 많다. 딥러닝을 말하자면, 2가지이다. 하나는 응용수학 기술의 활용이며, 다른 하나는 프로그램 구현이다. 이 수업에서는 응용수학, 이론에 대한 초점을 맞출 것이다.

보조교재

Prerequisite Study

k-fold cross validation

회귀분석 모형을 만들기 위해서는, 학습을 위한 데이터셋이 필요하다. 이 데이터 집합의 종속변수를 얼마나 잘 예측하였는가를 나타내는 성능을 표본 내 성능 검증 (in-sample testing)이라고 한다.

하지만, 모형을 만드는 목적 중 하나는 학습에 사용되지 않은 표본에 대한 종속 변수의 예측이기 때문에, 이를 얼마나 잘 예측하였는지를 측정하는 것이 표본 외 성능 검증 (out-of-sample testing) 혹은 교차검증 (cross validation)이다.

일반적으로, 표본 내 성능과 표본 외 성능은 비슷한 수준을 보이지만, 경우에 따라서는, 표본 내 성능은 좋으면서, 표본 외 성능이 상대적으로 많이 떨어지는데 이러한 경우를 과적합이라고 한다. 과최적합을 방지하기 위해, 다음과 같은 방법이 있다.

  • 정규화

  • 교차검증

  • epoch 줄이기

교차검증(홀드아웃 교차검증)은 두가지 데이터 셋으로 나눈다. 학습용 데이터 셋과 성능 검증을 위한 데이터 셋이다. 일반적으로, 70:30이다. 하지만 데이터 수가 적은 경우, 검증 데이터 수도 적기 때문에, 검증 성능에 대한 신뢰도가 떨어진다. 그렇다고 검증 데이터를 늘리면, 학습 데이터가 적어지기 때문에 학습이 되지 않는다. 따라서 이를 해결하기 위한것이, k-fold 교차 검증이다.

과정

  • 각 시도 마다 Fold 1~4 데이터 셋으로 훈련시키기

  • 나머지 1개의 validation fold 에 대해서 성능 추정 (앞서 학습된 하이퍼파라미터를 가지고 )

    • Fold 1~4 : validation dataset

    • validation dataset : training dataset 의 일부임을 감안하면, test dataset 과 다름.

    • Validation dataset 을 하면 좋은 점

      • Test accuracy 를 알 수 있음 : 머신러닝의 목적은 unseen data에 대한 예측이기 때문에 validation set을 따로 만들어서 예측함

      • 과적합을 방지할 수 있음

        • validation 보다 train 정확도가 훨씬 클 경우, 과적합을 생각할 수 있어서, 정규화 과정들을 도입할 수 있음.

각 fold 마다, 교차검증을 하였고, 정확도를 기록하였다. 그리고 정확도에 대한 평균과 분산을 구한 결과, 2번째 알고리즘이 가장 정확도가 높고, 분산도 적었다. 이를 증명하기 위해서는, confidence level을 사용하여야 한다.

Reference

https://cinema4dr12.tistory.com/1275

https://operatingsystems.tistory.com/entry/Data-Mining-kfold-cross-validation

Concept Point

  • Feature Engineering

    • 피처 엔지니어링이란, 머신러닝 알고리즘을 작동하기 위해 데이터에 대한 도메인 지식을 활용하여 특징 (feature) 를 만들어 내는 과정임. 즉, 데이터의 컬럼 특징을 생성하거나, 선택하는 작업을 말함.

    • ex. 3살 때 강아지와 고양이를 구분하기 위해, 귀/꼬리/털/눈/입 을 선택하는 과정

    • 내가 가지고 있는 데이터가 방대하다해도 그 데이터를 모두 결과를 도출하는데 쓰면 정확히 나타날 듯하지만 오히려 결과를 잘못되게 도출하는 경우가 많다.

    • 이는 통계분석에서 선형 함수의 독립변수가 많다고 해서 종속변수의 기대값이 정확도가 무조건 올라가지 않는 이유라고도 할 수 있다.

    • Feature 의 중요성

      • Feature Selection

      • Feature Extraction (PCA)

        • 피처 선택후, if-else로 구현한 룰베이스보다, 딥러닝 성능이 훨씬 좋아지면서 입지가 작아짐.

        • 피처 엔지니어링의 경우, 단추는 an object with a few round holes in the middle 이라고 정의한다면, 다양한 단추 모양에 대해서 제약이 있으며, 정의한 모양과 동일하지만, 단추가 아닌 사물에 대해서 단추로 잘못 판단할 수 있음.

  • Feature Space

    • Transformation

    • Representative Learning

    • Feature Space란, Collections of Feature 즉, 피처들의 집합이고, 이들은 나의 데이터에 대한 특징을 나타낸다. 또한, N 차원에 표현이 가능하다. 예를 들어,

      • Y (target) 이란, 타이어의 두께

      • X1 = 차가 운행한 거리 / X2 = 차가 운행한 시간 / X3= 타이어에 있는 화학물질의 양

      • 따라서 여기서 Feature Space 는 3차원으로 표현할 수 있다. 하지만, 우리가 도메인 지식이 있어서, 차가 운행한 속도가 중요하다고 하면, 피처 X4(=X1/X2)를 생성할 수 있다.

      • Mapping 함수(ϕ)를 사용하여 Old Feature Space 를 New Feature Space (Feature Extraction)로 매핑할 수 있다.

    • 통계 Sample Space

ϕ(x1,x2,x3)=(x1,x2,x3,x1/x2)ϕ(x1,x2,x3)=(x1,x2,x3,x1/x2)
  • Time Series Data

    • 시계열 데이터를 분석할경우 기존에 k-fold cross validation을 사용해서는 안된다.

    • 시간적인 의존성 때문에, 랜덤하게 나누면 안된다.

      • K-fold CV (x) Hold-out CV (O) => 연대기적으로 70:30으로 나눈다.

      • Nested CV 를 사용한다.

  • Variable Term 에 대한 정의

X=(x1,x2,x3,x4,x5)TX = (x1, x2, x3, x4, x5)^T

Y=w1x1+w2x2+w3x3+w4x4+w5x5+bY = w1*x1+w2*x2+w3*x3+w4*x4+w5*x5 +b

파라미터 총수는 d+1

구분

w1, w2, ...

x1, x2, ..

통계

파라미터

확률변수 (Random Variable, 함수)

최적화

변수(Variable)

입력값

Discussion Point

  • 딥러닝의 역사

  • 강한 인공지능과 약한 인공지능

  • Animal Intelligence / Artificial Intelligence / Human Intelligence

many deep learning neural networks contain hard coded data processing, feature extraction, and feature engineering. They may require less of these than other machine learning algorithms, but they require some still.

Reference

https://www.ibm.com/developerworks/community/blogs/jfp/entry/Feature_Engineering_For_Deep_Learning?lang=en

https://towardsdatascience.com/time-series-nested-cross-validation-76adba623eb9

Last updated