SlideShare a Scribd company logo
1 of 39
Download to read offline
프로그래머를 위한
선형대수
1장 벡터, 행렬, 행렬식 (1~1.2.7)
아꿈사
ryun
목차
1.1(절) 벡터와 공간
1.2(절) 행렬과 사상
1.1(절) 벡터와 공간
앞서서
● 표면상 (책이나 관련 자료에 문자만 있는 식들) 만 보고 제대로 그 의미를 음미
못함.
○ 보면, => 공간상의 점 or 머리속으로 3차원 공간 안의 점 떠올려야 함.
● 1 장 (벡터, 행렬, 행렬식)의 목표
○ 벡터, 행렬의 사칙연산 정복
○ 기초 다지기 (선형대수) : 기초가 안되면 응용(ex. 머신러닝..)을 갈 수 없음. (기초는
재미없음)
1.1.1 우선적인 정의
● 필요성
● 몇개의 수치를 한곳에 모아 한덩어리로 다루고 싶다
○ API reference - void createPerson(String name, String phone, …)
● 벡터란?
○ “수를 나열한 것”
○ 성분(element)
○ 차원 : 성분수
● 수란?
○ 실수 정도.
1.1.1 우선적인 정의
● 종벡터
● 표기 변형
○ T(Traspose) : 전치
1.1.1 우선적인 정의
● 연산
○ 덧셈
■ 같은 차원만 가능
○ 정수배
1.1.1 우선적인 정의
● 책 표기
○ 벡터는 두꺼운 글씨로 (e.g. x, v, e)
○ 노트에 쓸때는 어려우니 위에 화살표를 같이 표기하자
1.1.1 우선적인 정의
● 연산 성질
○ (당연함..)
1.1.2 공간의 이미지
● 공간에 표시해 보자(2차원 평면 공간 or 3차원)
● 위치를 표현하니 “위치벡터”라고도 함.
1.1.2 공간의 이미지
● 연산 (더하기 / 정수배)
○ 더하기 : 원점이 있다고 치고, 두개의 선의 대각선에 해당하는 부분임.
○ 정수배
1.1.3 기저
● 기저(Basis)
○ 기준 / 기반의 의미이나 “선형대수”의 특화된 단어로 보면됨.
● 목적
○ 눈금, 격자가 없으면 허허벌판
○ 기준을 정해서 번지를 매기자 (위치를 표시하자)
○ 어떤 벡터를 표시할 때 다른 벡터를 의지해서 표현하겠다는 뜻임.
1.1.3 기저
● 잠시! 배운내용 Remind
○ 벡터
○ 벡터 연산
○ 벡터를 더 잘 와닿게 설명하고 싶은데…!!
■ 이제까지 벡터는 그냥 “수의 나열” 이였는데,
■ 지금 시도는 수를 나열하는게 전부가 아니라, 하나의 벡터를 기준이 되는 벡터들 의
조합으로 나타내려는 것.
● 기저를 이용하자.
■ 모는 종이, 눈금이 없는 백지에서 벡터 v를 알려주고 싶다.
● 3가지 를 알려줄 수 있음
○ 1. 기준이 되는 벡터 e1 (기저 벡터)
○ 2. 기준이 되는 벡터 e2 (기전 벡터)
○ 3. e1과 e2를 어떻게 하면 v가 되는지 표현식
1.1.3 기저
● 앞으로 기저 벡터 (e)를 자주
볼텐데 이게 중요한 게
○ 실제로 관심있는 일반
벡터를 표현하는 수단이
되기 때문.
1.1.3 기저
● 기저 벡터 2개가 길이가 같고,
● 기저 e1, e2 벡터에 대한, v 벡터의 좌표는 v = (3, 2)T입니다.
●
● 보통 각잡힌 기준을 생각하는데 기울여도 상관없음.
1.1.3 기저
1.1.3 기저
● 외관/외형에 얽매이지 마라
○ 최초 정의 “숫자 나열” -> 또, “화살표” 라함. (화살표라 하니 숫자의 나열로 안됨) -> 기저
벡터 도입, 기저 벡터 대한 “좌표”
○ 실상은 외관이나 보이는게 모두인데, 얽매이지 않는건 쉬운일은 아님. 알맹이는 하나인데
포장을 어떻게 하냐 차이임. 전체를 알게되면 이런거에서 자유로워짐.
○ 겉모양은 달라도 사실은 하나임.
● 실제 다룰 수 있는건 representation임.
○ 실제 가치를 다룰 수 없고, 형태로 드러난 representation을 다뤄야함.
○ 뭔가 표기를 해야하고, representation 해야하며, representation하는 방법이 다양할 수 있음.
■ 각 representation 방법마다 특색도 있고, 장/단점도 있음.
● 이러한 representation을 application어디에 쓰는지 기초단계에서는 알 수
없음. => 그래서 기초가 어려움.
1.1.3 기저
● 다시 정리!!
○ 벡터가 뭐냐 (수를 나열한것, 수의 나열)
○ 그림 or 공간에 표시하려는 시도했음.
○ 공간에 화살표로 찍고, 공간상에 표현하려다 보니
○ 기저(기준)가 나옴. 기저가 표현의 기준 역할을 하는데,,
○ 기저가 정의되거나 잡히면, 좌표라는 걸로 표현할 수 있다-> 결국 숫자야.
● 최초 수의 나열에서 ~> 기저를 기준으로 한 좌표로 다르게 표현을 함.
● 왜 수나열 ~> 화살표 ~> 수나열(좌표) 이렇게 원점으로 돌아오는 설명을
했을까?
○ 벡터가 꼭 그 “수의 나열”로만 표현되는 건 아니라라는 것을 말하고 싶은것임.
1.1.4 기저가 되기 위한 조건
1.1.4 기저가 되기 위한 조건
● 2차원
●
1.1.4 기저가 되기 위한 조건
● 3차원
1.1.4 기저가 되기 위한 조건
● 2차원
○ 일단 방향이 달라야 함. (크기는 중요치 않음)
○ 한개는 X, 방향이 같은 2개도 안됨.
○ 방향 다른 3개는 필요없음.
● 3차원
○ 위와 개념상 비슷함
■ 한평면에만 있는 경우는 안됨. (평면에 속한 벡터밖에 표현 못하므로)
■
1.1.5 차원
● 차원 = 기저 벡터의 수 = 좌표의 성분수
● 차원이 2차원, 3차원 얘기하는게 -> 기저벡터가 2개다, 3개다 -> 좌표의 성분이
2개다,3개다
1.2 행렬과 사상
1.2.1 우선적인 정의
● 벡터라는 “대상”을 알았으니, 대상간의 “관계”에 관심.
○ Programming : 대상(객체) , 관계(메소드)
○ 흥미로운건 관계 자체도 다 숫자로 표현한다는것.
● 벡터 (수를 일렬로 나열)
● 행렬 (수를 직사각형으로 나열: 2차원) - 행렬(matrix)
● 행렬의 크기, 행렬의 원소
○ 3x4
○ 벡터 1차원 (몇번째 element)
○ 행렬 2차원 (행,렬)
1.2.1 우선적인 정의
● 연산
●
1.2.2 여러가지 관계를 행렬로 나타내다
1.2.2 여러가지 관계를 행렬로 나타내다
● 풀면 연립된 식임.. 3개식을 1줄로 표현.
○ 여러개의 선형 결합을 행렬로 나타내면 그레잇!
1.2.2. 그외 여러가지
● 회로망 (LCR 회로의 전류와 전압)
● 신호처리 (선형 필터, 푸리에 변화, 웨이블릿 변환)
● 제어이론 (선형 시스템)
● 통계 분석 (선형 모델)
● 머신러닝 (신경망 == deep learning)
1.2.3 행렬은 사상이다
● 벡터(수의 나열) -> 공간으로 개념 이동(화살표, 기저, 좌표)
○ 시각화 성공해서 납득 및 세뇌시키고, 이건 다 허상이고 실제 수의 나열이다.
● 2차원으로 나타난 수 -> 관계
○ 그럼 공간에서 무엇일까? (사상이란?)
● 사상 (mapping)
○ 어떤값이 다른값으로 변화, 바뀌는 것
○ 함수 / 대응, 사상이라는 말이 더 포괄적
1.2.3 행렬은 사상이다
● 어떤 행렬이 벡터를 다른곳으로 보내는데
○ 변신 : 모양, 몸이 바뀜.
○ 이렇게 좌표값이 바뀐게 무엇을 의미하나?
1.2.4 행렬의 곱 = 사상의 합성
● 1, 2장 까지 통틀어 가장 중요 개념!
○ X에서 y로 가는 변화 A
○ Y에서 z로 가는 변화 B 란는게 있다고 하면
○ x->z는 2단계를 거쳐야하는데
○ 한방에 갈 수도 있다는 거임.
○ * 이렇게 한방에 갈 수 있다는게 놀라운 것임.
■ 돌리고, 넓히고 하는 과정인데..
■ 곲하는 건 순서가 중요함.
■ 곱하는 순서에 따라 결과 틀림.
1.2.5 행렬 연산의 성질
● (생략)
1.2.6 행렬의 거듭제곱 = 사상의 반복
● 회전 변환 (graphics)
○ 10도씩 10번하면 100도 하는거임.
1.2.7 영행렬, 단위행렬, 대각행렬
● 영행렬 : 블랙홀 - 다 0임
● 단위행렬 : 대각이 모두 1인것.
● 대각행렬 : 대각 성분이 값있고, 비대각 성분 모두 0인 행렬
1.2.7 영행렬, 단위행렬, 대각행렬
영행렬
1.2.7 영행렬, 단위행렬, 대각행렬
단위 행렬
1.2.7 영행렬, 단위행렬, 대각행렬
대각행렬
1.2.7 영행렬, 단위행렬, 대각행렬
역행렬 = 역사상
● Output을 가지고 input을 알 수 있냐?
○ 보안쪽에서 주로 원하는 거죠.
○ Input을 추적하고 싶은경우.

