/ ML

[tensoflow 2.0] 0.머신러닝 이해하기

머신러닝 이해하기

머신러닝, 딥러닝, AI의 차이를 배웠다.

머신러닝의 정의

전통적인 프로그래밍의 절차

0/Untitled.png

머신러닝의 프로그래밍 절차

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

데이터를 보고 룰을 찾아낸다.

큐브를 돌리는 맞추는 것을 보면 어떤 상황에서도 그 상황에 맞는 룰을 정의해 그 상황을 해쳐 나가도록 행동한다.

이 룰을 가지고 큐브를 맞추는 레고 로봇을 만들었다.

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

전통적인 룰 베이스 프로그래밍은 사전에 룰을 가지고 프로그램을 만든다.

지금 3x3 의 큐브는 별 문제 없이 동작한다. 하지만 5x5 큐브나 그 이상의 큐브를 맞추기 위해서 룰을 연구해야 하고 다시 프로그래밍 해야 한다.

만약, 이렇게 무한히 많은 경우의 큐브의 경우에는 어떻게 해야할까? 방법이 없다.

하지만 스스로 학습하는 머신러닝 모델을 만들면 시간을 걸리겠지만, 해결법을 찾아낼 것이다.

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


머신러닝 이해하기

머신 러닝 알고리즘의 종류

  • Supervisor learning
    • 앞으로 진행할 보스턴 마라톤 기록 예측 같이 라벨이 있는 데이터로 결과 예상
  • Unsupervisor learning
    • 구글 뉴스 같이 라벨이 없는 데이터를 그룹화
  • Reinforcement learning
    • 알파고가 학습한 방법
    • 요즘 뜨고 있는 학습 방법
    • 상, 벌을 가지고 보상을 최대화 하는 방식으로 학습
    • 알파고, 탁구 머신 등

회귀(Regression)과 분류 (Classification) 문제

Regression - 회귀

회귀 - 연속된 일련의 값에서 패턴을 예측하는 것

보스톤 마라톤 데이터를 가지고 완주 시간을 예측하는 방법

Classification - 분류

카테고리를 나누는 것.

우리 삶에서 많이 쓰이고 있다.

스팸인지 아닌지. 페이스북에서 내가 선호하는 이미지를 찾는 것

binary classfication만 있는게 아니라 Qualify classification도 있다.


학습 전략 - Data set

Rule base Vs Machine Learning

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

데이터 셋

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

데이터를 가지고 가설을 만들고 머신에 학습을 시킨다면 적절한 값을 얻게 될것이다.

전체 데이터를 가지고 학습 시키는 게 아니다.

학습 데이터와 검증 데이터, 테스트 데이터를 가지고 모델을 학습시키고 검증한다.

특이 데이터가 있을 수 있는데 그런 데이터를 걸르기 위해서 검증 데이터가 필요하다. 모델의 신뢰성을 위해 검증을 통해서 계속 최적화해 나갈 필요가 있다.

테스트 셋은 모델을 트레이닝 하는데 참여하지 않는다.