[머신러닝] Tensorflow Basic #1

Tensorflow Basic #1

모두를 위한 딥러닝 강좌를 듣고 배운 내용을 기반으로 기록합니다.


머신러닝이란?

컴퓨터의 데이터 학습 방법

데이터를 학습하는 방법에 따라 Supervised learning / Unsupervised learning 으로 나뉨

Supervised Learning 의 종류

  1. Regression
    ex) 공부한 시간을 기반으로 점수(0점~100점)를 예측하는 것

  2. Binary classification
    ex) 공부한 시간을 기반으로 Pass/NotPass 여부를 예측하는 것

  3. Multi-label classification
    ex) 공부한 시간을 기반으로 Letter Grade(A,B,C,D,F) 를 예측하는 것


Tensorflow에 대하여

텐서플로우란?

https://camo.githubusercontent.com/4ee55154486232ec9edd8f1a3bad4c4a146f6cfe/68747470733a2f2f7777772e74656e736f72666c6f772e6f72672f696d616765732f74656e736f72735f666c6f77696e672e676966

텐서플로우는 그래프라고 하는 자료구조(Data Structure)처럼 동작한다는 것을 알려주는 그림이다.

텐서플로우(TensorFlow)는 기계 학습과 딥러닝을 위해 구글에서 만든 오픈소스 라이브러리이다. 데이터 플로우 그래프(Data Flow Graph) 방식을 사용하여 연산을 수행한다.

텐서플로우는 크게 두 가지로 구성되어 있다.


텐서란?

Tensor란 학습 데이터가 저장되는 다차원 배열을 뜻한다.
텐서를 이야기 할 때 일반적으로 Ranks , Shapes , Types 를 이야기한다.

1. Rank : “몇차원 Array인가?”

Rank(차원) Math Entity Python ex
0 Scalar S = 123
1 Vector V = [1,2,3]
2 Matrix M = [[1,2,3], [4,5,6], [7,8,9]]
3 3 - Tensor T = [ [ [2], [4],[6] ], [ [1], [3], [5]], … ]
N N - Tensor

2. Shapes : “각각의 Array에 원소가 몇 개씩 들어있는가?”

Rank Shape Dimension Number
0 [] 0-D
1 [D0] 1-D
2 [D0, D1] 2-D
3 [D0, D1, D2] 3-D


텐서플로우의 특징

텐서플로우의 핵심 매커니즘

텐서플로우는 크게 다음의 세 가지 구조로 나뉘어 실행된다.

  1. 그래프를 Build한다 : Build graph using TensorFlow operations
  2. 그래프를 실행한다 : Feed data and run graph(operation)
  3. 연산 수행 결과 값을 return한다 : Update variables in the graph and return values

참고 URL

텐서플로우 시작하기
맨땅에 해딩 머신러닝 #1