HOME > 상세정보

상세정보

코딩 더 매트릭스 / 3판

코딩 더 매트릭스 / 3판

자료유형
단행본
개인저자
Klein, Philip N. 마이클, 역
서명 / 저자사항
코딩 더 매트릭스 / 필립 클라인 지음 ; 마이클 옮김
판사항
3판
발행사항
부천 :   루비페이퍼,   2016  
형태사항
xviii, 588 p. : 삽화, 도표 ; 28 cm
원표제
Coding the matrix : linear algebra through computer science applications
ISBN
9791195149292
일반주제명
Computer science --Mathematics Algebras, Linear
000 00000cam c2200205 c 4500
001 000045922609
005 20171206164350
007 ta
008 171206s2016 ggkad 000c kor
020 ▼a 9791195149292 ▼g 93000
040 ▼a 211009 ▼c 211009 ▼d 211009
041 1 ▼a kor ▼h eng
082 0 4 ▼a 004.0151 ▼a 512.5 ▼2 23
085 ▼a 004.0151 ▼2 DDCK
090 ▼a 004.0151 ▼b 2016
100 1 ▼a Klein, Philip N.
245 1 0 ▼a 코딩 더 매트릭스 / ▼d 필립 클라인 지음 ; ▼e 마이클 옮김
246 1 9 ▼a Coding the matrix : ▼b linear algebra through computer science applications
250 ▼a 3판
260 ▼a 부천 : ▼b 루비페이퍼, ▼c 2016
300 ▼a xviii, 588 p. : ▼b 삽화, 도표 ; ▼c 28 cm
650 0 ▼a Computer science ▼x Mathematics
650 0 ▼a Algebras, Linear
700 0 ▼a 마이클, ▼e
900 1 0 ▼a 클라인, 필립, ▼e
945 ▼a KLPA

소장정보

No. 소장처 청구기호 등록번호 도서상태 반납예정일 예약 서비스
No. 1 소장처 과학도서관/Sci-Info(1층서고)/ 청구기호 004.0151 2016 등록번호 121242595 도서상태 대출가능 반납예정일 예약 서비스 B M
No. 2 소장처 과학도서관/Sci-Info(1층서고)/ 청구기호 004.0151 2016 등록번호 121247107 도서상태 대출가능 반납예정일 예약 서비스 B M

컨텐츠정보

책소개

소프트웨어 개발에 자주 사용되는 선형대수의 수학적 개념과 이론적 배경, 활용 기법을 전반적으로 소개하고, 이 개념들이 실제 프로그래밍에 어떻게 적용될 수 있는지 예제와 Lab 과제를 통해 보여 준다. 각 장에서 다루는 내용은 학부 선형대수 과목을 수강한 경험이 있는 사람이라면 이해하는 데 큰 어려움이 없을 것이다. Lab 과제는 파이썬을 사용하여 수행하며 파이썬을 잘 모르더라도 따라 하는데 어렵지 않을 만큼 샘플 코드와 충분한 설명이 주어진다.

선형대수는 현실에서 사용되는 많은 응용 서비스를 효과적으로 구현하고 실행하는 데 없어서는 안 될 수학적 기법이다. 오늘날과 같은 고도로 발달한 컴퓨터 네트워크 정보화 사회에서, 선형대수는 웹 검색엔진의 페이지 우선순위 결정 시스템, 이미지/데이터 압축, 이미지 렌더링, 정보검색/추출, 정보보호, 암호화, 인증, 에러검출/정정, 대용량/대규모 데이터 처리, 기계학습, 근사화(approximation), 최적화(optimization) 등 현재 우리가 사용하고 있는 거의 모든 종류의 애플리케이션 소프트웨어 개발에 사용된다.

이 책은 소프트웨어 개발에 자주 사용되는 선형대수의 수학적 개념과 이론적 배경, 활용 기법을 전반적으로 소개하고, 이 개념들이 실제 프로그래밍에 어떻게 적용될 수 있는지 예제와 Lab 과제를 통해 보여 준다. 각 장에서 다루는 내용은 학부 선형대수 과목을 수강한 경험이 있는 사람이라면 이해하는 데 큰 어려움이 없을 것이다. Lab 과제는 파이썬을 사용하여 수행하며 파이썬을 잘 모르더라도 따라 하는데 어렵지 않을 만큼 샘플 코드와 충분한 설명이 주어진다.

- 출판사 소개 -

이 책은 모두 14장으로 구성되어 있다.

1장은 전반적인 선형 대수적 개념을 다루는 데 필요한 기본적인 함수와 확률 개념에 대한 내용을 다룬다. 또한, 파이썬 익숙하지 않은 독자를 위해 파이썬 프로그래밍을 소개한다.

2장은 선형대수에서 필수적인 필드의 개념을 다루며, 실수 필드와 복소수 필드, 그리고 이와는 조금 다르고 낯설지만, 컴퓨팅에서 유용한 갈루아 필드를 소개한다.

3~5장은 독자들에게 친숙한 벡터, 벡터공간, 행렬, 선형방정식/시스템에 대해서 다룬다.