More Related Content

Similar to 프로그래머을 위한 선형대수(Chap1)

선형대수 01. 선형성의 정의와 1차 연립방정식의 의미
선형대수 01. 선형성의 정의와 1차 연립방정식의 의미선형대수 01. 선형성의 정의와 1차 연립방정식의 의미
선형대수 01. 선형성의 정의와 1차 연립방정식의 의미AHRA CHO
 
Linear algebra for quantum computing
Linear algebra for quantum computingLinear algebra for quantum computing
Linear algebra for quantum computingssuserd0f07b
 
유니티 고급 과정 -2-
유니티 고급 과정 -2-유니티 고급 과정 -2-
유니티 고급 과정 -2-Kiyoung Moon
 
머신 러닝을 해보자 (수학 보조 자료)
머신 러닝을 해보자   (수학 보조 자료)머신 러닝을 해보자   (수학 보조 자료)
머신 러닝을 해보자 (수학 보조 자료)ssusercdf17c
 
Deep Learning from scratch 4장 : neural network learning
Deep Learning from scratch 4장 : neural network learningDeep Learning from scratch 4장 : neural network learning
Deep Learning from scratch 4장 : neural network learningJinSooKim80
 
[컴퓨터비전과 인공지능] 5. 신경망
[컴퓨터비전과 인공지능] 5. 신경망[컴퓨터비전과 인공지능] 5. 신경망
[컴퓨터비전과 인공지능] 5. 신경망jdo
 
