기록 블로그

프로그래머스 데브코스-데이터 엔지니어/TIL(Today I Learned)

07/18 72일차 머신러닝을 위한 기초 선형대수

usiohc 2023. 7. 18. 17:02

선형대수 기초


주요 메모 사항


선형대수의 기본 개념

선형대수는 수학의 한 분야로, 벡터와 행렬을 다루는 대수적인 개념과 기법을 연구

 

1.1 벡터 (Vector)

벡터는 크기와 방향을 가지는 양을 나타내는 개념입니다. 2차원 벡터는 평면상의 위치를, 3차원 벡터는 공간상의 위치를 표현하는 데 사용됩니다. 기호로는 보통 소문자로, 굵은 화살표로 표시합니다.

 

1.2 행렬 (Matrix)

행렬은 2차원 배열로 구성된 숫자들의 집합입니다. 데이터를 구조화하거나 선형 변환을 표현하는 데에 사용됩니다. 기호로는 보통 대문자로 표시합니다.

 

1.3 벡터 공간 (Vector Space)

벡터 공간은 벡터들의 집합으로, 일정한 선형 조건(덧셈과 스칼라 곱)을 만족하는 공간을 의미합니다. 이는 추상적인 개념으로, 선형대수의 핵심입니다.

 

1.4 선형 변환 (Linear Transformation)

선형 변환은 벡터 공간 상의 벡터를 다른 벡터 공간 상의 벡터로 매핑하는 선형 함수를 의미합니다. 데이터의 변환과 기하학적 변형을 표현하는 데 사용됩니다.

 

 

 

선형대수와 기계학습의 관계

선형대수는 기계학습과 밀접한 관련이 있음

기계학습은 컴퓨터 시스템이 데이터를 분석하고 패턴을 학습하는 분야

 

2.1 데이터 표현

기계학습에서 데이터는 주로 벡터나 행렬로 표현됩니다. 예를 들어, 이미지는 픽셀 값으로 이루어진 2차원 배열로 표현할 수 있으며, 텍스트 데이터는 단어의 빈도를 벡터로 나타낼 수 있습니다.

 

2.2 선형 모델

선형대수는 기계학습에서 가장 기본적인 모델인 선형 모델을 표현하는 데 사용됩니다. 선형 회귀와 같은 모델은 데이터의 선형 관계를 표현하며, 이때 선형대수의 기법을 사용하여 모델을 최적화하고 예측합니다.

 

2.3 차원 축소

선형대수의 기법 중 주성분 분석(PCA)은 데이터의 차원을 축소하는 데에 사용됩니다. 고차원 데이터를 저차원으로 표현함으로써, 데이터를 시각화하거나 연산을 효율적으로 수행할 수 있습니다.

 

2.4 딥러닝과 선형대수

딥러닝은 다층 신경망으로 이루어진 모델입니다. 이때 각 층은 선형 및 비선형 연산으로 이루어지며, 선형대수의 행렬과 벡터 연산을 효율적으로 사용하여 학습과 예측을 수행합니다.

 

 

선형대수와 기계학습의 중요성

선형대수는 기계학습과 딥러닝을 이해하고 구현하는 데 매우 중요합니다.

 

3.1 모델 이해와 설계

선형대수의 개념을 이해하면, 기계학습 모델의 동작 원리와 설계에 대해 더 깊이 이해할 수 있습니다. 이를 통해 모델을 최적화하고 적절히 선택할 수 있습니다.

 

3.2 효율적인 계산

선형대수의 기법을 활용하면 데이터의 연산을 효율적으로 수행할 수 있습니다. 많은 기계학습 알고리즘은 행렬 연산을 사용하므로, 선형대수의 지식은 계산의 속도를 향상시키는 데 도움이 됩니다.

 

3.3 차원 축소와 시각화

선형대수의 주성분 분석 등의 기법은 데이터를 저차원으로 축소하여 시각화하는 데에 활용됩니다. 이를 통해 데이터의 패턴을 파악하고 이해하는 데 도움이 됩니다.

 

3.4 딥러닝 이해

딥러닝은 다층 신경망으로 이루어져 있으며, 이를 행렬과 벡터 연산으로 효율적으로 구현합니다. 따라서 선형대수의 지식은 딥러닝 이해와 구현에 필수적입니다.

 

 

 

왜 선형대수를 알아야 하는가?

- Deep learning을 이해하기 위해서 반드시 선형대수 + 행렬미분 + 확률의 탄탄한 기초가 필요

- 아래 예처럼 핵심 아이디어가 행렬에 관한 식으로 표현되는 경우가 많다

예) Transformer의 attention matrix:

 

 

기본 표기법 (Basic Notation)

 

 

 


공부하며 어려웠던 내용