기계를 학습시켜 인간의 판단능력을 기계에 위임하는 것이 Machine Learning이다. TensorFlow는 다양한 직업에 대해 데이터 흐름 프로그래밍을 위한 오픈소스 소프트웨어 라이브러리이다. Symbolic 수학 라이브러리이자, 인공신경망 같은 기계 학습 응용프로그램에도 사용된다. Python API를 제공하며 문서화가 약간 부족하지만 C/C++ API 도 제공한다.
보통 텐서 플로우를 이용해 해결하려 하는 문제는 Machine Learning 지도 학습(Supervised Learning)의 회귀(Regression, 숫자 예측)와 분류(Classification, 범주 예측)이다. TensorFlow는 수많은 라이브러리 중 하나이다. 딥러닝 이론을 코딩으로 쉽게 이용해 줄 수 있는 여러 라이브러리(모두 같은 목적으로 고안된 라이브러리들 -> Tensorflow, PyTorch, caffe2, theano)가 있는데 Tensor Flow이론으로 여러 가지 문제를 해결해 볼 것이다.
Machine Learning Algorithm에는 대표적으로 Decision tree , Random forest, knn, svm, Neural Network 등이 있으며 이들 끼리는 Deep Learning 경쟁자라고도 할 수 있다. TensorFlow에서 사용할 것은 Neural Network(인공신경망 ANN = 딥러닝)이다. 인공신경망은 기계학습과 인지과학에서 생물학의 신경망에서 영감을 얻은 통계학적 학습 알고리즘이다.
< Machine Learning Process >
지도학습을 하기 위해서는 첫 번째로 과거의 데이터가 있어야 한다. 예로 온도와 판매량 사이에 원인(독립변수)과 결과(종속변수)를 인식할 수 있어야 한다. 두 번째로 앞의 인식을 한 후 모델의 구조를 만든다. 세 번째로 데이터로 모델을 학습(fit)한다. 넷째로 모델을 이용하여 응용한다. 전체적인 그림은 위를 보면 쉽게 이해할 수 있을 것이다. 딥러닝은 이런 구조를 기반으로 할 수 있기 때문에 이해하는것이 중요하다.
< Colaboratory >
실습환경은 Google Colaboratory이다. Colaboratory는 Jupyter Notebook과 비슷하다. 줄여서 'Colab'이라고도 하는 Colaboratory를 사용하면 브라우저에서 Python을 작성하고 실행할 수 있습니다.
http://colab.research.google.com/ 링크를 들어가 구글 로그인을 한 후 '새 노트' 만들기를 하면 콜랩 노트북을 이용할 수 있다. 코드 옆의 실행 버튼을 누르면 해당 칸 안의 내용이 작동한다.
'Python > opentutorials(Tensorflow)' 카테고리의 다른 글
3. Deep Learning(Hidden layer) (0) | 2021.07.28 |
---|---|
2. Deep Learning(보스턴 집값 예측, 아이리스 품종 분류) (0) | 2021.07.28 |
1. Strat Deep Learning (레모네이드 판매 예측) (0) | 2021.07.26 |