본문 바로가기
프로그래머스/데이터분석 데브코스

프로그래머스 데이터분석 데브코스 11-1 (선형대수)

by 포잉띠 2024. 4. 22.

선형대수

수 들이 모여있는 개념과 관련된 식을 연구하는 수학의 한 분야

  • 수가 모여 있다는 것은 벡터 혹은 행렬이라고 함

수를 다루는 많은 학문 (데이터, 공학, 과학적 분석 등)에서 수의 연산을 빠르고 효과적으로 하기 위해 사용하는 도구

수의 집합을 기하학적인 형상으로 적용 하여 표현

  • 시각적이고 직관적으로 수의 값을 이해 할 수 있음
  • 기하학적으로 의미를 갖는 다양한 변환을 수학적으로 정의할 수 있음(회전, 스케일링 등)

 

수의 집합 : 스칼라, 벡터 행렬, 텐서

숫자는 특정한 방향으로 줄을 서듯 모일 수 있음

  • 방향을 보통 차원이라고 부름
  • 숫자들이 얼마나 모이는지에 따라 크기가 정해짐

 

스칼라 : 다른 숫자와 함꼐하지 않고 홀로 존재하는 수

벡터 : 한쪽 방향(차원)으로만 숫자가 모인 형태 → 1차원

행렬 : 두 방향으로 숫자가 줄을 선 형태 → 2차원

텐서 : 벡터와 행렬을 일반화 한 개념

  • 0차원 텐서 = 스칼라
  • 1차원 텐서 = 벡터
  • 2차원 텐서 = 행렬
  • 3차원 이상 = 텐서

 

행렬 연산

행렬의 덧셈과 뺄셈

행렬도 수의 집합이므로 연산이 가능

  • 행렬 뿐 아니라, 벡터 그리고 나아가 모든 종류의 텐서에 적용 가능

행렬의 덧셈과 뺄셈은 같은 크기의 행렬끼리만 가능

각 행렬의 같은 자리에 있는 원소끼리의 덧셈과 뺄셈

  • 이렇게 같은 자리에 있는 원소끼리의 연산을 element-wiswe operation 이라고 함

행렬의 곱셈

행렬의 곱셈은 일반적인 수의 곱과는 다름

행렬의 곱은 하나의 행렬의 각 행과 다른 행렬의 각 열 간의 내적을 의미함

  • 내적이란, 벡터 간의 연산을 의미함
  • 두 벡터의 동일한 위치에 있는 원소를 곱한 후, 그 결과를 모두 더하는 연산 ( 결과는 스칼라)
  • Element-wise 연산이 아니므로 행렬의 크기가 달라도 연산이 가능
  • 대신, 앞선 행렬의 열과 뒷 행렬의 행의 크기가 같아야 함

전치 행렬 (Transpose)

하나의 행렬이 주어질 때, 행과 열을 바꾼 행렬을 전치 행렬이라고 함

역행렬 (Invers Matrix)

특정 행렬 A에 어떤 행렬B를 곱해보이 결과가 항등행렬 이라면 B를 A의 역행렬 이라고 함

모든 행렬이 역행렬을 갖는 것은 아님

A행렬이 역행렬을 가지려면 A는 반드시 가역(또는 비특이, Non-singular) 해야 함

  • 가역적 이라는 표현은 원래 상태로 돌릴 수 있음을 의미함

 

역행렬 (Invers Matrix)

특정 행렬 A에 어떤 행렬B를 곱해보이 결과가 항등행렬 이라면 B를 A의 역행렬 이라고 함

모든 행렬이 역행렬을 갖는 것은 아님

A행렬이 역행렬을 가지려면 A는 반드시 가역(또는 비특이, Non-singular) 해야 함

  • 가역적 이라는 표현은 원래 상태로 돌릴 수 있음을 의미함

 

고유 벡터와 고유 값

선형 변환 (Linear Transformation)

특정 벡터에 어떠한 행렬을 곱하면 벡터의 방향 혹은 크기가 변경