6~7장은 좌표계, 기저, 차원의 개념에 대해서 다룬다.

8장은 벡터로 표현된 선형시스템을 푸는 데 유용한 가우스 소거법에 대해 상세히 살펴본다.

9장은 기계학습의 기본을 다루며, 힐 클라이밍과 그래디언트 디센트와 같은 최적화 방법을 사용하여 트레이닝 데이터에 대한 에러를 최소화하는 방법을 구현해 본다.

10장은 최소제곱 응용, 선형 및 이차함수 피팅, 근사 데이터 다루는 방법에 대해 상세히 알아본다.

11장은 웨이브릿과 같은 특수기저에 대해 알아보며, 이러한 기저를 사용한 데이터 및 이미지 압축을 Lab을 통해 구현하고 테스트해 본다.

12장은 방대한 양의 데이터를 처리하는 데 필수적으로 사용되는 특이값 분해와 주성분분해(PCA)의 이론적 배경과 활용 방법을 알아보며, 실제로 얼굴 이미지의 처리에 이러한 기법들을 활용하는 것을 Lab 과제를 통해 구현하고 시험해 본다.

13장은 고유값, 고유벡터를 계산하고 찾는 방법에 대해 살펴보고, 웹 사용자 모델링과 같은 비연속 동적 프로세스 모델링에 대해 상세히 살펴본다. 또한, 처리해야 할 엔트리 수가 큰 경우 이를 효과적으로 다루는 누승법에 대해서도 살펴본다. 이러한 누승법을 활용하여 구글의 PageRank와 유사한 기능의 pageranking 시스템을 구현해 테스트해 본다.

14장에서는 어떤 주어진 제약조건하에서 최적의 솔루션을 찾는 방법인 선형프로그램 기법에 대해 다루며, 이러한 선형 프로그램을 여러 가지 최적화에 어떻게 사용할 수 있는지 실제 예를 통해 살펴본다.

여기서 다룬 내용에 대한 실제 프로그래밍 응용 예는 여러 분야에 걸쳐 다루어진다. 예를 들어, 3장 Lab에서는 도트곱을 사용한 유사성 측정방법에 대해 의원들의 투표기록 비교를 통해 알아본다. 인터넷 등 네트워크를 통한 통신에 흔히 사용되는 에러 검출 및 정정에 대해서는 5장의 Lab에서 시험해 볼 수 있으며, 6장 Lab에서는 이미지의 원근감을 수정하는 것과 기저변경을 통한 이미지 표현을 구현해 본다. 또한, 8장 Lab에서는 임계치를 이용한 비밀공유 기법에 대해 살펴보고 보안/인증 분야 응용에 중요한 수학적 기반 중 하나인 정수 인수분해를 시험해 본다.

9장부터 14장에서는 기계학습, 프로그램 최적화 및 최적의 솔루션 찾는 방법, 데이터 압축 및 대규모(빅 데이터) 처리를 하는 데 필요한 중요한 개념이다.


정보제공 : Aladin

저자소개

필립 클라인(지은이)

미국 브라운 대학 컴퓨터 과학과 교수. 하버드에서 응용수학을 전공하고 MIT에서 컴퓨터 과학과 박사학위를 받았다.

마이클(옮긴이)

코딩 더 매트릭스 번역, IT 번역 전문 그룹 장독대 멤버

정보제공 : Aladin

목차

Chapter1 함수 
1.1 집합에 대한 용어와 표기법 
1.2 카테시안 곱(Cartesian product) 
1.3 함수 
1.3.1 함수, 프로시저, 계산 문제 
1.3.2 함수와 연관된 두 가지 계산 문제 
1.3.3 주어진 정의역과 공역을 가지는 함수들의 집합에 대한 표기법 
1.3.4 항등함수 
1.3.5 함수의 합성 
1.3.6 함수 합성의 결합법칙 
1.3.7 역함수 
1.3.8 가역함수를 합성한 함수의 가역성 
1.4 확률 
1.4.1 확률분포 
1.4.2 사건과 확률의 합 
1.4.3 랜덤 입력에 함수 적용 
1.4.4 완벽한 비밀 유지 
1.4.5 완벽한 비밀 유지와 가역 함수 
1.5 Lab: 파이썬 소개 - 집합, 리스트, 딕셔너리, 컴프리헨션 
1.5.1 간단한 표현식 
1.5.2 할당문(Assignment statement) 
1.5.3 조건 표현식 
1.5.4 집합(set) 
1.5.5 리스트(List) 
1.5.6 터플(Tuple) 
1.5.7 반복 수행이 가능한 다른 형태 
1.5.8 딕셔너리(Dictionary) 
1.5.9 한 줄로 된 프로시저 정의하기 
1.6 Lab: 파이썬-모듈 및 제어 구조-역 인덱스 
1.6.1 기존 모듈 사용하기 
1.6.2 모듈 작성하기 
1.6.3 루프와 조건문 
1.6.4 들여쓰기(indentation)를 이용한 파이썬의 그룹화 
1.6.5 루프에서 빠져나오기 
1.6.6 파일로부터 읽어 오기 
1.6.7 미니 검색 엔진 
1.7 Review questions 
1.8 Problems 

