[TIL Day7] 인공지능 수학 - 선형대수

이다혜·2021년 4월 26일
0

TIL

목록 보기
7/60

인공지능 수학 - 선형대수

jupyter notebook 사용하기

  • terminal 명령어
    - dir: 현재 디렉토리에 있는 파일, 폴더 확인
    - cd 디렉토리 이름: change directory
    - cd ..: 상위 디렉토리로 이동
    - mkdir 디렉토리 이름: make directory

  • jupyter notebook 단축키
    - enter: 입력 모드 / esc: 명령 모드
    - Y: Code cell / M: Markdown cell
    - A: 명령 모드에서 현재 cell 위에(above) 새로운 cell 추가
    - B: 명령 모드에서 현재 cell 아래에(below) 새로운 cell 추가
    - dd: 명령 모드에서 현재 cell 삭제
    - ctrl/cmd + Enter: 입력 모드에서 현재 cell 실행

  • markdown 문법
    - #: 1개부터 6개까지 제목을 나타내는 데 쓸 수 있다.
    - *, _: 문자 앞뒤로 감싸면 기울어진 문자(이탤릭체)를 쓸 수 있다.
    - **: 문자 앞뒤로 감싸면 두꺼운 문자(bold 처리)를 쓸 수 있다.
    - ~: 문자 앞뒤로 감싸면 취소선 처리를 할 수 있다.

numpy로 숫자 다루기

  • numpy로 연산하기
    - 왜 numpy를 사용해야 할까?

    - numpy.array: numpy의 container로 여러 자료를 담을 수 있는 자료형
    - arr = np.array([1, 2, 3])
    - arr.shape: 자료의 차원을 확인

선형시스템

  • 선형대수(Linear Algebra)의 목표
    - 어떤 연립일차방정식, 즉 선형시스템(linear system) 문제라도 정형적인 방법으로 표현하고 해결하는 방법을 배우는 것

  • 선형시스템의 구성요소
    - 선형방정식(linear equations)
    - 미지수(unknown 혹은 variable)
    - N개 선형방정식과 M개 미지수로 구성된 연립일차방정식을 N * M linear system이라고 한다.

  • 선형시스템의 대수적 표현: Ax = b
    1. 선형시스템의 미지수를 모아 열벡터(column vector) x로 표현한다.
    2. 선형시스템의 선형방정식에 대해 다음을 수행한다.
    - 계수(coefficients)를 모아 A의 행벡터(row vector)로 표현한다.
    - 상수(constant)를 모아 b에 표현한다.

가우스 소거법

임의의 m x n 선형시스템의 해를 구하는 가장 대표적인 방법

  • 선형시스템의 해
    - 해가 하나인 경우 3x = 6
    - 해가 없는 경우 0x = 6
    - 해가 여러개인 경우 0x = 0
    - a = 0이면 특이하다. a의 역수(inverse)가 존재하지 않는 경우, a가 특이(singular)하다고 한다.
    - 해가 있으면 선형시스템이 consistent하다고 한다.
    - 해가 없으면 선형시스템이 inconsistent하다고 한다.

  • 가우스 소거법
    - 전방소거법(forward elimination): 주어진 선형시스템을 아래로 갈수록 더 단순한 형태의 선형방정식을 가지도록 변형한다.
    - 후방대입법(back-substitution): 아래에서부터 위로 미지수를 실제값으로 대체한다.

  • 소거법에 활용되는 세가지 기본행연산(elementary row operations, EROs)
    - Replacement(치환): j번째 행을 기준행인 i번째 행을 m배하여 빼서 업데이트 한다.
    - Intercharge(교환): j번째 행과 i번째 행의 위치를 서로 바꾼다.
    - Scaling(스케일링): j번째 행을 s배 스케일링한다.

  • 전방소거법의 가치
    - 전방소거법은 기본행연산을 활용하여 주어진 선형시스템 Ax=b에서 행렬 A를 상삼각형태(upper triangular form)으로 만드는 작업을 수행한다.
    - 주어진 선형시스템을 가장 풀기 쉬운 꼴로 변형해준다.
    - 주어진 선형시스템의 rank(랭크)를 알려준다.
    - 선형시스템이 해가 있는지(consistent) 아니면 해가 없는지(inconsistent) 알려준다.

profile
하루하루 성장중

0개의 댓글