⚡AI/∃Mathematics
딥러닝 학습방법(비선형모델 학습)
비선형모델의 학습방법을 AraBoza 아래와 같이 데이터 X와 가중치 W사이의 행렬곱과 bias b벡터로 구성된 식이 있다고 가정해보자 이 때 우리는 W와 b를 수정해나가면서 정답과 가까운 O를 예측하는 것이 목표이다! 계산 결과를 살펴보면 n차원이던 X벡터가 p차원으로 변환되는 것을 살펴볼 수 있다. 다중분류 문제를 풀기위해서 출력벡터 O에 소프트맥스(softmax)라는 함수를 합성하면 특정 클래스에 속할 확률로 해석할 수 있는 확률벡터로 변환해준다 아래는 소프트맥스를 합성한 식이다. 추론을 할 때는 원-핫(one-hot)벡터를 사용해 sofrtmax를 사용하지는 않는다 one-hot벡터 : 최대값을 가진 주소를 1로 나머지를 0으로 표현 여기까지만 본다면 우리는 단순히 선형모델을 푸는 것밖에 되지 않..
경사하강법(Gradient Decent)
경사하강법에 대해 Araboza 최적화 문제를 다루기 위해 목적함수를 설정하고 우리는 목적함수(손실함수)의 손실을 최소화가 필요하다 이 때 경사하강법을 사용할 수 있따! 경사하강법은 기울기 변화를 통해 함수의 최솟값을 찾는 알고리즘이다 먼저 경사하강법에 대해 알기 위해 미분의 개념이 필요하다 Def) 미분(Differential) 어떤 운동이나 함수의 순간적인 움직임을 서술하는 방법, 그것의 도함수를 도출해내는 과정으로 변수의 움직임에 따른 함수값의 변화를 측정하기 위한 도구로 최적화에 자주 쓰임 아래는 파이썬의 sympy 라이브러리를 이용한 미분계산 과정이다 import sympy from sympy.abc import x sym.diff(sym.ply(x**3 + 3*x**2 + 3 ), x) 다변수..
벡터&행렬이란 무엇인가?
벡터란? Def) Vector 수학의 관점에서는 일반적으로 추상적인 벡터공간을 구성하는 원소 보통 크기와 방향성을 갖는 물리량을 나타내는데 사용, 방향이 없으면 스칼라! 4차원 이상으로 가면 방향성 표현이 모호해져 그냥 벡터공간에서 꺼내왔으면 벡터라고 표현 공간에서 한점을 나타내며 원점으로부터 상대적 위치를 표현한다. 수학적으로 표시할 때 열벡터(Column)가 기본이고 행(Row)벡터로 표현시 아래와 같이 트랜스포즈(Transpose)하여 사용한다. $$X^T = [1, 2, 3]$$ 파이썬에서는 Numpy를 사용해 벡터를 생성하는데 기본적으로 행벡터로 생성이된다. 벡터의 연산 벡터의 차원이 같으면 덧셈, 뺄셈, 성분곱(elementewise product)이 가능하다. 성분곱 : 해당 차원의 원소끼리..