Chapter2 필드(Field) 
2.1 복소수에 대한 소개 
2.2 파이썬에서의 복소수 
2.3 필드의 추상화 
2.4 복소수 필드 C 다루기 
2.4.1 복소수의 절대값 
2.4.2 복소수 덧셈하기 
2.4.3 양의 실수로 복소수 곱하기 
2.4.4 음수로 복소수 곱하기: 180도 회전 
2.4.5 i를 곱하기: 90도 회전 
2.4.6 복소 평면의 단위원: 편각과 각도 
2.4.7 오일러 공식(Euler’s formula) 
2.4.8 복소수에 대한 극좌표 표현 
2.4.9 첫 번째 지수 법칙 
2.4.10 τ 라디안 회전 
2.4.11 연산 결합하기 
2.4.12 3차원 이상의 경우 
2.5 GF(2)에 대해 알아보기 
2.5.1 완벽한 비밀 유지-다시 방문 
2.5.2 네트워크 코딩(Network coding) 
2.6 Review questions 
2.7 Problems 

Chapter3 벡터 
3.1 벡터란 무엇인가? 
3.2 벡터는 함수이다 
3.2.1 파이썬의 딕셔너리를 이용한 벡터 표현 
3.2.2 Sparsity 
3.3 벡터로 무엇을 표현할 수 있는가? 
3.4 벡터 덧셈 
3.4.1 평행이동과 벡터 덧셈 
3.4.2 벡터 덧셈은 결합적(associative)이고 교환적(commutative)이다 
3.4.3 벡터를 화살표로 표현하기 
3.5 스칼라-벡터 곱셈 
3.5.1 화살표 스케일링하기 
3.5.2 스칼라-벡터 곱셈의 결합성 
3.5.3 원점을 지나는 선분 
3.5.4 원점을 지나는 직선 
3.6 벡터 덧셈과 스칼라 곱셈 결합하기 
3.6.1 원점을 지나지 않는 선분과 직선 
3.6.2 스칼라-벡터 곱셈과 벡터 덧셈의 분배 법칙 
3.6.3 볼록결합(convex combination) 들여다 보기 
3.6.4 아핀결합(affine combination) 들여다 보기 
3.7 딕셔너리에 기반을 둔 벡터 표현 
3.7.1 세터(setter)와 게터(getter) 
3.7.2 스칼라-벡터 곱셈 
3.7.3 덧셈 
3.7.4 음의 벡터, 벡터 덧셈의 가역성, 벡터 뺄셈 
3.8 GF(2)상의 벡터 
3.8.1 완벽한 비밀 유지-다시 보기 
3.8.2 GF(2)를 사용한 전부가 아니면 아무것도 공유하지 않는 비밀 공유 
3.8.3 Lights Out 
3.9 도트곱(dot product) 
3.9.1 총 비용 또는 잇점 
3.9.2 선형방정식 
3.9.3 유사성(similarity) 측정하기 
3.9.4 GF(2)상의 벡터들에 대한 도트곱 
3.9.5 패리티 비트(Parity bit) 
3.9.6 단순한 인증 기법 
3.9.7 단순한 인증 기법 공격하기 
3.9.8 도트곱의 대수적 성질 
3.9.9 단순한 인증 기법 공격하기-다시 보기 
3.10 Vec 구현 
3.10.1 Vec을 다루기 위한 구문 
3.10.2 구현 
3.10.3 Vec 사용하기 
3.10.4 Vec 출력하기 
3.10.5 Vec 복사하기 
3.10.6 리스트에서 Vec으로 
3.11 선형방정식들의 삼각시스템에 대한 해 구하기 
3.11.1 상삼각시스템(Upper-triangular system) 
3.11.2 후진대입법(backward substitution) 
3.11.3 후진대입법의 첫 번째 구현 
3.11.4 언제 알고리즘이 동작할까? 
3.11.5 임의의 정의역을 가진 벡터들에 대한 후진대입법 
3.12 Lab: 도트곱을 사용하여 투표기록 비교하기 
3.12.1 파일 읽어 들이기 
3.12.2 도트곱을 사용하여 투표를 비교하기 위한 두 가지 방법 
3.12.3 정책 비교 
3.12.4 평균적 민주당원과의 비교 
3.12.5 최대 경쟁자 
3.12.6 개방형 연구 
3.13 Review Questions 
3.14 Problems 