Python_numpy_pandas_matplotlib 이해하기_20160815
Python_numpy_pandas_matplotlib 이해하기_20160815Python_numpy_pandas_matplotlib 이해하기_20160815
Python_numpy_pandas_matplotlib 이해하기_20160815Yong Joon Moon
 
선형대수 09. 벡터의 직교성과 투영
선형대수 09. 벡터의 직교성과 투영선형대수 09. 벡터의 직교성과 투영
선형대수 09. 벡터의 직교성과 투영AHRA CHO
 
그래프 알고리즘
그래프 알고리즘그래프 알고리즘
그래프 알고리즘SeungMin Yang
 

Similar to 프로그래머을 위한 선형대수(Chap1) (10)

선형대수 01. 선형성의 정의와 1차 연립방정식의 의미
선형대수 01. 선형성의 정의와 1차 연립방정식의 의미선형대수 01. 선형성의 정의와 1차 연립방정식의 의미
선형대수 01. 선형성의 정의와 1차 연립방정식의 의미
 
Linear algebra for quantum computing
Linear algebra for quantum computingLinear algebra for quantum computing
Linear algebra for quantum computing
 
유니티 고급 과정 -2-
유니티 고급 과정 -2-유니티 고급 과정 -2-
유니티 고급 과정 -2-
 
