전통적인 프로그래밍 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
'machine learning' 카테고리의 다른 글
[machine learning] 기계학습 작업 흐름 (workflow) (0) | 2021.06.21 |
---|---|
[machine learning] 퍼셉트론과 이진분류(linear binary classification) (0) | 2021.06.19 |
[Machine Learning] 활성화 함수의 종류와 기능 (0) | 2021.06.17 |