Chapter4 벡터공간 
4.1 선형결합(일차결합) 
4.1.1 선형결합의 정의 
4.1.2 선형결합의 사용 
4.1.3 계수에서 선형결합으로 
4.1.4 선형결합에서 계수로 
4.2 생성(Span) 
4.2.1 생성의 정의 
4.2.2 선형방정식들의 시스템이 암시하는 다른 방정식들 
4.2.3 생성자(Generator) 
4.2.4 선형결합의 선형결합 
4.2.5 표준 생성자(Standard generator) 
4.3 벡터들의 집합에 대한 기하적 구조 
4.3.1 R상의 벡터들의 생성에 대한 기하적 구조 
4.3.2 동차 선형시스템의 해집합에 대한 기하적 구조 
4.3.3 원점을 포함하는 flat의 두 가지 표현 
4.4 벡터공간 
4.4.1 두 표현의 공통점은 무엇인가? 
4.4.2 벡터공간의 정의와 예 
4.4.3 부분공간(Subspace) 
4.4.4 *추상 벡터공간(Abstract Vector Space) 
4.5 아핀공간(Affine space) 
4.5.1 원점을 지나지 않는 flat 
4.5.2 아핀결합 
4.5.3 아핀공간 
4.5.4 아핀공간을 선형시스템의 해집합으로 표현하기 
4.5.5 두 가지 표현법-다시 보기 
4.6 동차 혹은 비동차 선형시스템 
4.6.1 일반적인 선형시스템에 대응하는 동차 선형시스템 
4.6.2 해의 개수-다시 보기 
4.6.3 평면과 직선의 교차 
4.6.4 체크섬(Checksum) 함수 
4.7 Review questions 
4.8 Problems 

Chapter5 행렬 
5.1 행렬이란 무엇인가? 
5.1.1 전통적인 행렬 
5.1.2 행렬에 대해 알아보기 
5.1.3 행, 열, 엔트리 
5.1.4 행렬의 파이썬 구현 
5.1.5 단위행렬(Identity matrix) 
5.1.6 행렬 표현의 변환 
5.1.7 matutil.py 
5.2 열공간(Column space)과 행공간(Row space) 
5.3 벡터로서의 행렬 
5.4 전치(Transpose) 
5.5 선형결합의 행렬-벡터 곱셈과 벡터-행렬 곱셈 
5.5.1 선형결합의 행렬-벡터 곱셈 
5.5.2 선형결합의 벡터-행렬 곱셈 
5.5.3 주어진 벡터의 선형결합 표현을 행렬-벡터 곱셈으로 구성하기 
5.5.4 행렬-벡터 방정식의 해 구하기 
5.6 도트곱의 행렬-벡터 곱셈 
5.6.1 정의 
5.6.2 응용 예 
5.6.3 선형방정식들의 시스템을 행렬-벡터 방정식으로 구성하기 
5.6.4 삼각시스템(triangular system)과 삼각행렬(triangular matrix) 
5.6.5 행렬-벡터 곱셈의 산술적 성질 
5.7 영공간(Null space) 
5.7.1 동차 선형시스템과 행렬방정식 
5.7.2 행렬-벡터 방정식의 해공간 
5.7.3 에러정정코드에 대한 소개 . 
5.7.4 선형코드 
5.7.5 해밍코드 
5.8 스파스(sparse) 행렬-벡터 곱 계산 
5.9 행렬과 함수의 만남 
5.9.1 행렬에서 함수로 
5.9.2 함수에서 행렬로 
5.9.3 행렬을 유도하는 예 
5.10 선형함수 
5.10.1 행렬-벡터 곱으로 표현될 수 있는 함수 
5.10.2 정의와 간단한 예제 
5.10.3 선형함수와 영벡터 
5.10.4 선형함수와 직선의 관계는 무엇인가? 
5.10.5 단사함수인 선형함수 
5.10.6 전사함수인 선형함수 
5.10.7 행렬에 의해 표현될 수 있는 FC에서 FR로의 선형함수 
5.10.8 대각행렬 
5.11 행렬-행렬 곱셈 
5.11.1 행렬-벡터 및 벡터-행렬 곱셈으로 표현한 행렬-행렬 곱셈 
5.11.2 그래프, 결합행렬(incidence matrix), 계수 경로(counting path) 
5.11.3 행렬-행렬 곱셈과 함수 합성 
5.11.4 행렬-행렬 곱의 전치 
5.11.5 열벡터와 행벡터 
5.11.6 모든 벡터는 열벡터로 해석된다 
5.11.7 선형결합의 선형결합-다시 보기 
5.12 내적(Inner product)과 외적(outer product) 
5.12.1 내적 
5.12.2 외적 
5.13 역함수와 역행렬 
5.13.1 선형함수의 역함수는 선형함수이다 
5.13.2 역행렬 
5.13.3 역행렬의 사용 
5.13.4 가역 행렬의 곱은 가역 행렬이다 
5.13.5 역행렬에 대해 좀 더 알아보기 
5.14 Lab: 에러정정코드 
5.14.1 검사 행렬(check matrix) 
5.14.2 생성행렬(generator matrix) 
5.14.3 해밍코드(Hamming’s code) 
5.14.4 복호화(Decoding) 
5.14.5 에러 신드롬(Error syndrome) 
5.14.6 에러 찾기 
5.14.7 종합하여 구성하기 
5.15 Lab: 2D에서의 변환 
5.15.1 평면의 점들에 대한 표현 
5.15.2 변환 
5.15.3 이미지 표현 
5.15.4 이미지 로딩과 표시 
5.15.5 선형변환 
5.15.6 평행이동 
5.15.7 스케일링 
5.15.8 회전이동(Rotation) 
5.15.9 원점이 아닌 것을 중심으로 한 회전이동 
5.15.10 대칭이동(Reflection) 
5.15.11 컬러 변환 
4.15.12 좀 더 일반적인 대칭이동 
5.16 Review questions 
5.17 Problems 