이렇듯 벡터의 방향과 크기의 변경을 선형 변환 이라고 함

무슨소리인지 모르겠다...

특정 행렬A가 있을 때, 어떤 벡터v 를 이 행렬로 변환했을 때, 그 벡터의 방향이 변하지 않고 크기만 변하는 경우, 그 벡터를 고유벡터라고 하고, 크기가 얼마나 변했는지를 나타내는 스칼라 값(람다)을 고유값이라고 함.

 

 

이해가 잘 되지 않아 GPT의 도움을 받았다.

https://arin-nya.tistory.com/68

 

GPT에게 고유벡터와 고유값 배우기

 

arin-nya.tistory.com

 

 

 

그래서 선형대수 어디에 써먹나요!!!!!!

행렬 A의 고유벡터는 행렬 A의 값이 가장 많이 분산되는 방향을 나타냄

분산이 많이 된다는 것은 많은 정보력을 갖고 있다고 볼 수 있음

 

일반적으로 데이터를 불러오면 행렬의 형태를 갖게 됨

이 데이터를 담아온 행렬을 A라고 보면

데이터가 담고 있는 여러 정보 중 가장 의미가 큰 방향이 고유 벡터가 됨

 

해당 방향으로 얼만큼 분산이 이루어졌는지

분산의 크기가 나타내는 정도 고유값

 

이러한 고유벡터와 고유값은 복수개가 가능하며 고유값을 기준으로 나열된 고유벡터는 해석력이 큰 방향의 순서를 의미함

 

이 둘은 데이터를 이해하고 계산하는 과정에서 사용됨

  • 의미를 유지한 상태로 데이터를 전처리 하거나
  • 행렬 계산을 간소화 하는 과정에서 사용됨

 

특이값 분해

수식도 많고 바로 이해하지 못해 GPT의 도움을 받았다.

 

확률

특정한 사건이 일어날 가능성을 수치로 표현

0-1 사이의 값을 갖음

일반적으로 확률 (Probability)의 P를 확용해 확률을 표시

또한, 어떠한 사건인지 사건을 알려주는 확률 변수 (Probability variable) X를 확룔

기본적인 확률 계산

  • 합의 법칙
  • 곱의 법칙
  • 조건부 확률

 

확률 분포

확률 변수가 취할 수 있는 값들과 그 값들이 발생하는 확률을 설명하는 개념

크게 아래의 분포들로 나눌 수 있음

  • 이산 확률 분포 (discrete Probability Distribution)
    • 확률 변수가 취할 수 있는 값이 개별적이고 셀 수 있는 경우
    • 확률 분포이므로 각 변수에 해당하는 확률 값의 총 합은 1
  • 연속 확률 분포 (Continuous Probability Distribution )
    • 확률 변수가 연속적인 범위의 값(실수 범위의 값)을 취할 수 있을 때 적용
    • 확률 분포이므로 가능한 모든 확률 변수 전 구간의 적분 값은 1
    • 변수의 범위가 실수이므로 딱 하나의 구체적인 값에 대한 확률은 0

 

분포와 확률 변수

확률 변수는 실험, 관찰, 또는 무작위 과정의 결과로 나타날 수 있는 수치적인 값

이러한 확률 변수는 확률 분포에 영향을 받음

만약 확률 분포를 알고 있다면 확률 변수를 임의로 생성할 수 있음

  • 이를 샘플링 과정이라 함

확률론적 모델링

주어진 데이터를 확률 이론의 관점에서 해석하고 모델을 설계하는 과정을 의미함

  • 수학적인 모델을 통해 데이터를 분석 및 활용하는 과정

데이터가 특정 확률 분포를 따른다고 가정

  • 데이터에 존재하는 불확실성(Noise)을 인정하면서

이 분포는 데이터의 특성을 분석하거나 미래의 사건에 대한 예측에 활용됨

머신러닝 모델의 출력은 확률론적 관점에서 예측된 결과물이기에 실제 결과물과 차이가 있을 수 있음