머신 러닝을 해보자 (수학 보조 자료)
머신 러닝을 해보자   (수학 보조 자료)머신 러닝을 해보자   (수학 보조 자료)
머신 러닝을 해보자 (수학 보조 자료)
 
Deep Learning from scratch 4장 : neural network learning
Deep Learning from scratch 4장 : neural network learningDeep Learning from scratch 4장 : neural network learning
Deep Learning from scratch 4장 : neural network learning
 
Decision tree
Decision treeDecision tree
Decision tree
 
[컴퓨터비전과 인공지능] 5. 신경망
[컴퓨터비전과 인공지능] 5. 신경망[컴퓨터비전과 인공지능] 5. 신경망
[컴퓨터비전과 인공지능] 5. 신경망
 
Python_numpy_pandas_matplotlib 이해하기_20160815
Python_numpy_pandas_matplotlib 이해하기_20160815Python_numpy_pandas_matplotlib 이해하기_20160815
Python_numpy_pandas_matplotlib 이해하기_20160815
 
선형대수 09. 벡터의 직교성과 투영
선형대수 09. 벡터의 직교성과 투영선형대수 09. 벡터의 직교성과 투영
선형대수 09. 벡터의 직교성과 투영
 
그래프 알고리즘
그래프 알고리즘그래프 알고리즘
그래프 알고리즘
 

