본문 바로가기
데이터분석(DA)/빅데이터 기초

03. 벡터와 행렬 - 수치해석, 퍼셉트론, 역전파 알고리즘

by 왁왁s 2024. 4. 12.

스칼라(Scalar)

- 크기를 나타내는 실수 값

- 표현 식  𝑥 ∈ ℝ

- ℝ은 모든 실수 값을 모아놓은 집합

ex) 질량, 길이, 온도

 

 

벡터(Vector)

- 2개 이상의 실수로 구성되어 길이와 방향을 나타냄

- 표현 식

 

ex) 속도, 힘, 위치

 

 

행렬(Matrix) 

- 행(Row)과 열(Column)으로 이루어진 배열

- 표현 식 :

ex) 방정식, 상관행렬, 데이터 구조 표현

 

 

 


 

 

벡터와 행렬의 활용

방정식

방정식 ax + by = c은 벡터의 곱으로 표현할 수 있다.

 

 

 

회귀 모형식

어떤 모델이 입력은 여러 개 받아들이고 출력은 하나 내는 모델이 있는데, 출력이 입력에 대해서 선형적인 특성이 있다고 하면 하나의 출력은 결국 아래와 같이 다중 선형함수로 표현할 수가 있는데, 이를 행렬로 나타낼 수도 있다.

 

 

상관 행렬 (Correlation Matrix) 

두 변수(random variable)간의 상관관계를 나타낸 것인데, 이를 행렬 형태로 나타낸 것이다.

변수 간 상관계수 / 상관계수의 시각화

 

 

 


 

수치해석(Numerical Analysis)이란?

인공지능에서 필연적으로 활용하게 되는 수학적 툴로, 

수학 문제의 해를 컴퓨터를 이용하여 수치적으로 근사화하는 방법론을 말한다.

해를 정확하게 표현하기 힘들거나, 해를 표현하기 위해 많은 계산량이 필요한 경우 유용하다.

 

ex) 뉴튼-랩슨 법, 경사하강법

 

 

빅데이터 분석에서 수치해석의 장점

1. 수치적 안정성 확보

- 정확한 해를 찾을 수 없거나, 복잡한 문제에 대해 근사적인 해를 얻을 수 있다.

 

2. 모델 개발 및 분석

- 머신러닝 모델을 미분 방정식 형태로 일반화하여 모델 개발 및 분석이 가능하다.

 

3. 행렬 연산

- 효율적인 행렬 및 벡터 연산 기반으로 연산 수행을 한다.

 

4. 실시간 예측

- 실시간 데이터 분석 시 수치적으로 안정적인 알고리즘과 계산 방법을 활용한다.

 

 

 

빅데이터 분석에서 사용되는 수치해석

 이전 층의 특성들의 선형 결합으로 새로운 특징을 추출하는 모델인 신경망 모형의 모양을 결정하는 매개변수의 손실함수를 최소화 하는 과정에서 경사하강법 등의 수치해석이 적용된다.

 

대표적으로 활용되는 경사하강법에는 '역전파 알고리즘'이 있다.

 

실제 빅데이터에서 수치해석이 사용되는 사례는 다음과 같다.

 

출처 : 경상남도 주요 농산물 가격예측 시스템

인공지능 모델을 이용해 주요 10개 농산물에 대한 가격에 대한 예측 정보를 실시간으로 제공해주는 시스템이 있다.

 

 

출처 : 국가정보자원관리원 및 경찰청

또한 LSTM과 그래디언트 부스팅 기반인 Catboost 알고리즘을 적용하여 범죄 유형별 위험도를 예측하는 모델에 빅데이터 수치해석이 사용된다.

 

역전파 알고리즘 (Backpropagation)

이전 층의 특성들을 각각 다른 가중치(Weight)와 편향(Bias)를 업데이트하는 알고리즘

 

어떤 입력 값 𝑥₁ ~ 𝑥ₙ이 있을 때, 입력 값에 어떤 가중치 𝑤₀ ~ 𝑤ₙ가 곱해져서 하나의 출력 값을 만들어내게 된다. 이런 것들이 여러 개 쌓이게 되고, 그런 다음에 이 값의 활성 함수들이 적용이 되어 출력 값 𝑦=𝑓(𝒛)을 만들어내게 된다.

 

딥러닝들은 위의 과정을 상당히 많이 반복되는 구조를 갖는 것이 딥러닝의 특성이다.

 

 

역전파 알고리즘 과정

가중치(Weight)와 편향(Bias)를 조정하며 손실함수를 최소화하는 방법으로,

역방향(출력층 ➞ 은닉층)으로 가면서 수식을 적용해 최소가 되는 손실함수의 기울기를 계산하고, 가중치와 편향을 업데이트 하며 찾아나간다.

데이터 벡터가 입력으로 들어갔다고 했을 때, 벡터마다 가중치가 곱해져서 다 더해지고, 거기에 활성함수가 적용이 된다. 

이 과정이 반복이 되다가 원하는 값인 목표 값을 출력하고 싶다면 소프트맥스 함수를 붙이거나 다른 함수들을 추가해서 값을 추정한다.

 

 

역전파 알고리즘 [ 출력층 ]

 

출력층에서는 이전 층의 출력 값에 가중치가 곱해지고, 편향된 값이 더해져 출력층의 입력 값이 된다.

그리고 그 값을 다시 활성화 함수에 통과시켜서 출력 값을 만들어낸다.

 

여기서 원하는 것은 손실함수 𝐋 은 𝑓(𝒛)에 의존하는 어떠한 함수이다. 

손실함수 𝐋의 최소화는 가중치 𝑤 와 편향 b에 의해 결정이 된다.

 

 

연쇄 법칙(chain rule)에 의해 위와 같이 쓰여질 수 있다. 

∂𝐿 / ∂𝑦 x ∂𝑦 / ∂𝒛 x ∂𝒛 / ∂𝑤

 

∂𝐿 / ∂𝑦 : 손실 함수의 출력에 대한 편미분

∂𝑦 / ∂𝒛 : 출력의 z에 대한 편미분 

∂𝒛 / ∂𝑤 : z의 가중치에 대한 편미분

 

위의 수식은 출력층 ➞ 은닉층으로 거꾸러(역)으로 계산해간다.

 

 

역전파 알고리즘 [ 은닉층 ]

위의 출력층과 유사하다.

 

 

다층 퍼셉트론(MLP)란?

2개 이상의 층이 존재하는 신경망 모형으로 인공 신경망의 기본 구조이다.

은닉층 수에 따라 얕은 신경망(1개), 깊은 신경망(2개 이상)으로 재정의할 수 있으며, 

신경망 구조 내 층을 깊게 쌓아 데이터 특성을 세부적으로 학습하는 방법론을 딥러닝이라고 한다.

 

 

 

 

댓글