- AI 개요
- 머신러닝의 동작 원리
- 머신 러닝의 구현 방법 및 활용
- 딥 러닝의 구현 방법 및 활용
1. AI 개요
1) AI 개념
인간의 지능을 컴퓨터나 시스템 등으로 만든 것 또는 만들 수 있는 방법론이나 실현 가능성 등을 연구하는 기술 또는 과학
인공지능은 다양한 컴퓨터 과학 기술의 조합을 통해 사물을 더욱 똑똑하게 만드는 과학 기술을 일컫는다
- Symbolic AI
룰을 기반으로 작동되는 AI(1950s~1980s)
1980년대 expert system(전문가 시스템)
- Machine Learning
1990s
Statistics vs. Machine Learning (이론적 vs. 실험적)
- Deep Learning
Learning representations from data
딥러닝은 뉴럴네트워크를 이용하는 계층적 representation learning임
2) AI 접근 기법 (모델링 + 알고리즘)
- 일반적인 기법(Real-world task)
Real-world task → Program
Input : list 1000 web pages Ouput : 10 most relevant web pages
- 모델링(Modeling)
L = list of web pages
f(x) = 10 * QueryMatch(x) + 3*PageRank(x)
formal task : Input : list L = {x의 집합} and a function f:X→R, Output k highest-scoring elements
- 알고리즘(Algorithms)
Formal task : Modeling과 동일
Example : (k=2) = L:A,B,C,D f:3,2,7,1
Two algorithms :
Scan through to find the largest, scan through again to find the second largest, etc.
Sort L based on f, return first k elements.
3) Features
Machine Learning에서 feature란 Data가 가지고 있는 요소를 의미한다.
- Real world problem을 formal task로 모델링할 때 사람이 Feature와 Data를 제공하면 적정한 weight를 알고리즘이 찾아줌
- Feature를 얼마나 사람이 잘 제공해주느냐가 정말 중요함
- 딥러닝이 나오기전에는 사람이 Feature를 어떻게 제공하느냐에 따라 성능이 아주 많이 차이남 (물체 인식에서 물체의 구도가 바뀌면 성능이 달라짐)
- 딥러닝에서는 feature를 스스로 학습하여 primitive feature만 제공하면 feature를 스스로 학습하여 feature selection 과정을 건너뜀.
- Feature Extraction
Example task : predict y, whether a string x is an email address
Question : what properties of x might be relevant for predicting y?
Feature extractor : Given input x, output a set of (feature name, feature value)
input : 'abc@gmail.com' →feature extractor→ 'Lenght, facOfAlphabet, Contains_@, endsWith_.com, endsWith_.org'
- Feature Vector Notation
Mathematically, feature vector doesn't need feature names
For an input x, its feature vector is: x = [x1, x2, x3]
4) Generalization
- 기계학습의 진정한 목표는 무엇인가?
Minimize error on the training set
minimize training error with regularization
minimize error on unseen future examples
learn about machines
- Machine Learning
Learning algorithm maximizes accuracy on training examples
But we only care about accuracy on future test examples
How to generalize from training to test?
-
Overfitting
-
Hyperparameters
Properties of the learning algorithm
How do we choose hyperparameters?
5) AI 모델링 종류와 방법
Reflex - States - Variables - Logic
→ 방향으로 갈 수록 High-level intelligence
- Reflex-based Model
Sentiment Analysis
Reflex-based Models
Machine Learning Approach
- States-based Model
Text Reconstruction
State-based Models(ex:Pac-Man)
- Variable-based Model
constraint Satisfaction Problem
Event Scheduling
- Logic-based Model
2. 머신러닝의 동작원리
1) 머신러닝개요와 프로젝트 프로세스
머신러닝이란 기존 데이터를 이용해 아직 일어나지 않은 미지의 일을 예측하기 위해 만들어진 기법
(1) 학습
- 학습에 의해 지식이 축적되거나 새로운 기능을 습득하거나 혹은 경험이 풍부해지는 등 학습자의 내용 상태가 변화함
- 이 변화는 학습자가 외부 환경에 따라 적합한 방향으로 발현함
- 새로운 문제가 나타났을 때 더 현명하게 문제에 대응할 수 있게 됨
- 컴퓨터 프로그램이 바깥 세상과 상호 작용하여 그 결과에 따라 내용 상태를 변경해 가는 과정
머신러닝은 데이터가 입력되고 패턴이 분석되는 학습 과정을 거쳐 미래를 예측하는 힘을 가지고 있다.
(2) 필요한 요소
- 입력 데이터
- 기대 출력
- 알고리즘의 성능을 측정하는 방법
성능 측정 이후 작동 방식을 교정하기 위한 신호로 다시 피드백 됨
(3) 데이터에서 표현(representation)을 학습하기
- 머신러닝모델은 입력 데이터를 의미있는 출력으로 변환함
- 머신러닝과 딥러닝의 핵심은 의미있는 데이터로의 변환임
- 머신 러닝 모델은 입력 데이터에서 적절한 표현을 찾는 것임
표현이란 무엇인가?
- 데이터를 인코딩하거나 묘사하기 위해 데이터를 바라보는 다른 방법
- 어떤 표현으로는 해결하기 힘든 문제가 어떤 표현으로는 쉽게 해결될 수 있음
머신러닝의 핵심은 표현(representation)과 일반화(generalization)가 있다. 표현은 데이터의 평가이며 일반화란 아직 알 수 없는 데이터에 대한 처리이다.
(4) 머신러닝의 분류
- 지도학습 : 정답을 주고 컴퓨터가 이 정답을 맞출 수 있도록 학습
- 비지도 학습 : 정답을 주지 않고 데이터에 숨겨진 특징이나 구조를 발견
- 강화 학습 : 에이전트가 다양한 액션을 취하면서 최적의 액션 집합을 탐색
2) 학습모델과 회귀분석
- 모델이란 현재 상태를 어떠한 시각으로 바라보고 어떠한 기대를 하고 있는 가 하는 것이다.
- 모델은 데이터를 어떻게 바라볼 것인지에 대한 가정이다.
- 머신러닝의 과정은 모델 정하기 - 모델 수식화하기 - 모델 학습하기 - 모델 평가하기의 반복이다.
(1) 모델의 종류
머신러닝/딥러닝의 뼈대는 선형 회귀와 로지스틱 회귀이다.
- 선형 모델
선형 회귀 : 단순 선형회귀, 다중 선형회귀
- 의사결정 트리
-
랜덤 포레스트 모델
-
순차 모델
CRD(Conditional Random Field)
RNN(Recurrent Neural Net)
- 그래프 모델
마르코프 랜덤 필드
선을 그리고 나면 오차를 평가해야한다. 이 때에 사용하는 알고리즘이 평균 제곱근 오차 알고리즘이다. 이 오차율을 통해 회귀 모델의 정확도를 평가한다.
3) 가설함수 및 비용함수의 이해
(1) 가설함수(Hypothesis) : 입력데이터 x에 대해서 출력된 y를 보고 w를 찾아가는 방식으로 학습을 전개함
(2) 비용함수(Cost) : 머신러닝 알고리즘에서 차이 값을 비용이라고 함.
4) 오차수정과 경사 하강법
(1) 오차 수정하기
- 선형 회귀식 y=ax+b에서 기울기 a를 너무 크게 잡거나 너무 작게 잡으면 오차카 커짐
- 오차가 가장 작은 점을 구하기 위해서 미분을 사용함 (최소점 생각)
- 경사 하강법(Gradient Decent)
5) 로지스틱 회귀와 활성화 함수
참과 거짓 중에 하나의 결과를 내놓는 과정이며 최적의 예측 값을 내놓는다.
3. 머신 러닝의 구현 방법 및 활용
직접 코드 구현
4. 딥 러닝의 구현 방법 및 활용
직접 코드 구현
'Python > DeepLearning' 카테고리의 다른 글
가상환경에서 tesseract 실행하기 (0) | 2019.05.22 |
---|---|
왜 machine learning에서는 Normal Distributions를 사용할까? (3) | 2019.05.16 |
TensorFlow 교육 - 2일차 (0) | 2019.05.14 |
TensorFlow 교육 - 1일차 (0) | 2019.05.13 |
신경망 학습의 핵심 개념 - 오버피팅 (0) | 2019.04.26 |