전통적인 프로그래밍 vs Machine Learning

 

전통적인 프로그래밍

- 정해진 규칙이 있다.

- 새로운 규칙이 들어오면 수정이 필요하다.

- 자료 축적이 필요하지 않다.

 

Machine Learning

- 스스로 규칙을 학습한다.

- 프로그램 수정이 불필요하다.

- 자료의 축적이 필요하다.

 

스팸매일을 구별하는 알고리즘이나 고양이를 구별하는 알고리즘은 대동소이하다.

머신러닝의 경우 데이터만 많이 축적되면 잘 분류할 줄 알게 된다.

 

 

AI vs 머신러닝 vs 딥러닝

 

 

기계학습 방법론

기계학습은 컴퓨터를 학습시키는 방법론이며, 그 방법에 따라 3가지로 분류 가능하다.

 

1. 지도학습

- 자료를 통해 학습하고 예측한다.

- 답을 제시해야 한다.(레이블)

- 분류(classification)과 회귀(Regressoin)으로 나뉜다.

- 예측값과 실제값(레이블값)을 비교하며 예측여부를 피드백 받으면서 학습을 진행한다.

- ex) 숫자 인식

 

2. 비지도학습

- 데이터에서 스스로 패턴을 추정한다.

- 답(레이블)의 제시가 없다.

- ex) 신문기사 분석

 

3. 강화학습

- 행동에 대한 보상을 통해 그 보상을 극대화 하는 방식으로 학습한다.

- ex) 바둑, 게임

 

 

Machine Learning Framework

- tensor flow

- keras(tensor flow와 통합되어 함께 사용이 가능하다)

- pyTorch(python API이다)

 

 

개발환경(IDE, Integrated Development Enviroment)

- Jupyter notebook : 웹 브라우저에서 코딩과 문서 작성이 가능하다.

- 구글코랩 : https://colab.research.google.com/

 

 

머신러닝 개발도구

- python

- numpy

- matplotlib

- jupter notebook

 

+ Recent posts