/ ML

머신러닝의 개념과 용어

머신러닝의 개념과 용어

파이썬 머신러닝 강좌 첫번째

What is ML?

전통적인 프로그래밍은 explicit programming(명시적 프로그래밍)으로 목표를 달성하기 위한 룰을 코딩해서 프로그래밍한다.

머신러닝에서는 데이터를 보고 프로그램 자체가 학습해서 목표를 달성하는 프로그램이다.

학습 방법에 따라서 지도학습, 비 지도학습으로 나눌 수 있다.

  • 지도학습 (supervised learning): 데이터에 라벨이 있는 경우. (고양이인지 아닌지 사진을 보고 인식시킬 때)
  • 비지도학습 (unsupervised laerning): 라벨이 없이 데이터만 보고 학습. 구글 뉴스가 비슷한 내용끼리 그룹으로 묶는 것

supervised learning

대부분의 머신러닝은 지도학습이다.

답이 정해져있는 데이터( Training data set) 을 가지고 학습을 시켜 모델을 발생시킨다. 그 모델에 답을 모르는 데이터를 넣어서 결과를 끌어내는게 일반적인 머신러닝이다.

알파고의 경우도 기보를 학습시켜 어디에 돌을 놓아야 할지 판단한다.

예측하는 데이터의 종류에 따라서 두가지로 나눌 수 있다.

  • regression: 데이터를 보고 결과 값의 범위를 예측
  • classification: 데이터를 보고 분류( 분류 종류를 보고 binary 혹은 multi-label classification)

tensorflow 2 실습

Hello, world

Untitled/Untitled.png

A + B

텐서플로우2 에서는 session을 사용하지 않고 tensorflow의 함수에 바로 넣는다.

assets/images/ml/pandas/Untitled 1.png

Placeholder

텐서 플로우2에서는 역시 placeholder 도 없어졌다. 그래서 아래와 같은 예제를 수행하기 위해서 다른 방법을 취해야 했다.

assets/images/ml/pandas/Untitled 2.png

텐서 플로우 함수를 만들고 그 함수에서 동작하도록 한다.

assets/images/ml/pandas/Untitled 3.png

그냥 파이썬이 동작하는지 알았는데 @tf.function을 쓴게 잘 동작하는지 찍어보니 텐서로 나왔다.

assets/images/ml/pandas/Untitled 4.png


assets/images/ml/pandas/Untitled 5.png

텐서라는 것을 만들고 모델에 넣어서 처리

Tensor

tensor는 기본적으로 배열을 뜻한다.

그 tensor의 배열 차원에 따라서 다른 Rank가 붙는다.

assets/images/ml/pandas/Untitled 6.png

tensor의 생김세에 따라서 Shape를 표시한다.

assets/images/ml/pandas/Untitled 7.png

데이터 타입

대부분 float32로 사용

assets/images/ml/pandas/Untitled 8.png