2021. 8. 25. 22:58ㆍai/Machine Learning
AI(인공지능) : 사람의 사고능력을 구현한 시스템 OR 프로그램
- strong AI : 사람과 구분할 수 없을정도로 강력한 AI(영화에나 잇을법한..)
AI연산속도 = 사람의 연산속도 100만배 / 때문에 반대도 한다..
- weak AI ; 특정한 영역에서 작업을 수행하는 ai (자율주행, 챗봇 등..)
- marchine learning은 ai를 만드는 방법중 하나
기존 programming : explicit programming(명시적 프로그래밍) , Rule based programming
marchine learning : - 사진안에 동물이 고양이 인가요?
Rule based programming은
data를 만들어진 함수에 넣으면 처리해서 해답을 얻는다
명령 하지 않으면 1번만 수행한다
Machine Learning은
data와 해답을 밀어넣어 패턴을 파악해 규칙성을 찾아낸다 이를 model이라한다 ㅡ>
새로운 data와 해답을 넣을때마다 기존 model과 비교해서 갱신한다 이를 학습(learning)이라한다
[learning은 사용한 data로부터 중요한 특징을 끄집어내고 일반화 한것이 model 이걸 다시 learning] ㅡ>
model에 알고싶은 사진을 넣으면 prediction(예측)한 값을 반환
많은양의 data와, 양질의 data가 없으면 machine learning이 무의미
AI : 가장 포괄적인 개념, 인간의 학습능력 추종능력을 컴퓨터로 구현한 것
Machine Learning : AI를 구현하기 위한 하나의 방법론
- Data를 pattern과 특징을 학습(learning)해서
- 미지의 데이터에 대한 추정치를 추론,계산(수치적으로)
program을 만드는 (model)프로그램 기법
아래는 Machine Learning을 하는 기법들중 일부
Regression [회기분석]
SVM(support vector Machine)
Decision Tree
Random Forest
Naive Bayes
KNN(k-Nearest Neighbors)
k - Means, DBSCAN(clustering) [비지도학습에 사용]
Reingorcement Learning [강화학습에 사용]
Nevral Network [신경망] 은 방대하다
-다양한 구조와 알고리즘이 존재하는데 이를 Deep Learning
-Deep Learning은 너무복잡해서 런닝머신보다 조금더 나은 결과를 낳을수 있지만
시간도 오래걸리고 cpu 퍼포먼스와 메모리를 너무 많이 먹는다. 그래서 머신런닝을 선호
(Machine learning 은 5분걸릴거 Deep Learning은 10시간이 걸린다 )
정형적인 DATA : DB, CSV, EXCEL -Machine Learning에 적합
비정형 DATA : 이미지, 소리, 대용량 text -Deep Learning에 적합
왜 machine learning이 필요한가요 ?
-Rule based programming으로 해결 할수 없는 문제를 해결하기 위해 등장
(1960년대 등장해서 2번정도 크게 각광받고 쫄딱 망했다 / deep learning은 최근)
-> Rule based programming은 규칙이 너무 많아서 프로그래밍이 안되요
(대표적으로 바둑인데 이를 machine learning으로 해결)
Machine Learning을 학습방법[data의 규칙성을 뽑아내는 방법] 에 따라 4가지로 분류
★ 지도학습 (Supervised Learngin) [Supervised : 관리자]
- 비지도 학습 (Un Supervised Learngin)
- 준지도 학습 (semi supervised Learning) [지도 + 비지도 학습]
- 강화학습 (Reinforcement Learning) [응용이 많지 않으나 최근 금융쪽에서 각광]
과정 : 입력data에 입력 ㅡ> 프로그램 돌려!! ㅡ> 모델 ㅡ> 예측하고픈 data밀어넣어!! ㅡ>
prediction (예측)
지도학습(Supervised Learngin)
입력 DATA ( 전체를 trainning DATA set )
X - 입력값 강아지사진
(feature - / 피쳐 / 독립변수 예측하기 위해 사용되는 입력)
T - 사실값, label (레이블,라벨) 사진에 대한 설명
(target - 목표변수, 종속변수 / 예측목표가 되는 변수)
- model의 본질은 수식 [ ex) T= 3X - 7 ]
지도학습(supervised learning)은 모델 완성 후 어떤 종류의 예측하느냐에 따라
Regression(회기) [돌아간다,회기한다]
- 종속변수(target : 예측값)이 continous(연속적인 숫자 : 시간, 주가, 시험성적등.. ) 한 value일때
= 얼마나 라는 값을 예측
classification(분류)
- 종속변수(target :예측값)이 discrete [(같은 종류의 다른 것들과) 별개의 (=separate)] 한 value일때
- 이상값 : true 냐 false냐 , 0이냐 1이냐, 합격이냐 불합격이냐
= '어떤것'을 예측
여기서 또 나뉜다
- 둘 중 하나를 선택 하는 이항분류(binary classification)
- 여러개중 하나를 선택하는 다항분류(multinominal classification)
비지도 학습(unsupervised learning)
-학습을 위한 입력data에 'label'이 존재하지 않아요 [그림만 들어간다]
-그림들을 입력값에 넣으면 cluster(군집 = 무리를이루다) 한다 [위 사진 참고]
- 그림을 던져주면 어느 cluster인지가 비지도 학습
-clustering(군집화)는 classification(분류)랑 다르니 유의
공모전 나갔다고 했을때 Machine Learning 순서
Machine Learning Process
1 . 문제파악(Domain분석)
- 1. 해당분야의 domain((지식·활동의) 영역)습득
- 2. 데이터 분석의 방법, 일정 수립
- 3. 정확도를 측정하는 방법이해
2 . 데이터분석
- 1. 내부data만 이용할것인지, 외부data도 사용할 것인지
- 2. EDA 통계적 데이터 분석(상관분석)
3 . 데이터 전처리(Data prerpocessing)
- 모델 학습이 가능한 형태로 data를 정리(pandas) - 이게 안되면 의미가 없다
- data분리,병합
- 결측치와 이상치 처리
- binning 처리
- 자료형 변환
- 새로운 feature을 추가 or 삭제
4 . 모델학습
-반복해서 더 똑똑하게 학습
5 .prediction : test data set을 이용해 예측값 도출
'ai > Machine Learning' 카테고리의 다른 글
ozone.csv를 python,sklearn으로 LinearRegression 처리 (0) | 2021.08.30 |
---|---|
LinearRegression 정리 (0) | 2021.08.30 |
loss function(손실함수), Gradient Desert Algorithm(경사하강법) (0) | 2021.08.30 |
편미분, Regression(회기) (0) | 2021.08.28 |
미분 (0) | 2021.08.27 |