Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- Robot Vision
- Computer Vision
- Unsupervised learnin
- data-science
- 영상처리
- 컴퓨터 비전
- supervised learning
- 로봇비전
- Image Processing
- 머신러닝
- Machine Learning
Archives
- Today
- Total
학습일기
#02 Machine Learning-머신 러닝 종류 본문
먼저, Robotics 전공자로서 공부한 것을 정리해보는 글이다.
개인적인 견해를 포함한 글일 수 있으니 양해를 구한다.
지나가는 말은 "(skip)" 문구를 붙일 것이니 굳이 읽지 않아도 된다.
- 머신 러닝 종류
머신러닝은 크게 두 가지로 나눌 수 있다.
- 지도학습(Supervised learning)
- 사용자가 알고리즘을 이용해 입력과 예상되는 출력을 만드는 방법을 말한다.
- 즉, 정해진 정보 한에서만 동작한다는 것이다.
조잡하고 극단적인 예를 들자면 input과 output의 관계가 명확한 다음 3개의 데이터가 있다. A=1, B=2, C=3
여기서 A는 무엇인지, B는 무엇인지, C는 무엇인지 알 수 있을 것이다. 또한 1,2,3이 어떤 분류(A, B, C)에 속하는지도 알 수 있을 것이다. 하지만 D라는 입력이 들어올 때 출력 값을 찾지 못하며, 4라는 출력 데이터가 있을 때 분류를 결정하지 못해 오류를 발생시킨다.
ex) 스팸필터, 신용카드 거래내역, 영상 이미지에 기반한 종양 판단 등
- 분류(Classification):
- 변수의 예측을 위해 사용되는 지도학습의 한 방법을 분류라고 한다.
- 레이블 2개 : 이진 분류(binary classification)
- 범주 두 개 이상 : 다중 클래스 분류(multi-class classification)라고 부른다.
- 회귀(Regression):
- Training-data를 이용, 연속적인 값을 예측하는 것을 의미
- 예측(Forecasting):
- 과거 및 현재 입출력 data를 기반으로 예측
- 주로 동향(Trends)을 분석할 때 많이 사용됨.
ex) A기업의 19년, 21년도 매출을 기반으로 22년 매출을 추산(예측, 추정)하는 것 - 비지도학습(Unsupervised learning)
- 지도학습과는 다르게 알고리즘 내에 입력은 주어지지만 출력은 주어지지 않는 형태이다.
- input과 output의 관계가 결정되어있는 지도학습보다 해석에 있어서 어려움
ex) 블로그 또는 카페의 주제 판단, 비정상적(음란물, 도박 등) 웹사이트 접근 탐지 및 차단, 취향 판단 및 그룹화
- 클러스터링(Clustering):
- 특정 기준에 따라 유사한 데이터 분류하고 같이 분류된 데이터들을 한 세트로 그룹화한다.
- 여러 데이터 세트를 여러 그룹으로 분류하기 위함
- 차원 축소(Dimension Reduction):
- 변수의 개수를 줄이는 작업.
- 원시 데이터들(raw datas)은 차원이 높아 쉽게 결과를 확인, 도출하기 어렵다. 그 원시 데이터의 일부 특징들은 중복되거나 관련성이 없는 데이터일 수 있다. 그래서 변수 개수를 줄이면 data들의 상관관계를 도출하기 용이해질 수 있다. - 강화학습(Reinforcement learning)
- 피드백을 기반, 이후 패턴을 분석하고 최적화한다.
- "강화 학습만의 특징"
시행착오(Trial-and-error)
지연 보상(delayed reward)
- 지도학습(Supervised learning)
- 필수 패키지 및 사용 환경
- 패키지(package)
- scikit-learn
- Numpy
- Python을 이용하기에 위해 꼭 필요한 패키지
- 배열이 기본 데이터 구조
- 다차원 배열을 위한 기능
- 선형대수 연산
- 푸리에 변환
- 수학 함수
- 유사(pseudo) 난수 생성기 포함 - SciPy (https://scipy.org/)
(SciPy강의노트 : https://scipy-lectures.org/)
- 고성능 선형대수
- 함수 최적화
- 신호처리
- 특수한 수학 함수, 통계 분포
- 0을 많이 포함한 2차원 배열을 저장할 때 사용하는 희소 행렬 or 희박 행렬 (sparse matrix) 기능
etc - matplot (https://matplotlib.org/)
- 그래프를 통한 시각화(Visualization)
- 선 그래프, 히스토그램, 산점도 etc
- 고품질 그래프 표현 - pandas (https://pandas.pydata.org/)
- 데이터 처리와 분석을 위한 Python Library
- DataFrame이라는 데이터 구조를 기반으로 만들어졌다.
- DataFrame은 Excel의 Spreadsheet와 비슷한 테이블 형태
- 테이블 수정, 조작 기능 포함
- SQL, XLSX, CSV와 같은 데이터 베이스에서 데이터를 읽어올 수 있는 기 - mglearn
- 그래프, 데이터 적재와 관련된 코드를 일일이 작성하지 않아도 되도록 유틸리티 함수들을 포함한다.(참고서적의 저자가 만듦)
-간단한 그림, 데이터를 바로 load 할 수 있음. - IPython
- 대화식 개발을 위해 필요한 라이브러리 - Jupyter
- 프로그램 코드를 브라우저에서 실행해주는 대화식 환경 제공
- 많은 수의 데이터 분석가가 사용
- 다양한 언어 지원
- 코드, 설명, 이미지를 섞어 쓸 수 있다.
- Anaconda (http://www.anaconda.com)
- 범용 Python 배포판
- 대용량 데이터 처리
- 예측 분석
- 과학 계산용
- 지원 OS : Windows, Linux, macOS - 포함된 패키지(package)
- Numpy
- SciPy
- matplotlib
- Jupyter
- pandas
- IPython
- scikit-learn
- 범용 Python 배포판
- ActivePython (https://www.activestate.com)
- 범용 Python 배포판
- 무료 (Community Edition), 유료 (기업용 Enterprise)
- 지원 OS : Windows, Linux, macOS - 포함된 패키지
- Numpy
- SciPy
- matplotlib
- Jupyter
- pandas
- scikit-learn
- 범용 Python 배포판
- Python(x, y) (https://python-xy.github.io/)
- 범용 Python 배포판
- Windows에 특화된 과학 계산용 무료 파이썬 배포판
- 지원 OS : Windows - 포함된 패키지
- Numpy
- SciPy
- matplotlib
- Jupyter
- pandas
- IPython
- scikit-learn
- 범용 Python 배포판
- 패키지(package)
Next Note(#03 Machine Learning-필수 패키지 및 사용 환경)
'Research > Machine Learning' 카테고리의 다른 글
#03 Machine Learning-필수 패키지 및 사용 환경 (0) | 2021.12.05 |
---|---|
#01 Machine Learning-개요 (0) | 2021.11.25 |
Comments