Chapter6 기저(Basis) 
6.1 좌표계(Coordinate system) 
6.1.1 데카르트의 생각 
6.1.2 좌표 표현 
6.1.3 좌표 표현과 행렬-벡터 곱셈 
6.2 손실 압축(lossy compression)에 대해 들여다 보기 
6.2.1 Strategy 1: 벡터를 가장 가까운 스파스 벡터로 대체하기 
6.2.2 Strategy 2: 이미지 벡터를 좌표 표현으로 표현하기 
6.3 생성자 집합을 찾기 위한 두 개의 greedy 알고리즘 
6.3.1 Grow 알고리즘 
6.3.2 Shrink 알고리즘 
6.3.3 greedy 알고리즘이 실패하는 경우 
6.4 최소 스패닝포리스트(Minimum Spanning Forest)와 GF(2) 
6.4.1 정의 
6.4.2 최소 스패닝포리스트에 대한 Grow 및 Shrink 알고리즘 
6.4.3 선형대수학으로 최소 스패닝포리스트 구성하기 
6.5 선형(일차) 종속 
6.5.1 Superfluous-Vector 보조정리 
6.5.2 일차종속 정의하기 
6.5.3 최소 스패닝포리스트의 일차종속 
6.5.4 일차독립/종속의 성질 
6.5.5 Grow 알고리즘 분석하기 
6.5.6 Shrink 알고리즘 분석하기 
6.6 기저 
6.6.1 기저 정의하기 
6.6.2 FD에 대한 표준 기저 
6.6.3 모든 벡터공간은 기저를 가짐을 보여 주기 
6.6.4 생성에 대한 기저를 포함하는 벡터들의 임의의 유한 집합 
6.6.5 V에 속하는 벡터들의 임의의 일차독립 부분집합은 V에 대한 기저를 형성하도록 확장될 수 있는가? 
6.7 고유 표현(Unique representation) 
6.7.1 기저를 사용한 표현의 유일성 
6.8 기저 변경 들여다 보기 
6.8.1 표현에서 벡터로의 함수 
6.8.2 하나의 표현에서 또 다른 표현으로 
6.9 원근감 렌더링(Perspective rendering) 
6.9.1 Points in the world 
6.9.2 카메라와 이미지 평면 
6.9.3 카메라 좌표계 
6.9.4 현장의 카메라 좌표에서 이미지 평면 내 대응하는 점의 카메라 좌표로 
6.9.5 현장 좌표에서 카메라 좌표로 
6.9.6 픽셀 좌표로 
6.10 기저를 찾는 것과 관련된 계산 문제 
6.11 교환(Exchange) 보조정리 
6.11.1 보조정리 
6.11.2 MSF 에 대한 Grow 알고리즘의 정확성에 대한 증명 
6.12 Lab: 원근감 수정(Perspective rectification) 
6.12.1 카메라 기저 
6.12.2 화이트보드 기저 
6.12.3 픽셀에서 화이트보드상의 점으로 매핑하기 
6.12.4 화이트보드상에 있지 않은 점을 화이트보드상의 대응하는 점으로 매핑하기 
6.12.5 기저변경 행렬 
6.12.6 기저변경 행렬 계산하기 
6.12.7 이미지 표현 
6.12.8 원근감이 없는 이미지 합성 
6.13 Review questions 
6.14 Problems 

Chapter7 차원(Dimension) 
7.1 기저의 크기 
7.1.1 Morphing 보조정리와 그 응용 
7.1.2 Morphing 보조정리의 증명 
7.2 차원과 랭크 
7.2.1 정의 및 예제 
7.2.2 기하학적 구조 
7.2.3 그래프의 차원 및 랭크 
7.2.4 GF(2)상의 벡터공간의 크기 
7.2.5 V에 속하는 벡터들의 임의의 일차독립 집합은 V에 대한 기저를 형성하도록 확장될 수 있다 
7.2.6 차원 원리(Dimension Principle) 
7.2.7 Grow 알로리즘의 종료 
7.2.8 Rank Theorem 
7.2.9 간단한 인증-다시 보기 
7.3 직합(Direct sum) 
7.3.1 정의 
7.3.2 직합에 대한 생성자 
7.3.3 직합에 대한 기저 
7.3.4 벡터의 고유 분해(Unique decomposition) 
7.3.5 여부분공간(Complementary subspace) 
7.4 차원과 선형함수 
7.4.1 선형함수의 가역성 
7.4.2 가장 큰 가역적인 서브함수(subfunction) 
7.4.3 Kernel-Image 정리 
7.4.4 선형함수 가역성-다시 보기 
7.4.5 Rank-Nullity 정리 
7.4.6 체크섬(Checksum) 문제-다시 보기 
7.4.7 행렬 가역성 
7.4.8 행렬의 가역성과 기저 변경 
7.5 소멸자(annihilator) 
7.5.1 표현 변환 
7.5.2 벡터공간의 소멸자 
7.5.3 Annihilator Dimension 정리 
7.5.4 V에 대한 생성자에서 Vo에 대한 생성자로, 그리고 그 반대로 
7.5.5 Annihilator 정리 
7.6 Review questions 
7.7 Problems 

