본문 바로가기

Python/Data Analysis

Data Analysis / ML / Tensorflow 2.x(1)

< Tensorflow 2.x >

1. TF 1.x version 과의 차이점

  • Eager Execution : Tensorflow 실행 방법에 대한 변경(Session없이 즉시 실행 가능)
  • keras가 유일한 상위 API로 등장 : 구현방식의 변화
  • global_variables_initializer() 함수를 실행할 필요가 없어짐 (자동으로 수행됨)
  • Eager Execution에 따라서 placeholder 또한 필요 없어짐 → 삭제

2. Keras 특성

  • Modularity : Loss, Activation, GradientDescent(optimizer), Layer를 각각 만들고 조립하여 원하는 형태로 구현 가능

3. Logistic Regression의 Keras 표현

Keras - Logistic Regression

▷ Keras Model을 만드는 것이 우리의 역할!!

4. Multinomial Classification의 Keras 표현

Keras - Multinomial Classification

▷ Dense layer = Fully Connect layer = FC layer

  • 이전 layer에 있는 모든 노드와 현재 layer의 모든 노드가 연결된 layer

< KNN (K-Nearest Neighbor) >

▷ 어떤 데이터와 근접한 K개의 데이터를 조사하여 값을 예측하는 방법

K-Nearest Neighbor

▷ 위 그림에서 초록색 원 데이터가 들어왔을 때...

  • k=1 이면, Class 1로 분류
  • k=3 이면, Class 2로 분류

※ KNN 구현에 필요한 요소

1. K값 설정

  • 너무 작으면 Overfitting 발생
  • 너무 크면 Underfitting 발생

2. 거리계산 방식

  • Euclidean distance (최단직선)
  • Manhatan distance
  • 마할라노비스 거리 (공분산과 분산을 이용해서 계산

< Tensorflow 2.0 실습 >

1. Eager Execution

2. Keras Model 생성

3. KNN Classification 실습