slide-image

 

딥러닝

[2019-1]

# 02

 

이번에는 로지스틱 회귀 복습이랑, 경사하강법, 계산그래프, 로직스틱회귀와 경사하강법, 벡터화를 배웠다.

 

로지스틱 회귀는 확률 모델로서 독립 변수의 선형 결합을 이용해 사건의 발생 가능성을 예측하는 데에 사용되는 통계 기법이다.

손실(오차)함수는 알고리즘이 얼마나 잘 작동하는지 측정하는 함수로 훈련 샘플 하나에 대해 정의되어 그 하나가 얼마나 잘 예측되었는지 측정하는 함수이다. 비용 함수를 만드는 데 쓰이는 함수이다.

비용 함수는 훈련 세트 전체에 대해 얼마나 잘 예측되었는지 측정해주는 함수로 로지스틱 회귀의 학습에 사용되는 함수이다.

따라서 손실 함수를 모두 더해서 그 크기 만큼 나눈(평균)값이다.

경사하강법은 알고리즘의 일종으로, 손실함수의 최소값을 1개로 하기 위해서 w와 b를 찾아가는 알고리즘이다.

초기값w0를 잡아서 최소값으로 갱신한다. 

계산 그래프는 계산 구조도 흐름도를 나타내는 것이다. 

생긴 건 이런 식으로 생겼다.

로지스틱 회귀를 알고리즘 식으로 나타내면, 이렇게 된다.

da는 L(a,y)를 a로 편미분 한 것을 간단하게 나타낸 것이다. 

미분식을 다 써보면, 초록색 글자처럼 되고, 알고리즘은 까만색이다.

이런 갱신 과정을 여러번해야 한다.

 

벡터화는 말 그대로 하드웨어를 좋은 것을 쓰는 것이다...

Scalar Processing은 1개의 명령어로 1개의 데이터를 처리하는 것이고, Vector Processing은 1개의 명령어로 복수의 데이터를 동시에 처리하는 것이다. 즉, 병렬 처리를 시켜주는 명령어를 쓰는 것이다.

왼쪽의 과정을 오른쪽 처럼 한번에 식으로 처리하는 것이다.

파이썬으로 시간을 비교해보면, scalar processing과 vector processing는 약 500배 차이가 난다.

 

'EVI$I0N > 2019-1' 카테고리의 다른 글

[딥러닝] #03  (0) 2019.05.06
[웹보안] #03  (0) 2019.04.29
[와이어샤크] #02  (0) 2019.04.06
[디지털포렌식] #02  (0) 2019.04.06
[웹보안] #02  (0) 2019.04.01