데이터사이언스와 머신러닝
: 기술의 발달 > 많은 데이터 수집 가능, 고성능 컴퓨터 개발, 효율적인 계산 알고리즘 개발 >> 머신러닝 기법의 중요도 급상승
머신러닝 : 중요한 정보를 복잡한 데이터로부터 추출하는 과정
머신러닝 중 뉴런 네트워크 기반으로 한 것 = 딥러닝
러닝의 종류 : 지도 학습, 비지도 학습, 강화 학습
딥러닝
통계학, 수학, 컴퓨터 과학 등 다양한 분야에서 기반
인공신경망 중심 연구되어옴
인공신경망
입력값과 출력값을 연결해주는 복잡한 함수 (black box)
f(입력,w) = 출력
w는 인공신경망에 사용되는 모수로 에러를 가장 최소화하는 w를 찾아야함
뇌구조에서 영감받음
환자의 정보에 따른 질병의 유무 예측 : 범주형 변수, 자동차 정보에 따른 연료의 효율성 예측 : 연속형 변수, 기업의 재무재표에 따른 파산여부 예측 : 범주형 변수
( 함수 = X,Y 두변수의 대응관계 설명 )
인공신경망의 구조
입력층 : 데이터 입력 (회귀변수의 독립변스, 이미지, 음성데이터)
은닉층 : 복잡한 계산이 수행되는 곳 (black box)
출력층 : 예측(연속형 변수) 혹은 분유(범주형 변수)
순방향신경망
순환신경망
데이터를 정방향 뿐 아니라 역방향으로도 보냄
시계열, 텍스트 데이터와 같이 과거에 대한 정보가 중요한 데이터 주로 사용
회귀함수
활성함수
Linear
Sigmoid
Rectified linear unit : 은닉층에 많이 이용
순전파
역전파
gradient descent 알고리즘
에러 j(w)=(f(x,w)-y)^2가 최소화하는 w 찾는 알고리즘
j(w) 기울기를 이용하여 반복적으로 w를 업데이트함
j(w)=(f(x,w)-y)^2 계산 : 순전파 <-> j(w) 기울기를 이용 w를 업데이트 : 역전파
인공신경망 적합 과정은 파이썬의 tensorflow, keras로 구현 가능
전체데이터 사용하여 인공신경망 적합
= 70% 트레이닝데이터 + 30% 테스트 데이터
합성공 신경망(CNN)
합성곱층, 풀링층, 전결합층 등등
컴퓨전 비전 분야의 혁신
이미지 데이터의 분류 오류를 크게 줄일 수 있음
DNN을 통한 이미지 분류는 CNN에 비하여 성능 낮음
원리 : stride (커질수록 아웃풋이 더 작아짐), padding (데이터의 차원이 커짐), pooling (max값 추출),
: 출력값의 높이 = (입력값의 높이 - 필터의 크기 + 2*패딩의 크기)/stride의 크기 + 1
합성곱층은 입력값의 차원을 필터링을 통해 축소하는 것
활성함수(ReLU)와 pooling은 필터의 특서응ㄹ 갖는 시그널 추출
진결합층은 cnn 마지막 층에 위치하며 '최종출력값'과 연결함
모수는 순전차와 역전파를 반복하며 추정됨
순환신경망
많은 데이터들은 입력값과 출력값이 고정되어있으나, 텍스트나 음성 데이터는 고정되어있지 않음 > 다른 신경망은 분석이 힘드나 순환신경망에는 유용
과거 정보 저장 및 이용에 유용
계산시에 tangent hyperbolic 활성함수 많이 이용
출력시에 연속형은 linear함수, 범주형은 2개일시 sigmoid 함수, 2개 이상일시 sofrmax 함수 이용
누적 기간이 길어질수록 불안정
LSTM : 중요하지 않은 정보는 단기기억으로 취급