Chapter8 가우스 소거법(Gaussian elimination) 
8.1 사다리꼴(Echelon form) 
8.1.1 사다리꼴에서 행공간에 대한 기저로 
8.1.2 사다리꼴 행렬의 행리스트 
8.1.3 맨 왼쪽의 영이 아닌 위치에 의한 행들의 정렬 
8.1.4 기본행덧셈 연산 
8.1.5 기본행덧셈 행렬에 의한 곱셈 
8.1.6 행덧셈 연산은 행공간을 유지한다 
8.1.7 가우스 소거법을 통한 기저, 랭크, 일차독립 
8.1.8 가우스 소거법이 실패할 때 
8.1.9 피봇팅 및 수치해석 
8.2 GF(2)상의 가우스 소거법 
8.3 다른 문제에 대해 가우스 소거법 사용하기 
8.3.1 가역행렬 M과 사다리꼴의 행렬 MA 
8.3.2 행렬 곱셈없이 M 계산하기 
8.4 가우스 소거법을 사용하여 행렬-벡터 방정식 풀기 
8.4.1 행렬이 사다리꼴일 때 행렬-벡터 방정식의 해 구하기-가역적인 경우 
8.4.2 엔트리가 영인 행들에 대한 처리 
8.4.3 관련없는 열들에 대한 처리 
8.4.4 단순한 인증기법 공격하기 및 개선하기 
8.5 영공간에 대한 기저 찾기 
8.6 정수 인수분해 
8.6.1 인수분해에 대한 첫 번째 시도 
8.7 Lab: 임계치 비밀 공유(Threshold Secret-Sharing) 
8.7.1 첫 번째 시도 
8.7.2 동작되는 기법 
8.7.3 구현하기 
8.7.4 u 생성하기 
8.7.5 요구조건을 만족하는 벡터 찾기 
8.7.6 문자열 공유하기 
8.8 Lab: 정수를 인수분해하기 
8.8.1 제곱근을 사용한 첫 번째 시도 
8.8.2 최대공약수에 대한 유클리드 알고리즘 
8.8.3 제곱근 사용하기-다시 보기 
8.9 Review questions 

Chapter9 내적(Inner Product) 
9.1 소방차 문제 
9.1.1 거리, 길이, norm, 내적 
9.2 실수 벡터들에 대한 내적 
9.2.1 실수 벡터들의 norm 
9.3 직교성(Orthogonality) 
9.3.1 직교성의 성질 
9.3.2 평행 및 수직 성분으로 벡터 분해 
9.3.3 소방차 문제에 대한 해의 직교 성질 
9.3.4 투영 및 가장 가까운 점 찾기 
9.3.5 소방차 문제에 대한 솔루션 
9.3.6 *외적(Outer product)과 투영 
9.3.7 차원이 더 높은 경우에 대한 해결책 
9.4 Lab: 기계학습 
9.4.1 데이터 
9.4.2 지도 학습(Supervised learning) 
9.4.3 가설 클래스 
9.4.4 트레이닝 데이터에 대한 에러를 최소화하는 분류기 선택하기 
9.4.5 힐 클라이밍(hill-climbing)에 의한 비선형 최적화 
9.4.6 그래디언트(Gradient) 
9.4.7 그래디언트 디센트 
9.5 Review questions 
9.6 Problems 

