Programming

[GDG devcamp 2016] Tensor Flow

 2016. 8. 20. 15:11
반응형

머신 러닝 기본 이론

이번 세션 Regression Linear, Logistic Regression
supervised : a = b 라는 답이 있는데 이것을 학습시켜서, 예측함수 만들기
"경험으로부터 학습하는 알고리즘"

데이터 마이닝 기본 이론 배경
예측함수를 통한 예측값과 실제값의 차이를 최소화하는 세타 값을 찾는 것이 목표이다.
그래프로 그려보면 볼 형태로 나옴, 가운데 있는 cost가 가장 적은 것을 선택해야 한다.
이러한 그래프에서 가장 작은 것을 추적하기 위해서 gradient descent를 사용한다. 
기울기의 음수, 양수를 보면서 가운데에 있는 기울기 0에 가깝게 다가간다.
텐서 플로우에서는 이 과정을 내부 함수로 제공해준다. 하지만 매틀랩같은 곳에서는 직접 작성해줘야한다.


개발환경
pycharm vs jupyer notebook
가상환경설치 virtualenv
가상환경에 설치하지 않으면 루트에 바로 설치되어서 버전관리하기가 어렵다. 따라서 virtualenv를 통해 관리하면 편하다.
autoenv를 사용하면 env 파일을 자동으로 찾아서 실행해준다.

jupyter 
pip를 통해 설치 “pip install jupyter"


tensor 는 하나의 노드를 의미하고 그곳에서 연산을 한다.
텐서플로우는 딥러닝을하기 정말 좋은 툴이다. Layer를 쌓아두고 분석하기에 좋다.
뉴런처럼 하나의 노드가 있고 그 다음으로 넘겨준다.

Linear regression
1000개의 데이터 뽑아내기
연관성을 분석하고 예측함수를 만들고 cost를 만듦
예측함수가 점점 제자리를 찾아간다.

Logistic regression
0~1 사이 값으로 1대 1 대응해주는 함수를 통한다면 분류하기 좋을 것 같다.
여기서 cost 함수를 구하는 방법은?
실제값이 1 예측값 1 => cost 0 에 가까워진다.
약간 복잡하지만 cost도 함수로 만들어낼 수 있다.

neural network
multi layer를 넣어서 xor 문제를 해결할 수 있다.

tensor board : 그래프로 확인할 수 있다.


반응형