Engineering/AI
-
[Fundamentals]원-핫 인코딩(One-Hot Encoding)Engineering/AI 2021. 4. 18. 00:47
- 원-핫 인코딩(One-Hot Encoding) 우리가 앞서 살펴본 데이터들은 상수로 대소관계나 비율을 구할 수 있었다. 그러나 범주가 남자, 여자, 어린이와 같이 string 형태, 혹은 글자 형태로 되어있는 정보는 이러한 대소관계나 비율을 구할 수 없다. 이러한 비선형 데이터를 처리하기 위해 고안된 방법이 바로 원-핫 인코딩이다. 원-핫 인코딩은 성별 정보나 동물 종류 같이 글자로 표현된 정보를 수치로 변환해주는 작업이다. 위의 예시를 보면 M, F, C라는 변수를 만들었고 이러한 변수에 해당 정보가 해당된다면 1, 해당되지 않는다면 0을 넣어 구분할 수 있게 된다. 아래는 추후에 살펴볼 회귀 분석에서 사용되는 원-핫 인코딩 기법이다. # Data load, one-hot encoding def l..
-
[Regression]확률적 경사하강법(Stochastic Gradient Descent)과 미니배치 경사하강법(Mini-Batch Gradient Descent)Engineering/AI 2021. 4. 17. 23:40
1. 배치 경사하강법(Batch Gradient Descent) 이전에 살펴본 경사하강법은 실제로는 머신러닝에서 배치 경사하강법(Batch Gradient Descent)이라 불리며 Figure 1과 같은 수렴 도식도를 가지게 된다. 이는 모든 데이터를 활용하는 기법으로 i번째 항을 기준으로 매개변수 갱신식을 살펴보면 아래와 같다. θi:=θi−ηn∑k=1((fθ(xk)−yk)×xki) 이러한 배치 경사하강법은 단점이 하나 더 존재한다. 바로 지역 최솟값(Local Minimum)이 발견된다면 전역 최솟값 근처(Global Minimum)로 가기 전에 지역 최솟값에 수렴하게 되는 문제이다. 이러한 문제를..
-
[Regression]회귀(Regression)와 경사하강법(Gradient Descent)Engineering/AI 2021. 4. 17. 15:10
1. 회귀(Regression) 머신러닝의 회귀는 어떤 특징 값 하나를 숫자로 추정하여 출력하는 과정이다. 최초로 회귀 분석이라는 용어를 사용한 사람은 영국의 유전학자 프랜시스 골턴으로 부모와 자녀 키 사이의 상관관계를 연구하며 '두 값 사이에 깊은 상관관계가 있지만 세대가 지남에 따라 키가 계속 커지거나 작아지려고 하기보다는 조사 집단의 평균값으로 돌아가려는 경향이 있다.'라는 가설을 세웠고 이 같은 분석 방법을 회귀(Regression) 분석이라고 불렀다. 2. 경사하강법(Gradient Descent) 이러한 머신러닝을 활용한 회귀에서는 최소가 0이 되는 계수를 바로 찾는 것보다 최소가 되는 계수를 향해 계수를 일정하게 수렴하게 만드는 경사하강법(Gradient Descent)을 사용한다. 경사하강..
-
[Regression]최소제곱법(Least-Square Method)과 목적함수(Objective Function)Engineering/AI 2021. 4. 17. 01:08
1. 최소제곱법(Least-Square Method) 최소제곱법은 보통 목적함수가 최소가 되는 계수를 찾는 과정을 의미한다. 주로 회귀 분석이나 수치 해석에서 입력 값과 출력 값의 관계를 규명할 때 사용된다. 선형대수학 관점에서 행렬을 표현하여 증명해보자. y1=ax1+b y2=ax2+b … yn=axn+b 위와 같은 식이 있다고 하자. 위의 식을 실제 데이터에 대입했을 때 발생하는 각 오차를 아래와 같이 정의해보자. e1=y1−(ax1+b) e2=y2−(ax2+b) … en=yn−(axn+b) 이 오차를 통해 매개변수의 최소 값을 구하기 전에 제곱을 해..
-
[Fundamentals]파라미터(Parameter)와 하이퍼파라미터(Hyperparameter)Engineering/AI 2021. 4. 15. 22:42
1. 파라미터(Parameter) 학습이 진행되는 중 끊임없이 바뀌면서 퍼셉트론의 동작 특성을 결정짓는 요소가 바로 파라미터이다. 즉, 가중치(weight)와 편향(bias)이라고 할 수 있다. 깊은 신경망을 만드는 목표 중 하나는 문제를 해결할 수 있는 적절한 파라미터 값의 조합을 찾는 것이라고 할 수 있다. 2. 하이퍼파라미터(Hyperparamter) : 텐서(Tensor)와 미니 배치(Mini Batch)의 활용 하이퍼 파라미터에는 미니배치와 에폭이 있다. 우선 미니배치를 먼저 살펴보자. 나무 위키에서는 텐서(Tensor)를 '벡터 계산을 단순화하기 위해 여러 같은 성질의 벡터를 한 행렬 안에 표기하고 그것을 단순화하여 표기한 것'이라고 정의한다. 엄밀한 텐서의 정의는 나무 위키를 참고하길 바라고..
-
[Fundamentals]단층 퍼셉트론(Single-Layer Perceptron)Engineering/AI 2021. 4. 15. 22:22
1. 단층 퍼셉트론 구조 단층 퍼셉트론은 Figure 1처럼 일련의 퍼셉트론을 한 줄로 배치해서 입력 벡터 하나로부터 출력 벡터 하나를 단번에 얻어내는 신경망 구조이다. 이때 입력 벡터로부터 출력 벡터를 얻으려면 출력 벡터의 크기(출력 벡터가 담고 있어야 할 스칼라 성분의 수 만큼의 퍼셉트론)이 필요하다. 그림에서 P1,P2,P3은 크기 3의 출력 벡터를 만들어 내기 위한 퍼셉트론을 생성하며 이들 퍼셉트론 사이에는 어떤 연결도 되지 않았기 때문에 영향이 없다. 따라서 자마다의 가중치 벡터와 편향 값을 이용하여 입력 벡터 x로부터 출력 벡터 y를 도출해내는 것이다. 2. 계층(Layer) 딥러닝에서는 퍼셉트론 열을 계층이라고 한다. 입력하는 벡터가 모여있는 층을 입력 계층, 출력되는 벡터가 생..
-
[Fundamentals]Fundamentals of Artificial IntelligenceEngineering/AI 2021. 4. 15. 20:57
신경망을 본격적으로 구현하기 전에 인공지능의 간단한 기초적인 지식을 살펴보기로 한다. 1. 인공지능, 머신러닝, 딥러닝(Artificial Intelligence, Machine Learning, Deep Learning) Figure 1에서 볼 수 있는 것처럼 큰 개념은 인공지능이다. 인공 지능은 보통 '지식 기반 접근'과 '데이터 기반 접근'으로 나뉜다. 우선, '지식 기반 접근'의 경우 문제 영역의 지식을 기호로 풀어내는 방식이다. 그러나 이런 지식 같은 경우 전문가마다 추상적이고 막연한 전문 지식을 표현하기에는 무리가 있다고 판단했다. 따라서 머신러닝으로 통칭되는 '데이터 기반 접근'을 통해 프로그램이 직접 데이터를 분석하여 숨어있는 규칙이나 패턴을 찾아내어 문제를 해결하는 방식이 주를 이루게 되..