Chapter10 직교화(Orthogonalization) 
10.1 복수의 벡터들에 직교하는 투영 
10.1.1 벡터들의 집합에 대한 직교 
10.1.2 벡터공간상으로의 투영 및 벡터공간에 직교하는 투영 
10.1.3 벡터들의 리스트에 직교하는 투영-첫 번째 시도 
10.2 서로 직교하는 벡터들의 리스트에 직교하는 b의 투영 
10.2.1 프로시저 project orthogonal이 맞게 동작하는지 증명하기 
10.2.2 project orthogonal 보강하기 
10.3 생성자들의 직교집합 만들기 
10.3.1 orthogonalize 프로시저 
10.3.2 orthogonalize가 맞게 동작하는지 증명하기 
10.4 다수 벡터들의 생성에 속하는 점에 가장 가까운 계산문제 풀기 
10.5 orthogonalize를 사용하여 다른 문제 풀기 
10.5.1 기저 계산하기 
10.5.2 부분집합 기저 계산하기 
10.5.3 augmented orthogonalize 
10.5.4 반올림 오차가 있는 경우에도 동작하는 알고리즘 
10.6 직교여공간(orthogonal complement) 
10.6.1 직교여공간의 정의 
10.6.2 직교여공간과 직합(direct sum) 
10.6.3 생성 또는 아핀 hull로 주어진 R3 평면의 법선 
10.6.4 직교여공간, 영공간, 소멸자 
10.6.5 방정식으로 주어진 R3 평면의 법선 
10.6.6 직교여공간 계산하기 
10.7 QR 인수분해 
10.7.1 직교 및 열-직교 행렬 
10.7.2 행렬의 QR 인수분해 정의하기 
10.7.3 A의 열들이 일차독립이어야 하는 요구조건 
10.8 QR 인수분해 사용하여 행렬방정식 Ax = b 풀기 
10.8.1 정방행렬인 경우 
10.8.2 정방행렬인 경우 솔루션의 정확성 
10.8.3 최소 제곱 문제 
10.8.4 열-직교행렬의 열들에 대한 좌표 표현 
10.8.5 A의 행 개수가 열 개수보다 더 많을 때 QR solve 사용하기 
10.9 최소 제곱의 응용 
10.9.1 선형회귀(Linear regression)(선 일치(Line-fitting) ) 
10.9.2 이차함수 피팅(Quadratic Fitting) 
10.9.3 두 변수로 된 이차함수 피팅 
10.9.4 산업 스파이 문제에서 근사 데이터 다루기 
10.9.5 센서 노드 문제에서 근사 데이터 다루기 
10.9.6 기계학습 문제에서 최소 제곱 방법 사용하기 
10.10 Review questions 
10.11 Problems 

Chapter11 특수 기저(Special basis) 
11.1 가장 가까운 k-스파스 벡터(sparse vector) 
11.2 주어진 기저에 대한 표현이 k-스파스인 가장 가까운 벡터 
11.2.1 법선 기저에 대한 좌표 표현 찾기 
11.2.2 norm을 보존하는 열-직교행렬에 의한 곱셈 
11.3 웨이브릿(Wavelets) 
11.3.1 다른 해상도의 1차원 “이미지” 
11.3.2 Vn을 직합으로 분해하기 
11.3.3 웨이브릿 기저 
11.3.4 V1에 대한 기저 
11.3.5 n이 일반적인 경우 
11.3.6 웨이브릿 변환의 첫 번째 단계 
11.3.7 후속 레벨의 웨이브릿 분해 
11.3.8 정규화하기(Normalizing) 
11.3.9 역방향 변환(backward transform) 
11.3.10 구현 
11.4 다항식 평가(Polynomial evaluation)와 인터폴레이션(interpolation) 
11.5 푸리에 변환(Fourier transform) 
11.6 이산 푸리에 변환 
11.6.1 지수의 법칙 
11.6.2 n개 스톱워치(stopwatch) 
11.6.3 이산 푸리에 공간: 기저 함수 샘플링하기 
11.6.4 푸리에 행렬의 역행렬 
11.6.5 패스트 푸리에 알고리즘 
11.6.6 FFT 유도하기 
11.6.7 FFT 코딩하기 
11.7 복소수의 필드에 대한 내적 
11.8 순환행렬(Circulant matrix) 
11.8.1 순환행렬에 푸리에 행렬의 열 곱하기 
11.8.2 순환행렬과 기저 변경 
11.9 Lab: 압축을 위해 웨이브릿 사용하기 
11.9.1 정규화되지 않은 순방향 변환(Unnormalized forward transform) 
11.9.2 순방향 변환에서의 정규화 
11.9.3 억제(suppression)에 의한 압축 
11.9.4 비정규화하기(Unnormalizing) 
11.9.5 정규화되지 않은 역방향 변환(Unnormalized backward transform) 
11.9.6 역방향 변환(Backward transform) 
11.9.7 보조 프로시저 
11.9.8 2차원 웨이브릿 변환 
11.9.9 순방향 2차원 변환 
11.9.10 보조 프로시저 더 보기 
11.9.11 2차원 역방향 변환 
11.9.12 이미지 압축 실험하기 
11.10 Review Questions 
11.11 Problems 

Chapter12 특이값 분해(Singular Value Decomposition) 
12.1 로우-랭크(low-rank) 행렬에 의한 행렬의 근사 
12.1.1 로우-랭크 행렬의 이점 
12.1.2 행렬의 norm 
12.2 트롤리 노선 위치(trolley-line-location) 문제 
12.2.1 트롤리 노선 위치 문제에 대한 솔루션 
12.2.2 행렬에 대한 랭크-1 근사 
12.2.3 최상의 랭크-1 근사 
12.2.4 최상의 랭크-1 근사에 대한 표현 
12.2.5 가장 가까운 1차원 아핀공간 
12.3 가장 가까운 차원-k 벡터공간 
12.3.1 특이값 및 특이벡터를 찾는 Gedanken 알고리즘 
12.3.2 특이값 및 오른쪽 특이벡터들의 성질 
12.3.3 특이값 분해 
12.3.4 가장 가까운 k-차원 공간을 찾는 데 오른쪽 특이벡터 사용하기 
12.3.5 A에 대한 최상의 랭크-k 근사 
12.3.6 최상의 랭크-k 근사에 대한 행렬 형태 
12.3.7 영이 아닌 특이값들의 개수는 rank A이다 
12.3.8 수치 랭크(Numerical rank) 
12.3.9 가장 가까운 k-차원 아핀공간 
12.3.10 U는 열-직교임을 증명 
12.4 특이값 분해 사용하기 
12.4.1 최소 제곱에 SVD 사용하기 
12.5 PCA 
12.6 Lab: 아이겐페이스 
12.7 Review questions 
12.8 Problems 

