## 인프런_딥러닝 강의
해당 글은 인프런 모두를 위한 딥러닝 - 홍콩과기대 김성훈 교수님의 강의를 보며 정리한 노트입니다.
@섹션5. Binary Classification
- 둘 중 하나의 결과를 도출시키는 classification
- 예시는 페이스북 피드 업로드, 스팸메일 처리, 신용카드 오사용 분류
- 이러한 예시를 컴퓨터로 쉽게 코드를 짤 수 있도록 encoding을 함, 0과 1로 구분짓는 것임. 스팸메일(1)_정상메일(0)
- 0과 1로 이루어진 결과만 도출하는 상황에서 linear regression으로 해결하는 것은 cost의 값이 매우 커지게 됨.
- 이유인즉 1이상의 값, 0이하의 값을 linear regression에서 도출되기 때문임
- 이 cost의 값을 낮추기 위한 그래프, 시그모이드(logistic fuction)라 함.
- H(x) = z = Wx+b, g(z) -> 0~1사이의 결과만 나오게 됨
- logistic function을 최소화 하기 위한 cost fuction.
- cost함수에 적용시 굽이친 그래프가 나오게 되며, local minimum을 global minimum을 찾지 못하게 하므로 y가 1인 상황과 0인 상황으로 나누며 로그 함수를 이용한 cost function을 적용함.
- -log(H(x) : y=1 // -log(1-H(x)) : y=0
- 위 식을 하나의 식으로 통합할 수 있음.
- 텐서플로우에서 위 cost함수를 표현하고 gradient descent optimizer를 이용해서 적용하면 됨.
- tensorflow에서 데이터 읽기.
- numpy를 통해 대규모 다차원 배열을 쉽게 처리할 수 있게 해주는 파이썬 라이브러리 사용.
- import numpy as np
- np.loadtxt(csv 파일을 불러옴, 데이터를 나누는 기준, 데이터 타입)
- python Slicing : 시퀀스 자료구조의 특정 데이터를 잘라내는 것
- [:, 0:-1] 앞에 [ : ] 는 전체 행을 의미, [0:-1]은 0번 인덱스부터 -1번 인덱스까지 // -1은 마지막 원소 전까지
- [-1]이면 마지막 원소 이전것만 적용
- placeholder에서 shape=[None, 3] 코드를 볼 수 있다. none은 데이터 갯수를 초반에 모를 경우 이후에 임의로 바뀔 수 있다는 것임
- Queue Runners : 데이터가 커서 메모리에 올리기 힘든 경우 Queue Runners를 사용함. 여러 파일을 큐에 쌓아 놓고 reader로 파일을 읽어옴
- 과정 : 1. 파일 이름을 리스트로 생성 2. 파일 읽어올 리더 선언, 연결 3. value 파싱 설정(디코딩)
'▶개발 > 머신러닝&딥러닝(ML,DL)' 카테고리의 다른 글
(딥러닝 정리노트 #4) 딥러닝의 역사, XOR문제 (0) | 2018.06.01 |
---|---|
(딥러닝 정리노트 #3) Softmax Regression, Learning rate (0) | 2018.05.30 |
(딥러닝 정리노트 #1) 딥러닝개요와 Linear Regression (0) | 2018.05.30 |
딥러닝 사례분석 : 자율주행 자동차 (0) | 2018.05.15 |
Linear Regression(선형회귀) 코드분석 (0) | 2018.05.15 |