머신러닝
머신러닝이란?
데이터를 반복적으로 학습하여 데이터에 숨어있는 패턴을 찾아내는 것
머신러닝 방식 3가지
- 지도학습(supervised learning)
- 비지도학습(insupervised learning)
- 강화학습(reinforcement learning)
파이썬을 이용한 머신러닝 라이브러리
-
텐서플로
구글이 공개한 기계학습/딥러닝/신경망 라이브러리, 오픈소스, 성능과 확장성 좋음
-
사이킷런
가장 인기많은 머신러닝 라이브러리 지원, 분류, 회귀, 군집화, 차원축소
-
카페
C++로 구현 됌, 딥러닝 라이브러리, GPU이용
지도학습
데이터의 붙어있는 정답 라벨을 말한다.
데이터를 가지고 컴퓨터에 정답 라벨을 학습하고 정답 라벨을 출력하도록 학습 모델을 만듬
생성한 모델에 미지의 데이터를 적용하면, 정답과 가까운 값이 나옴
지도학습은 분류와 회귀로 나눌 수 있음
- 분류 -카테고리 예측
ex) 얼굴 사진에서 남녀 식별, 사진에 찍힌 물건의 식별과 문장으로 저자 예측
- 회기 -수치 값 예측
ex) 임대료 예측, 기온 예측
지도학습 과정
- 데이터 수집 - 공공 api, scv
- 데이터 전처리 - pandas 가공
- 머신러닝 기법으로 데이터 학습 - scikit-learn을 이용해 비교
- 테스트 데이터로 성능 테스트 - 테스트 값을 적용해 성능을 테스트
- 머신러닝 모델을 웹 환경 등에서 구현 - 장고를 활용해 띄어줌
훈련 데이터와 테스트 데이터
- 훈련 데이터 -학습에 사용하는 데이터 - api, csv값
- 테스트 데이터 -학습된 모델의 정밀도를 평가할때 사용(테스트 데이터는 학습안된 데이터여야함) - 내가 직접만든 데이터이여야함
지도학습 -분류(classification)
- 이진 분류
분류한 클래스(카테고리)가 두 개인 분류 문제
직선으로 구별가능하면 선형 분류
else 비선형 분류
- 다항 분류
분류할 클래스가 3개이상인 경우
직선으로 거의 불가능
지도학습 -회귀(regression)
- 관찰된 연속형 변수들에 대해 두 변수 사이의 모형을 구한 뒤 적합도를 측정해 내는 분석
- 하나 이상의 독립변수들이 종속변수에 미치는 영향을 추정할 수 있는 통계 기법
ex) 부동산 가격 예측, 주식 예측, 인구 예측
- 독립 변수 :
- 'x값이 변함에 따라 y값도 변한다.'는 이 정의 안에서, 독립적으로 변할 수 있는 x값
- 독힙변수와 종속변수의 개수 및 특성에 따라 단순 회귀, 다중 회귀, 다항 회귀, 곡선회귀, 로지스틱회귀, 비선형 회귀로 나뉨
- 단순 회귀 : 독립변수가 1개이며, 종속 변수롸 관계가 직선
- 다중 회귀 : 독립변수가 k개 이며, 종속 변수와 관계가 선현(1차 함수)
- 다항 회귀 : 독립변와 종속변수와의 관계가 1차 함수 이상인것(2차 함수 ax2+bx+c)
- 로지스틱 회귀 : 종속 변수가 범주형(2진 변수(0,1))경우 적용
지도학습 - 분류
- 데이터 전처리 -데이터 가공, 수정
- 모델 선택 - 분류기(학습모델)선택
- 모델 학습
- 모델에 의한 예측(추정)
테스트 데이터 셋을 이용한 모델의 정화도 검증
웹 서비스 등에 포함시켜 ai모델을 실제로 운용
비지도 학습
사이킷런 손글씨 인식 예제

- datasets = 손글씨 숫자 데이터를 불러오는 모듈
- svm = 분류에서 쓰는 모듈(알고리즘이라고 말할수 있음) SVC는 비선형, LinearSVC는 선형SVC
- train_test_split(digits.data(독립변수),digits.target(종속변수)) 7:3으로 나누어짐
- clf.fit = 알고리즘에 맞게 학습시킴
- clf.predict = 테스트데이터를 넣어서 예측해봄
- metrics = 성능평가, 정확도
나이브 베이즈 분류 알고리즘(지도학습)
Text를 분석해서 결과를 도출
나이브(단순)하게 독립적인 사건으로 가정하고, 이 독립 사건들을 베이즈 이론에 대입 시켜 가장 높은 확률의 레이블로 분류를 실행하는 알고리즘

- 조건부 확률에 따른 많은 계산이 필요
- 나이브 베이즈 알고리즘에서는 나이브하게 모든 사건을 독립적인 사건으로 간주해 복잡성을 낮춤
- 장점
-모든 데이터의 특징이 독립적인 사건이라는 나이브 가정에도 불구하고 실전에서 높은 정확도를 보임, 특히 문서분류 및 스팸 메일 분류에 강한 면모
-나이브 가정에 의한 계산 속도가 다른 모델들에 비해 빠름
- 단점
-모든 데이터의 특징을 독립적인 사건이라고 가정하는 것은 문서 분류에 적합할지는 모르나 다른 분류 모델에는 제약이 될 수 있음