Chapter13 고유벡터(Eigenvector) 
13.1 비연속 동적 프로세스(discrete dynamic process) 모델링 
13.1.1 이자가 붙는 은행계좌 
13.1.2 피보나치 수(Fibonacci numbers) 
13.2 피보나치 행렬의 대각화(diagonalization) 
13.3 고유값과 고유벡터 
13.3.1 유사성(similarity)과 대각화 가능성(diagonalizability) 
13.4 고유벡터에 대한 좌표 표현 
13.5 인터넷 웜(Internet Worm) 
13.6 고유값의 존재 
13.6.1 양의 정부호(Positive-Definite)행렬과 양의 준정부호(Positive-Semidefinite)행렬 
13.6.2 고유값이 모두 다른(distinct) 행렬 
13.6.3 대칭행렬 
13.6.4 상삼각(upper-triangular)행렬 
13.6.5 일반적인 정방행렬 
13.7 누승법(Power method) 
13.8 Markov 체인(Markov chain) 
13.8.1 개체 수 이동에 대한 모델링 
13.8.2 선택된 특정 한 사람에 대한 모델링 
13.8.3 Markov 체인 정의 
13.8.4 메모리 액세스에 대한 공간적 지역성(spatial locality) 모델링 
13.8.5 문서에 대한 모델링 
13.8.6 다른 여러 가지 분야에 대한 모델링 
13.8.7 Markov 체인의 시불변 분포(Stationary Distribution) 
13.8.8 시불변 분포가 존재하기 위한 충분조건 
13.9 웹 사용자 모델링: PageRank 
13.10 *행렬식(Determinant) 
13.10.1 평행사변형의 면적 
13.10.2 평행육면체(parallelepiped)의 부피 
13.10.3 평행사변형 면적을 이용한 다각형의 면적 표현 
13.10.4 행렬식 
13.10.5 *행렬식 함수를 통해 나타낸 고유값의 특성 
13.11 *몇몇 고유값 관련 Theorem에 대한 증명 
13.11.1 고유값의 존재 
13.11.2 대칭행렬의 대각화 
13.11.3 삼각화(triangularization) 
13.12 Lab: Pagerank 
13.12.1 개념 
13.12.2 대규모 데이터셋(dataset)에 대한 처리 
13.12.3 누승법을 사용한 PageRank 구현 
13.12.4 데이터셋(Dataset) 
13.12.5 질의(query) 처리 
13.12.6 페이지 랭크 왜곡하기 
13.12.7 Optional: 복수의 단어에 대한 질의 처리 
13.13 Review questions 
13.14 Problems 

Chapter14 선형 프로그램(Linear Program) 
14.1 식단 문제(diet problem) 
14.2 선형 프로그램으로 식단 문제 구성하기 
14.3 선형 프로그램의 유래 
14.3.1 용어(Terminology) 
14.3.2 다른 형태의 선형 프로그램 
14.3.3 정수 선형 프로그램 
14.4 선형 프로그램의 기하학: 다면체와 꼭지점 
14.5 다면체의 꼭지점인 최적의 솔루션 
14.6 선형 프로그램에 대한 열거 알고리즘 
14.7 선형 프로그램의 쌍대성(duality)에 대한 소개 
14.8 심플렉스 알고리즘 
14.8.1 종료(Termination) 
14.8.2 현재 솔루션 나타내기 
14.8.3 피봇 단계(pivot step) 
14.8.4 간단한 예 
14.9 꼭지점 찾기 
14.10 게임이론 
14.11 선형프로그램으로 구성하기 
14.12 비제로섬 게임(Nonzero-sum games) 
14.13 Lab: 선형 프로그램을 통한 학습 
14.13.1 트레이닝 데이터 읽어 들이기 
14.13.2 선형 프로그램 설정하기 
14.13.3 주요 제약조건들 
14.13.4 비음수(Nonnegativity) 제약조건 
14.13.5 행렬 A 
14.13.6 우변의 벡터 b 
14.13.7 목적함수 벡터 c 
14.13.8 함께 결합하기 
14.13.9 꼭지점 찾기 
14.13.10 선형 프로그램 풀기 
14.13.11 결과 사용하기 
14.14 압축 센싱(Compressed sensing) 
14.14.1 MRI 이미지를 더 빨리 얻기 
14.14.2 구조(rescue)를 위한 계산 
14.14.3 응용 분야 
14.15 Review questions 
14.16 Problems

관련분야 신착자료

김자미 (2021)