프로그래머을 위한 선형대수(Chap1)

  • 1. 프로그래머를 위한 선형대수 1장 벡터, 행렬, 행렬식 (1~1.2.7) 아꿈사 ryun
  • 4. 앞서서 ● 표면상 (책이나 관련 자료에 문자만 있는 식들) 만 보고 제대로 그 의미를 음미 못함. ○ 보면, => 공간상의 점 or 머리속으로 3차원 공간 안의 점 떠올려야 함. ● 1 장 (벡터, 행렬, 행렬식)의 목표 ○ 벡터, 행렬의 사칙연산 정복 ○ 기초 다지기 (선형대수) : 기초가 안되면 응용(ex. 머신러닝..)을 갈 수 없음. (기초는 재미없음)
  • 5. 1.1.1 우선적인 정의 ● 필요성 ● 몇개의 수치를 한곳에 모아 한덩어리로 다루고 싶다 ○ API reference - void createPerson(String name, String phone, …) ● 벡터란? ○ “수를 나열한 것” ○ 성분(element) ○ 차원 : 성분수 ● 수란? ○ 실수 정도.
  • 6. 1.1.1 우선적인 정의 ● 종벡터 ● 표기 변형 ○ T(Traspose) : 전치
  • 7. 1.1.1 우선적인 정의 ● 연산 ○ 덧셈 ■ 같은 차원만 가능 ○ 정수배
  • 8. 1.1.1 우선적인 정의 ● 책 표기 ○ 벡터는 두꺼운 글씨로 (e.g. x, v, e) ○ 노트에 쓸때는 어려우니 위에 화살표를 같이 표기하자
  • 9. 1.1.1 우선적인 정의 ● 연산 성질 ○ (당연함..)
  • 10. 1.1.2 공간의 이미지 ● 공간에 표시해 보자(2차원 평면 공간 or 3차원) ● 위치를 표현하니 “위치벡터”라고도 함.
  • 11. 1.1.2 공간의 이미지 ● 연산 (더하기 / 정수배) ○ 더하기 : 원점이 있다고 치고, 두개의 선의 대각선에 해당하는 부분임. ○ 정수배
  • 12. 1.1.3 기저 ● 기저(Basis) ○ 기준 / 기반의 의미이나 “선형대수”의 특화된 단어로 보면됨. ● 목적 ○ 눈금, 격자가 없으면 허허벌판 ○ 기준을 정해서 번지를 매기자 (위치를 표시하자) ○ 어떤 벡터를 표시할 때 다른 벡터를 의지해서 표현하겠다는 뜻임.
  • 13. 1.1.3 기저 ● 잠시! 배운내용 Remind ○ 벡터 ○ 벡터 연산 ○ 벡터를 더 잘 와닿게 설명하고 싶은데…!! ■ 이제까지 벡터는 그냥 “수의 나열” 이였는데, ■ 지금 시도는 수를 나열하는게 전부가 아니라, 하나의 벡터를 기준이 되는 벡터들 의 조합으로 나타내려는 것. ● 기저를 이용하자. ■ 모는 종이, 눈금이 없는 백지에서 벡터 v를 알려주고 싶다. ● 3가지 를 알려줄 수 있음 ○ 1. 기준이 되는 벡터 e1 (기저 벡터) ○ 2. 기준이 되는 벡터 e2 (기전 벡터) ○ 3. e1과 e2를 어떻게 하면 v가 되는지 표현식
  • 14. 1.1.3 기저 ● 앞으로 기저 벡터 (e)를 자주 볼텐데 이게 중요한 게 ○ 실제로 관심있는 일반 벡터를 표현하는 수단이 되기 때문.
  • 15. 1.1.3 기저 ● 기저 벡터 2개가 길이가 같고, ● 기저 e1, e2 벡터에 대한, v 벡터의 좌표는 v = (3, 2)T입니다. ● ● 보통 각잡힌 기준을 생각하는데 기울여도 상관없음.
  • 17. 1.1.3 기저 ● 외관/외형에 얽매이지 마라 ○ 최초 정의 “숫자 나열” -> 또, “화살표” 라함. (화살표라 하니 숫자의 나열로 안됨) -> 기저 벡터 도입, 기저 벡터 대한 “좌표” ○ 실상은 외관이나 보이는게 모두인데, 얽매이지 않는건 쉬운일은 아님. 알맹이는 하나인데 포장을 어떻게 하냐 차이임. 전체를 알게되면 이런거에서 자유로워짐. ○ 겉모양은 달라도 사실은 하나임. ● 실제 다룰 수 있는건 representation임. ○ 실제 가치를 다룰 수 없고, 형태로 드러난 representation을 다뤄야함. ○ 뭔가 표기를 해야하고, representation 해야하며, representation하는 방법이 다양할 수 있음. ■ 각 representation 방법마다 특색도 있고, 장/단점도 있음. ● 이러한 representation을 application어디에 쓰는지 기초단계에서는 알 수 없음. => 그래서 기초가 어려움.
  • 18. 1.1.3 기저 ● 다시 정리!! ○ 벡터가 뭐냐 (수를 나열한것, 수의 나열) ○ 그림 or 공간에 표시하려는 시도했음. ○ 공간에 화살표로 찍고, 공간상에 표현하려다 보니 ○ 기저(기준)가 나옴. 기저가 표현의 기준 역할을 하는데,, ○ 기저가 정의되거나 잡히면, 좌표라는 걸로 표현할 수 있다-> 결국 숫자야. ● 최초 수의 나열에서 ~> 기저를 기준으로 한 좌표로 다르게 표현을 함. ● 왜 수나열 ~> 화살표 ~> 수나열(좌표) 이렇게 원점으로 돌아오는 설명을 했을까? ○ 벡터가 꼭 그 “수의 나열”로만 표현되는 건 아니라라는 것을 말하고 싶은것임.
  • 19. 1.1.4 기저가 되기 위한 조건
  • 20. 1.1.4 기저가 되기 위한 조건 ● 2차원 ●
  • 21. 1.1.4 기저가 되기 위한 조건 ● 3차원
  • 22. 1.1.4 기저가 되기 위한 조건 ● 2차원 ○ 일단 방향이 달라야 함. (크기는 중요치 않음) ○ 한개는 X, 방향이 같은 2개도 안됨. ○ 방향 다른 3개는 필요없음. ● 3차원 ○ 위와 개념상 비슷함 ■ 한평면에만 있는 경우는 안됨. (평면에 속한 벡터밖에 표현 못하므로) ■
  • 23. 1.1.5 차원 ● 차원 = 기저 벡터의 수 = 좌표의 성분수 ● 차원이 2차원, 3차원 얘기하는게 -> 기저벡터가 2개다, 3개다 -> 좌표의 성분이 2개다,3개다
  • 25. 1.2.1 우선적인 정의 ● 벡터라는 “대상”을 알았으니, 대상간의 “관계”에 관심. ○ Programming : 대상(객체) , 관계(메소드) ○ 흥미로운건 관계 자체도 다 숫자로 표현한다는것. ● 벡터 (수를 일렬로 나열) ● 행렬 (수를 직사각형으로 나열: 2차원) - 행렬(matrix) ● 행렬의 크기, 행렬의 원소 ○ 3x4 ○ 벡터 1차원 (몇번째 element) ○ 행렬 2차원 (행,렬)
  • 27. 1.2.2 여러가지 관계를 행렬로 나타내다
  • 28. 1.2.2 여러가지 관계를 행렬로 나타내다 ● 풀면 연립된 식임.. 3개식을 1줄로 표현. ○ 여러개의 선형 결합을 행렬로 나타내면 그레잇!
  • 29. 1.2.2. 그외 여러가지 ● 회로망 (LCR 회로의 전류와 전압) ● 신호처리 (선형 필터, 푸리에 변화, 웨이블릿 변환) ● 제어이론 (선형 시스템) ● 통계 분석 (선형 모델) ● 머신러닝 (신경망 == deep learning)
  • 30. 1.2.3 행렬은 사상이다 ● 벡터(수의 나열) -> 공간으로 개념 이동(화살표, 기저, 좌표) ○ 시각화 성공해서 납득 및 세뇌시키고, 이건 다 허상이고 실제 수의 나열이다. ● 2차원으로 나타난 수 -> 관계 ○ 그럼 공간에서 무엇일까? (사상이란?) ● 사상 (mapping) ○ 어떤값이 다른값으로 변화, 바뀌는 것 ○ 함수 / 대응, 사상이라는 말이 더 포괄적
  • 31. 1.2.3 행렬은 사상이다 ● 어떤 행렬이 벡터를 다른곳으로 보내는데 ○ 변신 : 모양, 몸이 바뀜. ○ 이렇게 좌표값이 바뀐게 무엇을 의미하나?
  • 32. 1.2.4 행렬의 곱 = 사상의 합성 ● 1, 2장 까지 통틀어 가장 중요 개념! ○ X에서 y로 가는 변화 A ○ Y에서 z로 가는 변화 B 란는게 있다고 하면 ○ x->z는 2단계를 거쳐야하는데 ○ 한방에 갈 수도 있다는 거임. ○ * 이렇게 한방에 갈 수 있다는게 놀라운 것임. ■ 돌리고, 넓히고 하는 과정인데.. ■ 곲하는 건 순서가 중요함. ■ 곱하는 순서에 따라 결과 틀림.
  • 33. 1.2.5 행렬 연산의 성질 ● (생략)
  • 34. 1.2.6 행렬의 거듭제곱 = 사상의 반복 ● 회전 변환 (graphics) ○ 10도씩 10번하면 100도 하는거임.
  • 35. 1.2.7 영행렬, 단위행렬, 대각행렬 ● 영행렬 : 블랙홀 - 다 0임 ● 단위행렬 : 대각이 모두 1인것. ● 대각행렬 : 대각 성분이 값있고, 비대각 성분 모두 0인 행렬
  • 36. 1.2.7 영행렬, 단위행렬, 대각행렬 영행렬
  • 37. 1.2.7 영행렬, 단위행렬, 대각행렬 단위 행렬
  • 38. 1.2.7 영행렬, 단위행렬, 대각행렬 대각행렬
  • 39. 1.2.7 영행렬, 단위행렬, 대각행렬 역행렬 = 역사상 ● Output을 가지고 input을 알 수 있냐? ○ 보안쪽에서 주로 원하는 거죠. ○ Input을 추적하고 싶은경우.