머신러닝을 위한 선형대수

타키탸키·2021년 8월 24일
0

머신러닝

목록 보기
6/6

🔢 일차식과 일차 함수

  • 선형 대수학
    • 일차식이나 일차 함수를 공부하는 학문
  • 다항식
    • 여러 개의 항으로 이루어진 식
    • 2x^3
      • 2: 계수, 음수도 가능
      • x: 변수
      • 3: 차수, 변수가 곱해진 횟수
    • 상수항
      • 차수: 0
      • 변수가 없는 항
    • 가장 큰 차수가 전체 다항식의 차수
  • 일차식
    • 가장 높은 차수가 1인 다항식
    • 예:) 4x+1 / 6x+4y-7
  • 일차 함수
    • y=3x+6
    • x의 값에 따라 y의 값이 정해짐
      • x가 1이면 y는 9
      • x가 2이면 y는 12
    • y는 x의 함수, x에 대한 함수
    • f(x)=3x+6
      • f는 변수 x에 대한 함수

🔢 일차 함수 표기법

  • 변수의 제한
    • x에 숫자를 붙인 형태로 통일
    • 예:) x0, x1, x2, ..., xn
    • f(x,y,z,w) = f(x0,x1,x2,x3)
    • f(x0,x1,x2,x3) = a0x0 + a1x1 + ... + anxn + b
      • a: 계수
      • x: 변수
      • b: 상수항

🔢 행렬과 벡터

  • 행렬과 벡터
    • 선형대수의 가장 기본 단위
  • 행렬(Matrix)
    • 수를 직사각형 형태로 나열한 것
    • 행(row): 행렬의 가로줄
    • 열(column): 행렬의 세로줄
    • 예시
      • 행렬의 원소
        • a11, a12, a21, a22
        • Aij: 행렬 A의 i행 j열에 있는 원소
      • 2행 2열 >> 2x2 행렬(차원)
  • 벡터(Vector)
    • 행이나 열이 하나 밖에 없는 행렬
    • 열 벡터가 일반적
    • 벡터의 차원
      • 원소의 개수
      • m 차원의 벡터
      • 원소: x1, x2, ..., xm
  • 행렬은 알파벳 대문자, 벡터는 알파벳 소문자로 표기

🔢 numpy로 행렬 사용하기

import numpy as np
  • numpy 라이브러리로 행렬 만들기
    • array 메소드
      • 파라미터: 리스트
      • 행렬: 2차원 배열
# 4x3 행렬

A = np.array([
    [1, -1, 2],
    [3, 2, 2],
    [4, 1, 2],
    [7, 5, 6]
])

A
array([[ 1, -1,  2],
       [ 3,  2,  2],
       [ 4,  1,  2],
       [ 7,  5,  6]])
# 3x2 행렬

B = np.array([
    [0, 1],
    [-1, 3],
    [5, 2]
])

B
array([[ 0,  1],
       [-1,  3],
       [ 5,  2]])
  • 행렬에 랜덤한 값 만들기
    • random.rand()
      • 파라미터: 행, 열
      • 0과 1 사이의 값
C = np.random.rand(3, 5)
C
array([[0.79875091, 0.43620354, 0.88835924, 0.97756683, 0.06332558],
       [0.89996012, 0.66241769, 0.73754307, 0.37204167, 0.95878667],
       [0.67672523, 0.98269744, 0.22519351, 0.43785748, 0.26726197]])
  • 0만 있는 행렬
    • .zeros
      • 파라미터: 행, 열 / 튜플형
D = np.zeros((2, 4))
D
array([[0., 0., 0., 0.],
       [0., 0., 0., 0.]])
  • 원소 받아오기
    • 2차원 리스트의 요소 받아오기와 유사
      • 인덱스 0부터 시작
    • 행렬의 범위를 넘어서면 오류
# A의 1행 3열의 원소
A[0][2]
2
* 출처: CODEIT - 데이터 사이언스 입문
profile
There's Only One Thing To Do: Learn All We Can

0개의 댓글