인공지능을 위한 기초수학(Basic Math for AI)
Prof : Sang-Gu LEE
http://matrix.skku.ac.kr/math4ai/
KMS-AI-Talk-인공지능이란무엇인가? by SGLee (30분) 2020-06-05 https://youtu.be/8oTM9n5OUBY
Math4AI 인공지능 수학 목록 http://matrix.skku.ac.kr/math4ai-tools/
2020년, 도전학기
Flipped/PBL Action Learning
Basic Math for AI (Mid-Term PBL Report)
Professor: Sang-Gu LEE
Due day: 2020/08/29 (Saturday, 11:00 am)
Name: Yuhai Oleksandr (유가이 올렉산드르),
박은아, 김태호
Major: Bio-Mechatronic Engineering, 생명과학, 경영학과
[Matrixtopia] 2020년 -도전학기 Math4AI- Final PBL 보고서 발표 1 이0재 https://youtu.be/C5f1ky3ttT0
[Matrixtopia] 2020년 -도전학기 Math4AI- Final PBL 보고서 발표 2 권0승 https://youtu.be/Wbx4oyubc6g
0주차 (강의운영 소개) https://youtu.be/IkQxe1izELM https://youtu.be/o-7gN6RAUMs https://youtu.be/VZbv6BG-xIY
http://matrix.skku.ac.kr/math4ai/
Part Ⅰ. 행렬과 데이터분석 http://matrix.skku.ac.kr/math4ai/part1/
Part Ⅱ. 다변수 미적분학과 최적화 http://matrix.skku.ac.kr/math4ai/part2/
Part Ⅲ. 확률통계와 빅데이터 http://matrix.skku.ac.kr/math4ai/part3/
Part Ⅳ. 빅데이터와 인공지능 http://matrix.skku.ac.kr/math4ai/part4/
(Find your Team member (3~5) in March or I will make a tentative Team) 팀원을 스스로 교체 가능합니다. 중간고사 전후로 확정 예정. Team will be Fixed in Midterm period, after I grade your PBL and Project proposal. 제안서중 선정된 주제만 실제 지도받으면서 프로젝트 진행하면 됩니다.)
보고서 양식 다운로드: http://matrix.skku.ac.kr/PBL-Form/PBL.hwp English Version MS Word file PBL report (Form and Sample) :
Download: http://matrix.skku.ac.kr/PBL-Form/PBL-Report-Form-English.docx
PBL Report (개인성찰 노트) Sample [예시]
Midterm PBL Report (개인성찰 노트) http://matrix.skku.ac.kr/2020-Mid-PBL-1/ http://matrix.skku.ac.kr/2020-Mid-PBL-2/
(학생들의 질문/답변/활동 기록: http://matrix.skku.ac.kr/math4ai/PBL-Record/
(학생들의 질문/답변/활동 기록: http://matrix.skku.ac.kr/math4ai/PBL-Record/ Basic Math for AI)
(학생들의 질문/답변/활동 기록: http://matrix.skku.ac.kr/2020-Math4AI-PBL/ Basic Math for AI)
(영어) http://matrix.skku.ac.kr/2018-album/LA-PBL.htm (선형대수학)
Ch. 1: Participation [참여평가]
(10점)
(1) State
more than 15 Math Definitions and concepts what you learned in Part 0, 1, 2 , 3
and 4.
|
Part
0 (인공지능 개론) |
Briefly
reviewed the basic functions of Python, Sage and R, Basic
concept of Power Method(거듭제곱법), Basic concept of MNIST 데이터셋을 활용한 손 글씨 숫자 인식(패턴인식), Briefly familiarized myself with
the principle of work of AlphaGo… |
|
Part 1 (인공지능 행렬과 데이터분석) |
벡터, 내적, 벡터의 노름, 코시-슈바르치 부등식, 정사영(projection), 선형연립방정식(system of linear equations), 첨가행렬(augmented matrix), 기본행 연산(ERO), 행 사다리꼴(REF), Row Reduced Echelon Form, Gauss
소거법과 Gauss-Jordan 소거법, 행렬과 행렬식, vector sum, scalar multiplication, 행렬의 곱(product), 영행렬(zero matrix), trace, 역행렬, 가역행렬의 성질, 대각행렬, 스칼라행렬, 대칭행렬, 치환(permutation), 수반행렬(adjugate, adjunct), 일차독립, 일차종속, Subspace, 기저, 차원, nullity, column space and row space,
계수(rank), Rank-Nullity 정리, 최소재곱해(least square solution), Normal
equation, Orthonormal basis, Gram-Schmidt 정규직교화 과정, QR 분해, 선형변환(Linear Transformation), 표준행렬, 핵(kernel)과 치역(range), 동형사상(isomorphism), 고윳값, 고유벡터, 대각화(Diagonalization), 닮음 행렬(similar matrix), 직교대각화(orthogonally diagonalizing), 고윳값분해(eigen-decomposition),
SVD(특이값 분해), 일반화된 역행렬(Pseudo-inverse, Moore-Penrose
Generalized Inverse), 이차형식(quadratic form), 주축정리(Principal axis theorem)… |
|
Part 2 (다변수 미적분학과 최적화) |
함수, 극한(limit), 도함수(derivative)와 미분(differentiation), 뉴턴 방법(Newton’s Method with gradient), 적분(Integral), 리만 합(Riemann sum), 외적(Cross Product), 벡터 함수, 편도함수(Partial Derivative)와 그래디언트(gradient), 연쇄법칙(Chain Rule), 방향도함수(directional derivative), Hessian,
Taylor 정리, 함수의 극대(Local Maximum) and 극소(Local Minimum), Fermat’s theorem
on critical points, 임계점(critical point), 안정점(saddle point), Gradient Descent
Algorithm(경사-기울기 하강법), 중적분(double integral, multiple integral), Fubini의 정리, Polar Coordinates에서의 2중적분, Jacobian… |
|
Part 3 (확률통계와 빅데이터) |
표본평균(sample mean), 중위수(median), 사분위수(quantile), 표본분산(sample variance), 표본표준편차(sample standard deviation), 백분위수(percentile), Interquartile range
(IQR), 수열(permutation), 조합(combination), 이항계수(binomial coefficient), 이항정리(binomial theorem), 중복집합(multiset), 확률(probability), 대수의 법칙(Law of large number), 조건부 확률(conditional probability), 사전확률(prior probability), 사후확률(posteriori probability), 베이즈 정리 (Bayes’ theorem), 확률변수 (random variable), 기댓값(expected value), 분산(variance), 표준편차(standard deviation), 확률분포(probability distribution), 확률질량함수(probability mass function), 확률밀도함수(probability density function), 이산 확률 분포(discrete probability distribution), 베르누이 분포(Bernoulli distribution), 이항분포(Binomial distribution), 연속 확률분포(continuous probability distribution),
균등분포(Uniform distribution), 정규분포(Normal distribution), 표준정규분포(Standard normal distribution), 지수분포(Exponential distribution), 중심극한정리 (Central Limit Theorem), QQ-plot, 표준 코시 분포(standard Cauchy distribution), 공분산(Covariance), 상관계수(Correlation), 결합 확률함수(joint probability function), 결합 확률분포(joint probability distribution), 결합밀도함수(joint density function), 공분산 행렬(Covariance Matrix), 통계적 독립(Statistically Independent)… |
|
Part 4 (빅데이터와 인공지능) |
인공지능(Artificial Intelligence), 기계학습(Machine Learning), 딥러닝(Deep Learning), 주성분 분석(Principal Component Analysis), 신경망(Neural Network), 지도학습(Supervised Learning), 비지도학습(Unsupervised Learning), 강화학습(Reinforcement Learning), 퍼셉트론(Perceptron), MNIST database… |
Part 0 (인공지능 개론)
1.
Python is an
interpreted, high-level, general-purpose programming language. Python has
become highly popular due to its abundance of libraries. Each Python library is
application-oriented that was developed to address problems. Mathematical
operations are most preferably carried out in Python due to its focus on
utility and minimal programming jargon. There are several libraries that can be
used to carry out mathematical operations with Python. Ex.: Math,
Numpy, SciPy, Scikit-learn etc.
2.
SageMath is a free
open-source mathematics software system licensed under the GPL. It builds on
top of many existing open-source packages: NumPy, SciPy, matplotlib, Sympy,
Maxima, GAP, FLINT, R and many more. Access their combined power through a
common, Python-based language or directly via interfaces or wrappers.
3.
R is a programming
language for statistical data processing and graphics, and is a free and open
source computing environment under the GNU Project.
4.
Power method is an
eigenvalue algorithm: given a diagonalizable matrix A, the algorithm will
produce a number λ, which is the greatest (in absolute value) eigenvalue of A,
and a nonzero vector v, which is a corresponding eigenvector of λ, that is Av =
λv.
5.
MNIST(Modified
National Institute of Standards and Technology) database is a voluminous
database of handwritten numbers. The database is a standard proposed by the US
National Institute of Standards and Technology for the purpose of calibrating
and comparing image recognition methods using machine learning primarily based
on neural networks.
6.
AlphaGo is a "Go
game" program developed by Google DeepMind in 2015. AlphaGo combines a
technique that provided a major breakthrough in the power of "Go
game" software in 2007-2012 (Monte-Carlo tree search) and recent
advances in machine learning, namely deep learning with multilevel neural
networks.
Part 1 (인공지능 행렬과 데이터분석)
1.
Vector is an object that has both
a magnitude and a direction. Geometrically, we can picture a
vector as a directed line segment, whose length is the magnitude of the vector
and with an arrow indicating the direction. The direction of the vector is from
its tail to its head.

2.
Vector projection of a vector a
on (or onto) a nonzero vector b is the orthogonal projection of a
onto a straight line parallel to b. It is a vector parallel to b,
defined as: a1 = a1
, where a1 is a scalar,
called the scalar projection of a onto b, and
is the
unit vector in the direction of b. Note that, scalar projection
is defined as:
a1 = ||a|| cos θ = a ·
= a · ![]()
where · denotes a dot product,
||a|| is the length of a, and θ is
the angle between a and b.

Note that, both the projection
a1 and rejection a2 of a
vector a are vectors, and their sum is equal to a,
which implies that the rejection is given by: a2 = a – a1.
3.
기본행연산: 기본행연산법에는 3개의 방법이 있다.
·
두 행을 교환 (Ri ó Rj).
·
한 행에 0이 아닌 상수를 곱함 (kRi ó Ri, where k ≠ 0).
·
한 행의 배수를 다른 행에 더함 (Ri + kRj
=> Ri, where i ≠ j).
4.
Gauss
소거법: 선형연립방정식의 첨가행렬을 REF로 변형하여 푸는 방법이다.
5.
Gauss-Jordan
소거법: 선형연립방정식의 첨가행렬을 RREF로 변형하여 푸는 방법이다.
6.
행렬의 곱셈(세종대왕의 기역 법칙):
두 행렬 A = [aij]mxp,
B = [bij]pxn에 대하여 A와 B의 곱(product)
AB를 다음과 같이 정의한다.
AB = [cij]mxn
여기서,
cij = ai1b1j + ai2b2j
+ ··· + aipbpj =
(1 ≤ i ≤
m, 1 ≤ j ≤ n)


7.
가역 행렬(invertible
matrix)은 그와 곱한 결과가 단위 행렬인 행렬을 갖는 행렬이다. 이를 그 행렬의 역행렬(inverse matrix)이라고 한다.
8.
3.2주차의 예제 실습(가장 이해하기 힘들었지만 sage를 통해 처음으로 해결)
9.

10. 대칭 행렬(symmetric
matrix)은 전치 행렬(transposed matrix)이 스스로와 같은 행렬이다 (A = AT).
11. 치환행렬(permutation matrix) 은 순서가 부여된 임의의 행렬을 의도된 다른 순서로 뒤섞는 연산 행렬이다.
일반적으로 치환행렬은 단위행렬로부터 얻을수있는 이진 행렬이다. 반대각행렬은 치환행렬의 특수한 경우이다.
12. 계수-퇴화차수 정리(rank-nullity
theorem)는 행렬의 상과 핵의 차원의 관계에 대한 정리이다.
13. QR 분해(QR
decomposition)는 실수 행렬을 직교 행렬과 상삼각 행렬의 곱으로 나타내는 행렬 분해이다. 그람-슈미트 과정이나 하우스홀더 행렬이나 기븐스 회전을 통해 얻을 수 있으며, 선형 최소 제곱법이나 QR 알고리즘에서 쓰인다.
14. 고유벡터(eigenvector)는 그 선형 변환이 일어난 후에도 방향이 변하지 않는,
영벡터가 아닌 벡터이다.
15. 고윳값(eigenvalue)는 고유벡터의 길이가 변하는 배수를 선형 변환의 그 고유 벡터에 대응하는 값이다.
16. 대각화 가능 행렬(diagonalizable
matrix)은 적절한 가역 행렬로의 켤레를 취하여 대각 행렬로 만들 수 있는 정사각 행렬이다.
17. 고유값 분해(eigen
decomposition)는 고유값 과 고유벡터로 부터 유도되는 고유값 행렬과 고유벡터 행렬에 의해 분해될수있는 행렬의 표현이다.
18. 특이값 분해(Singular
Value Decomposition)는 행렬을 특정한 구조로 분해하는 방식으로, 신호 처리와 통계학 등의 분야 에서 자주 사용된다.
19. Quadratic
form is a function on a vector space, specified by a homogeneous polynomial
of the second degree in the coordinates of the vector.
20. Principal
axis is a certain line in a Euclidean space associated with an ellipsoid or
hyperboloid, generalizing the major and minor axes of an ellipse or hyperbola.
The principal axis theorem states that the principal axes are
perpendicular, and gives a constructive procedure for finding them.
21. 1. Definition of 선형시스템(linear system), 계수행렬, 첨가행렬
22. A linear equation in
, ![]()
23.
,
is solution of (*) if ![]()
24. 선형시스템은
이다.
25. 이 때 첨가행렬은 Ax=b에서
계수행렬 A에 b를 붙인 것이다.
26.
27. 2. Definition of REF, RREF,
Gauss 소거법, Gauss-Jordan 소거법
28. ① All zero rows are
grouped together at bottom
29. ② The leading entry of
a row is farther away to the right
30. ③ The leading entries
are 1
31. ④ Each column with
leading 1 has zero everywhere else
32. REF: ①과 ②을 만족하는 형태
33. RREF: ①, ②, ③, ④ 모두 만족하는 형태
34. Gauss소거법: 첨가행렬을 REF로 푸는
방법
35. Gauss-Jordan소거법: 첨가행렬을 RREF로 푸는 방법
36.
37. 3. Definition of span
38.
(벡터),
(스칼라) 일 때
39.
는 weight
를 가지는
의 linear combination이다.
40.
이다.
41.
42. 4. Definition of 선형변환(linear
transformation)
43. transformation T에 대해
44. ①
이고, ②
이면
45.
는 선형변환이다.
46.
47. 5. Definition of 부분공간(subspace)
48.
인
에 대해
49. ①
이고, ②
이면
50.
는
의 부분공간이다.
51.
52. 6. Definition of 기저(basis)
53.
에 대해
54. ① B는 선형독립(linearly independent)이고, ②
이면
55.
는
의 기저이다.
56.
57. 7. Definition of dimension
58. ‘dimension of
’를
으로 표현한다.
59.
= (number of vectors in any basis for
if
)
60.
61. 8. Definition of rank
62. m*n 행렬 A에 대해 ![]()
63.
64. 9. Definition of 행렬식(determinant)
65. 행렬 A의 행렬식 det(A)를 다음과 같이 정의한다.
66. ![]()
67. (단, σ는 permutation이고, k는 number of transition for σ이다.)
68.
69. 10. Concept of 전치행렬(transpose), 여인자행렬(cofactor), 고전적수반행렬(adjugated)
70. 전치행렬은 행과 열을 교환하여 얻은 행렬이다.
71. 여인자행렬은 소행렬식을 이용해 나타낸 행렬이다.
72. 고전적수반행렬은 여인자행렬의 전치행렬이다.
73.
74. 11. Concept of 역행렬
75. 역행렬은 고전적수반행렬(adjugated
matrix)를 행렬식(determinant)으로 나눈 것과 같다.
76. 역행렬이 존재하면 그 역행렬은 유일하다.
77.
78. 11. Concept of 특이값 분해(SVD), 직교행렬(orthogonal matrix), QR분해
79. 특이값 분해는 m*n 행렬 A에 대해
로 행렬을 분해한다.
80. 이 때, A: m*n
rectangular, U: m*m orthogonal, Σ: m*n diagonal, V: n*n
orthogonal matrix이다.
81. 직교행렬은 행벡터와 열벡터가 정규 직교 기저를 이루는 행렬이다.
82. QR분해는 행렬을 직교행렬과 상삼각행렬의 곱으로 분해한다.
83.
84. 12. Concept of 이차형식(quadratic form)
85. 이차형식은 각 항이 2차인 다항식이다.
86. x, y를 변수로 갖는 이차곡선을 행렬식으로 표현하면
이다.
87. 이차형식이 0보다 클 때 양의정부호, 0보다 작을 때 음의정부호라고 한다.
88. 적절한 변수변환으로 이차형식의 혼합항이 없는 형태로 표현하는 것을
주축정리라고 한다.
Part 2 (다변수 미적분학과 최적화)
1.
Function(함수) is a binary relation over two sets that associates
to every element of the first set exactly one element of the second set.
2.
Riemann sum is a certain kind of
approximation of an integral by a finite sum. One very common application is
approximating the area of functions or lines on a graph, but also the length of
curves and other approximations.
3.
Partial derivative of a function
of several variables is its derivative with respect to one of those variables,
with the others held constant.
4.
기울기(gradient)란 벡터 미적분학에서 스칼라장의 최대의 증가율을 나타내는 벡터장을 뜻한다. 기울기를 나타내는 벡터장을 화살표로 표시할 때 화살표의 방향은 증가율이 최대가 되는 방향이며, 화살표의 크기는 증가율이 최대일 때의 증가율의 크기를 나타낸다.
5.
Fermat's theorem is a method to
find local maxima and minima of differentiable functions on open sets by
showing that every local extremum of the function is a stationary point (the
function derivative is zero at that point).
6.
경사 하강법(Gradient
descent)은 1차 근삿값 발견용 최적화 알고리즘이다. 기본 개념은 함수의 기울기(경사)를 구하여 기울기가 낮은 쪽으로 계속 이동시켜서 극값에 이를 때까지 반복시키는 것이다.
7.
Multiple integral is a definite
integral of a function of more than one real variable, for instance, f(x,
y) or f(x, y, z).
8. 야코비 행렬(
Jacobian matrix)은 다변수 벡터 함수의 도함수 행렬이다.
13.
Definition of 수렴(converse), 발산(diverse)
임의의 양수ε에
대해0 <|x-a |<δ이면 |f (x)-b |<ε
가 되게 하는 적당한 양수δ 가 존재하면,
x가 a에 접근할 때 f (x)는 b에 수렴(converse)한다고
한다. 수렴하지 않으면 발산한다고 한다.
14.
Definition of 극한(limit)
위에서 정의한
‘x가 a에 접근할 때 f (x)는 b에 수렴한다’에서
b를 f(x)의 극한이라 하며
다음과 같이 쓴다. ![]()
16.
Concept of 미분가능, 미분계수, 접선
함수 f(x)가 a를 포함하는 어떤 구간에서 정의되어 있고
극한값
이 존재하면 f(x)는 a에서 미분가능이다.
이 극한값을 f(x)의 a에서의 미분계수라 한다.
이 때 f(a)를 지나고 기울기가 a에서의 미분계수인 직선을 접선이라 한다.
17.
Concept of 뉴턴방법(Newton’s Method)
y=f(x)에서 f(x)=0인 x를 구하기 위해 접선의 방정식을 반복하여 이용한다.
18.
Definition of 외적(Cross Product)
a와 b의 외적을 다음과 같이
표현한다. 
19.
Definition of 편도함수(Partial Derivative), 방향도함수, 그래디언트
z=f(x,y)에서, f의 x에 관한 편도함수는 다음과 같이 표현한다. ![]()
n계편도함수는 n번 편미분해서
얻을 수 있다.
방향도함수란 다변수함수를
특정 단위벡터 방향으로 미분한 것이다.
그래디언트란 편도함수를 element로 갖는 벡터이다.
20.
Concept of 헤시안(Hessian) 행렬, 극값, 안장점, 임계점
헤시안행렬은 다변수함수를 2차 편미분한 elements들을 갖는다.
헤시안 행렬의
고유값을 통해 극소, 극대, 안장점 임계점을 판별할 수 있다.
극값(극대, 극소)는 주위의 모든 점의 함수값
이상이거나 이하의 함수값이다.
안장점은 실수
영역의 다변수함수에서 어느 방향에서는 극대, 다른 방향에선 극소가 되는 점이다.
임계점은 그래디언트가
영백터인 점이다.
21.
Concept of 경사하강법(Gradient descent algorithm)
함수의 기울기가
낮은 쪽으로 계속 이동시켜 극값에 이를 때까지 반복한다. 뉴턴 방법과 유사하게 진행되며, search direction과 step-size를 통해 극값에 도달한다.
22.
Concept of multiple 적분
f(x,y),
f(x,y,z)와 같은 함수에 대해
,
에서 이중적분, 삼중적분을 수행할
수 있다. 기하학적 예시로 부피를 구하는 이중적분 등이 있다.
1.
↑↑↑↑ Midterm
2.
Part 3 (확률통계와 빅데이터)
1.
Median in mathematical statistics is a number that characterizes a sample (for
example, a set of numbers). If all the elements in the sample are different,
then the median is such a number that half of the sample is larger and the
other half is less. More generally, the median can be found by ordering the
elements in ascending or descending order and taking the middle element.
2.
Interquartile range (IQR) is a
measure of statistical dispersion, being equal to the difference between 75th
and 25th percentiles, or between upper and lower quartiles, IQR = Q3
− Q1.
3.
이항 계수(binomial coefficient)는 이항식을 이항 정리로 전개했을 때 각 항의 계수이며,
주어진 크기의 (순서 없는) 조합의 가짓수이다.
4.
이항 정리(binomial theorem)는 이항식의 거듭제곱을 이항 계수를 계수로 하는 일련의 단항식들의 합으로 전개하는 정리이다.
![]()
5.
중복집합(multiset)은, 집합과 달리, 그의 원소(element) 각각에 대해 중복 경우를 허용하는 집합(set)의 개념의 수정입니다.
각 원소에 대해 주어진, 경우의 양의 정수는 중복집합에서 이 원소의 중복도(multiplicity)로 불립니다.
● 다항계수(multinomial
coefficient)를 이용하여 아래와 같이 쓰기도 한다.

6.
사전확률(prior probability)은 일이 일어나기 전, 즉 사전에 미래에 어떤 사건이 일어 날 확률을 측정한 것을 말한다. 베이즈(Bayesian) 통계 추정에서,
사전확률분포는 확률 변수에 대해 관측 자료를 고려하지 않고 획득한 결과를 말한다. P(A)는
A에 대한 사전 확률을 나타낸다.
7.
사후확률(posteriori probability)은 사전확률과 대비되는 개념으로 확률변수에 대한 관 측이나 증거에 대한 조건부 확률을 말한다.
즉 어떤 특정사건이 이미 발생하였는데, 이 특정사건이 나온 연원이 무엇인지 불확실한 상황을 식으로 나타낸 것이며 P(A | B)로 표현될 수 있다
(B는 이미 일어난 사건이고, 사건 B를 관측한 후에 그 원인이 되는 사건 A의 확률을 따졌다는 의미로 사후확률이라고 정의한다.
8.
베이즈 정리(Bayes’ theorem)는 두 확률 변수의 사전 확률과 사후 확률 사이의 관계를 나타내는 정리다.
베이즈 확률론 해석에 따르면 베이즈 정리는 사전확률로부터 사후확률을 구할 수 있다. 베이즈 정리는 불확실성 하에서 의사결정 문제를 수학적으로 다룰 때 중요하게 이용된다. 특히, 정보와 같이 눈에 보이지 않는 무형자산이 지닌 가치를 계산할 때 유용하게 사용된다.
9.
확률변수(random variable)는 일정한 확률을 갖고 발생하는 사건(event)에 수치가 부여되는 함수이다.
10. 확률변수의 기댓값(expectation)은 확률적 사건에 대한 평균값으로, 사건이 벌어졌을 때의 얻은 값과 그 사건이 일어날 확률을 곱한 것을 전체 사건에 대해 합한 값이다. 이것 은 어떤 확률적 사건에 대한 평균의 의미를 갖는다.
![]()
11. 분산(variance)은 그 확률변수가 기댓값으로부터 얼마나 떨어진 곳에 분포하는지를 가늠하는 숫자이다. 기댓값은 확률변수의 위치를 나타내고 분산은 그것이 얼마나 넓게 퍼져 있는지를 나타낸다. 분산(variance)은 관측값에서 평균을 뺀 값을 제곱하고,
그것을 모두 더한 후 전체 개수로 나눠서 구한다. 즉, 차이값의 제곱의 평균이다. 관측값에서 평균을 뺀 값인 편차를 모두 더하면 0이 나오므로 제곱해서 더한다.
12. 표준 편차(standard deviation)는 자료의 산포도를 나타내는 수치로, 분산의 양의 제곱근으로 정의된다. 표준편차가 작을수록 평균값에서 변량들의 거리가 가깝다.
13.
23.표본평균(sample
mean) ![]()
14.
n개의 표본자료가 있을 때 표본자료의 합을 n으로
나눈 값
는 다음과 같이 계산한다.
15. ![]()
16.
17.
24. 중위수(median) = 중간값
18.
n개의 표본자료를 크기순으로 나열했을 때
19.
n이 홀수면 (n+1)/2번째 관측값이고 n이 짝수면 n/2번째 관측값과 n/2+1번째 관측값의 평균이다.
20.
21.
25. 사분위 수(quantile)
22.
n개의 표본자료를 크기순으로 나열했을 때 4등분하는 위치의 수 – 3개(Q1, Q2, Q3)
23.
24.
26. 표본분산(sample variance), 표본표준편차(sample
standard deviation)
25.
분산(s^2)은 표준편차(s)의 제곱이고, 다음과 같이 계산한다.
26.
![]()
27.
28.
27. 순열(permutation)
29.
순서를 주어 나열한 경우의 수
30.
서로 다른 n개에서 k개를 순서대로 고르는 경우의 수 ![]()
31.
32.
28. 조합(combination), 중복조합, 이항정리, Pascal공식
33.
조합: 순서 없이 나열한 경우의
수, 서로 다른 n개에서 중복 없이 k개를
고르는 경우
34.
![]()
35.
36.
중복조합: 서로 다른 n개에서 중복을 허락해 k개를 고르는 경우
37.
![]()
38.
39.
이항정리
에서 x=y=1을 대입하여 얻어지는 식
40.
41.
파스칼 공식:
(단, n과 k는 1≤k≤n-1을 만족하는 정수)
42.
43.
29. 중복집합의 순열
44.
다항계수를 이용하여, ![]()
45.
46.
30. 확률 – 수학적, 기하학적, 통계적
47.
수학적 확률 P(A)=(사건 A가 일어나는 경우의 수)/(일어날 수 있는 모든 경우의 수)
48.
기하학적 확률 P(A)=(영역 A의 크기)/(전체 영역의 크기)
49.
통계적 확률 시행 횟수가 한없이 커질 때
P(A)는 수학적 확률에 가까워진다
50.
51.
31. 조건부확률(conditional probability), 곱셈정리
52.
어떤 사건 A가 일어났다는 조건
하에서 사건 B가 일어날 확률
53.
조건부확률로부터 얻는 곱셈정리 관계식
54.
사건 A와 B에 대해 ![]()
55.
56.
32. 사전확률(Prior probability), 사후확률(Posteriori
probability)
57.
사전확률: 미래에 어떤 사건이
일어날 확률을 측정한 것 (사건이 일어나기 전)
58.
사후확률: 관측이나 증거에 대한
조건부확률 (특정 사건이 일어난 상황)
59.
60.
33. 베이즈 정리(Bayes’ theorem), 전확률공식(Law of total probability)
61.
불확실성 하에서 사전확률과 사후확률의 관계를 조건부확률을 이용하여
계산한다.
62.
배반(exclusive)과 곱셈정리에서
유도한 전확률공식을 이용하면 베이즈 정리 식을 얻을 수 있다.
63.
![]()
64.
65.
34. 확률변수(Random variable), 이산확률변수, 연속확률변수
66.
확률변수: 일정한 확률이 있는
사건에 수치가 부여되어 확률적 데이터를 대표하는 함수(변수)
67.
이산확률변수: 값의 범위가 이산적(discrete)인 확률변수
68.
연속확률변수: 값의 범위가 연속적(continuous)인 확률변수
69.
70.
35. 확률분포
71.
확률변수 X가 가지는 x에 확률 P(X=x)를 대응시키는 함수
72.
73.
36. 이산확률변수, 이산확률함수(확률질량함수, pmf)
74.
변수가 취할 수 잇는 모든 값이 취하는 확률이 각각 주어질 때 변수를
이산확률변수라고 한다.
75.
이 때 확률을 변수의 이산확률함수(확률질량함수, pmf)라 한다.
76.
77.
37. 확률변수의 기대값(expectation), 분산(variance),
표준편차(standard deviation)
78.
기대값: 확률적 사건에 대한
평균값
79.
분산: 확률변수가 기대값에서
얼마나 떨어진 곳에 분포하는지 나타내는 수치
80.
표준편차: 분산의 양의 제곱근
81.
82.
38. 확률밀도함수(pdf)
83.
연속확률변수의 확률을 결정하는 함수
(cf. 이산확률변수-확률질량함수)
84.
85.
39. 베르누이분포(Bernoulli distribution)
86.
베르누이분포: 성공 혹은 실패
두 가지 중 하1나만 나오는 시행 결과를 따르는 분포
87.
성공 확률 p에 대해 B(1,p)로 나타낸다. ![]()
88.
89.
40. 이항분포(Binomial distribution), 포아송 분포(Poisson
distribution)
90.
이항분포: 사건이 일어날 확률이 p일 때 n회 독립적으로 반복하는 시행 결과
B(n,p)로 나타낸다.
91.
사건이 일어나는 횟수가 x일
때, ![]()
92.
포아송 분포: 이항분포 B(n,p)에서 평균
는 일정하고 n이 한없이 커질 때 확률분포
93.
확률변수 X가 포아송 분포
를 따를 때 ![]()
94.
95.
41. 연속확률분포(continuous probability distribution)
96.
확률밀도함수(pdf)를 이용해
표현할 수 있는 분포로 균등분포, 정규분포, 지수분포 등이 있다.
97.
98.
42. 균등분포(Uniform distribution)
99.
균등분포: 연속확률변수 X가 a, b사이에서 일정한 값을 취하고
일 때 ![]()
100.
균등분포의 확률밀도함수 
101.
균등분포의 누적 분포함수 
102.
103.
43. 정규분포(Normal distribution), 정규분포곡선(Normal
distribution curve)
104.
확률변수 X가 정규분포를 따를
때,
이다.
105.
정규분포의 확률밀도함수
106.
107.
정규분포곡선(좌)과 확률분포함수(우)
108.

109.
정규분포곡선의 아래 넓이는 X가
그 범위의 값을 취할 확률과 같다.
110.
가 크면 오른쪽으로,
가 작으면 왼쪽으로 이동한다.
111.
가 크면 넓고 완만한,
가 작으면 좁고 뾰족한 곡선이다.
112.
113.
44. 표준정규분포(Standard normal distribution)
114.
정규분포를 따르는 확률변수 X에
대해
이면 Z는 표준정규분포를 따른다. ![]()
115.
116.
45. 지수분포(Exponential distribution)
117.
독립적인 사건이 단위 시간동안 발생하는 횟수가 푸아송 분포를 따를
때 다음 사건이 일어날 때까지의 대기 시간, 단위 시간당 발생하는 사건의 빈도가
일 때 ![]()
118.
확률변수 X가 지수분포를 따르면
확률밀도함수 ![]()
119.
120.
지수분포의 확률밀도함수(좌)와 확률분포함수(우)
121.


122.
123.
46. 중심극한정리
124.
같은 확률 분포를 가진 독립 확률변수 n개의
평균의 분포가 있을 때,
125.
n이 충분히 크면 정규분포에 가까워진다는 정리
126.
127.
47. 결합확률함수(joint probability function), 결합확률분포(joint probability distribution), 주변확률분포(marginal
probability distribution)
128.
결합확률함수: 두 이산확률변수를
결합한 함수
129.
결합확률분포: 두 이산확률변수의
가능한 모든 값에 대해 순서쌍으로 나타낸 것
130.
주변확률분포: 결합확률분포에서
하나의 확률변수만 대해서만 고려한 확률분포
131.
132.
48. 결합밀도함수(joint density function), 주변확률밀도함수(marginal probability density function)
133.
결합밀도함수:
에서 다음과 같이 정의된 함수
134.
(1) 모든 x, y에 대해
135.
(2) 모든 x, y에 대해 ![]()
136.
(3) 모든 x, y에 대해 ![]()
137.
(4) (X, Y)가 xy 평면상의 임의의 영역 A에 들어갈 확률 ![]()
138.
주변확률밀도함수: 결합밀도함수
에 대해 다음과 같이 정의된
, ![]()
139.
(5) ![]()
140.
141.
49. 공분산(Covariance), 공분산 행렬(Covariance
matrix), 상관계수(Correlation)
142.
공분산: 확률변수가 2개일 때 각 확률변수들이 어떻게 퍼져 있는지 보여주는 개념. X의 편차와 Y의 편차를 곱한 것의 평균
143.
공분산 행렬: 정사각행렬의 값을
각 변수의 분산과 공분산으로 채운 행렬
144.
상관계수: 확률변수의 절대 크기에
영향을 받지 않도록 표준화해서 분산의 크기만큼 나누는 것
145.
146.
50. 통계적 독립(Statistically Independent)
147.
두 사건 A, B가 다음과 같을
때 통계적 독립이라 한다.
148.
(1)
또는
149.
(2)
이고
를 만족하는 경우
150.
151.
51. 표본공간(sample space), 사건(event), 표본점(sample point)
152.
표본공간: 일어날 수 있는 모든
가능한 결과들의 집합, 보통 S로 표기한다.
153.
사건: 표본공간의 부분집합
154.
표본점: 표본공간을 구성하고
있는 각각의 원소
155.
156.
52. 조건부확률, 곱셈정리
157.
조건부확률: 어떤 사건이 일어났다는
조건 하에서 어떤 사건이 일어날 확률
158.
사건 A에 대한 사건 B의 조건부 확률,
(단, P(A)>0)
159.
곱셈정리: ![]()
160.
161.
53. 독립사건, 종속사건
162.
독립사건: 두 사건 A, B에 대해
또는
인 경우
163.
종속사건: 두 사건 A, B에 대해 독립사건이 아닌 경우
164.
165.
54. 독립시행의 정리
166.
확률
를 가지는 독립사건 A가 n회 반복시행 중 x회 나타나는 확률
167.
(단, p+q=1, x=0, 1, 2, …, n)
168.
169.
55. 분할(Partition)
170.
어떤 집합 A가 공집합이 아닐
때 A의 부분집합을 원소로 하는 집합족이 다음 내용을 만족할 때 집합족을 집합A의
분할이라 한다.
171.
(1) A의 부분집합 Ai (2) 서로 다른 Ai와
Aj의 교집합이 공집합 (3)
집합족의 모든 원소의 합집합A
172.
173.
56. 초기하분포(Hypergeometric distribution)
174.
비복원추출에서 N개 중에 n번 추출했을때 원하는 것 k개가 뽑힐 확률의 분포로, 확률밀도함수와 그래프는 다음과 같다.
175.

176.
177.
57. Gamma분포(gamma distribution)
178.
지수분포, 푸아송 분포의 매개변수에
대한 켤레 사전 확률분포. 확률밀도함수는 다음과 같다.
179.

180.
58. Beta분포(beta distribution)
181.
두 매개변수 α와 β에 따라 [0,1] 구간에서
정의되는 연속 확률 분포들의 가족.
182.
확률밀도함수와 그래프는 다음과 같다.
183.

184.
185.
59. x^2분포(chi-square distribution)
186.
gamma 분포의 특수한 경우로, k=v/2, θ=2인 분포. 신뢰구간, 가설검정 등의 모델에서 사용한다.
187.
확률밀도함수와 그래프는 다음과 같다.
188.

189.
190.
60. Student’s t분포(student’s
t distribution)
191.
정규 분포의 평균을 측정할 때 주로 사용한다.
192.
확률밀도함수와 그래프는 다음과 같다.
193.

194.
195.
61. F분포(F-distribution)
196.
검정과 분산분석 등에서 주로 사용한다.
197.
확률밀도함수와 그래프는 다음과 같다.
198.

Part 4 (빅데이터와 인공지능)
1.
인공지능(artificial intelligence)은 인간의 학습능력,
추론능력, 지각능력, 자연언어의 이해능력 등을 컴퓨터 프로그램으로 실현한 기술이다.
2.
기계 학습(machine learning)은 경험을 통해 자동으로 개선하는 컴퓨터 알고리즘의 연구이다. 기계 학습은 문제를 해결하기 위한 맞춤 코드(custom code)를 작성하지 않고도 일련의 데이터에 대해 무언가 흥미로운 것을 알려줄 수 있는 일반 알고리즘(generic
algorithms)이 있다는 아이디어입니다.
3.
심층 학습 또는 딥 러닝(deep learning)은 여러 비선형 변환기법의 조합을 통해 높은 수준의 추상화(abstractions, 다량의 데이터나 복잡한 자료들 속에서 핵심적인 내용 또는 기능을 요약하는 작업)를 시도하는 기계 학습 알고리즘의 집합으로 정의되며,
큰 틀에서 사람의 사고방식을 컴퓨터에게 가르치는 기계학습의 한 분야라고 이야기할 수 있다.
4. 인공신경망(artificial neural network)은 기계학습과 인지과학에서 생물학의 신경망에서 영감을 얻은 통계학적 학습 알고리즘이다.
인공신경망은 시냅스의 결합으로 네트워크를 형성한 인공 뉴런(노드)이 학습을 통해 시냅스의 결합 세기를 변화시켜, 문제 해결 능력을 가지는 모델 전반을 가리킨다.
62. 기계학습(머신 러닝)
컴퓨터가 경험을 통해 자동으로 개선될 수 있도록 하는 알고리즘. 지도학습, 비지도학습, 강화학습이 있다.
63. 지도학습(Supervised Learning)
데이터에 대한 레이블이 주어진 상태에서 컴퓨터를 학습시키는 방법
64. 비지도학습(Unsupervised Learning)
데이터에 대한 레이블이 주어지지 않은 상태에서 컴퓨터를 학습시키는
방법
65. 강화학습(Reinforcement Learning)
환경과의 상호 작용에서 수집한 관측치를 사용하여 보상을 극대화하거나
위험을 최소화하는 조치를 취하는 것이 목표인 것
66. 신경망(Neural Network)
뉴런을 모델화 하여 인공적으로 만든 기계학습 모델
67. 퍼셉트론(Perceptron)
문제를 해결하는 가중치가 있는 경우 학습 규칙이 정확한 네트워크의
가중치로 수렴하는 신경망이다.
68. 딥러닝(Deep Learning)
다음 상황을 예측하는 일을 수행하도록 컴퓨터를 교육하는 머신 러닝의
일종이다. 알고리즘은 아래와 같다.
1.주어진 데이터에 초기 파라미터를 설정한다.
2.여러 겹의 처리 계층을 사용하여 패턴을 인식한다
3.컴퓨터가 스스로 학습하도록 훈련
69. 주성분 분석(Principal Component Analysis, PCA)
차원 축소 기법 중 하나이다. 오리지날
데이터의 분포를 최대한 보존하면서 서로 직교하는 기저를 찾아 선형 연관성이 없는 저차원 공간으로 변환한다.
행렬의 고유값 분해 또는 특이값 분해(SVD)를
사용해 계산한다.
70. 공분산 행렬(Covariance matrix)
정사각행렬의 성분을 주대각선에 각 변수의 분산, 나머지에 공분산으로 채운 행렬
71. 센터링 행렬(mean-centered matrix)
1.데이터 행렬의 각 열의 평균을 구한다.
2.각 열 별로 데이터에서 열의 평균을 뺀다.
3.센터링된 행렬의 각 열의 평균은 0이 된다.
72. 공분산 행렬의 직교대각화
공분산 행렬
을 직교대각화하면,
이다.
는 양의 준정부호(positive semidefinite) 행렬이다.
이 때 고유값을 크기 순서대로 주대각선에 배열한 대각행렬이
이고,
는 그에 대응하는 정규직교 교유벡터를 열백터로 갖는 직교행렬이다.
73. 주성분(PC, principal component)
을 주성분이라고 한다.
벡터로 나타낼 수 있다. ![]()
74. 주성분점수(principal component score, PC score)
Z=XV에서 Z의 i번째 데이터의 좌표가 XV의 i번째 행벡터로 주어졌을 때
XV의 j번째 열벡터는 j번째 주성분 점수(PC score)이다.
75. 가중치(weight)
인공 뉴런에서 입력신호를 전달하는 역할로,
각 입력신호에 고유한 가중치가 부여된다. 가중치는 해당 신호의 중요도를 나타낸다.
76. 뉴런의 임계 값(threshold)
다수의 입력 신호가 주어졌을 때 미리 부여된 가중치에 따라 계산 후
총합이 정해진 임계값을 넘으면 1, 넘지 않으면 0 또는 -1을 출력한다.
77. 활성화 함수(active function)
입력 신호에 따라 값을 계산할 때 출력을 결정하는 함수이다. Sigmoid, ReLU, Heaviside function등이 있다. 가장
많이 쓰이는 활성화 함수는 ReLU이다.
78. 신경망 구성
- 순환하지 않는 그래프이다.
- 입력층(input layer) – 은닉층(hidden layer) –
출력층(output layer)으로 이루어져 있다.
- 입력층: 신호를 받는 레이어로, 신호가 오면 가중치와 계산하여
총합을 은닉층으로 전파한다.
- 은닉층: 주어진 활성화 함수에 따라 그 다음 층으로 전해질 신호가 계산된다.
- 출력층: 위의 과정을 거쳐 해당 결과를 내보낸다.
79. 오차 역전파(back propagation)
input layer에서부터 이미 주어진 가중치를 가지고 hidden layer를 거쳐
output layer까지 학습을 하면서 loss를 만들어 내고,
loss를 가중치를 최적화하기 위해 오차 역전파법을 사용하여 output layer부터 input layer까지 경사 하강법을 하며, 이미 주어진 가중치가 아닌 결과를
바탕으로 각각을 최적화할 수 있는 새로운 가중치를 구해내는 과정
80. 오차 역전파법 알고리즘
1. 순전파를 통해서 먼저 loss를 만들어낸다. 입력 layer로부터 각 layer를 지나치며
weight들을 곱하고, 활성화함수를 지나 마지막 출력 layer에서 loss값을 계산한다
2. 이 loss를 최소화하기 위해 역전파를 하며 경사 하강법을 사용하여 가중치를 업데이트 한다. 함수 f를 loss로 두고 gradient가 가리키는 반대방향(descent)으로 네트워크를 업데이트한다. 업데이트를 위해 순차적으로 거꾸로 돌아간다. (back propagation)
3. 최적화될 때까지 epoch를 늘리며 반복한다.
(2)
State more than 15 things that you
know/can/find after you studied the Part 1, 2, 3 and 4. (Please,
note that, I will only indicate the most important terms(in my opinion) that I
remember the most.)
1. After
completing Part 1, I can freely find the Inverse of the matrix.
Below I will give in my
opinion the fastest and simplest method for finding the inverse of a matrix. A method for
finding the inverse of a matrix using Linear Row Reduction.
Step1: Adjoint the identity matrix to the original matrix.
Step2:
Perform linear row reduction operations.
Step3:
Continue until you form the identity matrix (on the left side of the newly
augmented matrix).
Step 4:
Write out the inverse matrix.
In Sage,
let's say we have a square matrix A, to find its inverse we can use the
command: A.inverse ().
2. Also,
I can freely use Gram-Schmidt Process for ortho-normalizing a set of
vectors in an inner product space. Imagine that we are given a basis {x1,
x2, … ,xp} for a nonzero subspace W
or Rn, so, we can define that,
v1 = x1
v2 = x2 - ![]()
v3 = x3 -
- ![]()
⋮
vp = xp -
-
- ··· - ![]()
Then {v1,
… ,vp} is an orthogonal basis for W. In
addition, note that,
Span {v1, … ,vk} =
Span{x1, … ,xk} for 1 ≤ k ≤ p
In Sage,
we can easily applicate Gram-Schmidt process using the command
(In the case of matrix A):
A.gram_schmidt().
3. I
consider Singular Value Decomposition(SVD) to be one of the key topics
of linear algebra, thanks to the professor and other students, I understood
this topic more deeply. Let's go over the basic steps for SVD (Again, let's
call our matrix A):
Step1:
Compute transpose of our matrix, AT, and also compute ATA.
Step2:
Determine the eigenvalues of ATA and sort these in
descending order, in the absolute sense. Then, square roots these to obtain the
singular values of A.
Step3:
Construct diagonal matrix Σ by placing singular values in
descending order along its diagonal. Then, compute its inverse, Σ-1.
Step4:
Use the order eigenvalues from step 2 and compute the eigenvectors of ATA.
Place these eigenvectors along the columns of V and compute its
transpose, VT.
Step5:
Compute U as U = AVΣ-1. To compute the
proof, compute the full SVD using A = UΣVT.
In Sage,
use the following code to calculate the SVD (an example is given for a 2x2
matrix, but you can use it for larger matrices, just slightly correcting the
code in some places):
A = matrix([Given Matrix A])
B = A.transpose()*A
eig = B.eigenvalues()
sv = [sqrt(i) for i in eig] #특이값 구하기
print(B.eigenvectors_right()) #(A^T)(A)의 고유벡터 구하기, A의 right singular vectors
G = matrix([Matrix formed by Eigenvectors])
Vh = matrix([1/G.row(j).norm()*G.row(j) for j in
range(0,2)]) #V의 전치행렬; Note: change range value based on matrix size
Vh = Vh.simplify() #V의 전치행렬 표현
print(Vh)
U = matrix([A*Vh.row(j)/sv[j] for j in
range(0,2)]).transpose()
print(U) # U의 열들을 A의 left singular vectors
S = diagonal_matrix(sv)
print(S)
print(U*S*Vh)
4. I
also fully understand and can use Newton's Method in optimization.
Suppose you need to find the root of a continuous, differentiable function f(x),
and you know the root you are looking for is near the point x = x0.
Then Newton’s method tell us that a better approximation for the root is
x1 = x0 - ![]()
Repeat
this process as many times as necessary to get desired accuracy. In general,
for any x-value xn, the next value is
given by
xn+1 = xn – ![]()
In Sage, you can use Newton's Method as follows:
#Use a loop
to compute iterations of Newton-Raphson's Method
x = var('x')
f(x) = Given
function
fp =
diff(f,x)
NewtonIteration(x)
= x - (f/fp)(x)
xn = Initial
guess;
print('x0 =',
xn);
for i in
range(10): #Number of interations
xn =
N(NewtonIteration(xn),digits=10);
print('x', i+1, '=', xn);
print("This
is the exact answer for comparison: ")
print(solve(f(x)==0,
x))
5. After studying Part 2, I fully understood the topic
of multiple integrals. In particular, I understood well the meaning of Fubini's
Theorem. Fubini's Theorem is a result that gives conditions under which it
is possible to compute a double integral by using an iterated integral. One may
switch the order of integration if the double integral yields a finite answer
when the integrand is replaced by its absolute value.

As a
consequence, it allows the order of integration to be changed in certain
iterated integrals. Fubini's theorem implies that two iterated integrals are
equal to the corresponding double integral across its integrands.
In Sage,
you can calculate multiple integrals using the following code (I will give an
example code for calculating a double integral, but it can also be used for a
triple integral or more):
f(x, y) = Given function
#in this example, I’ll integrate in the order dy dx
f(x, y).integrate(y, lower limit, upper
limit).inegrate(x, lower limit, upper limit)
6. One
of the most important topics in Part 2 is Gradient Descent
Algorithm. Following are the main steps for using
Gradient-Descent Algorithm.
Step1: Sets the initial
guess and precision of the calculation
, ε.
Step2:
Then, calculate
=
– λ[j] ∇F(
), where λ[j]
= argminλF(
- λ[j] ∇F(
))
Step3:
Finally, check the stop condition:
·
If,
|
-
|> ε; |F(
) – F(
)| > ε; or ||∇F(
)|| > ε (choose one of the conditions), then j = j + 1
and we need to go to step 2
again.
· Otherwise,
=
and stop.
Example Sage code from the textbook for Gradient-Descent Algorithm
problem:
# initializing
A = diagonal_matrix(RR, [20, 10, 2, 1])
b = vector(RR, [1, 1, 1, 1]) # objective function
x0 = vector(RR, [0, 0, 0, 0]) # initial guess
g0 = -b # initial gradient
r = [] # 그래프를 그리기 위한 용도
# main iteration
for i in range(0, 200):
gn = g0.norm()
r.append((i, gn))
if gn < 10^(-8):
print("Stationary point! Algorithm terminated!")
break
w = A*g0
a = g0.inner_product(g0)/(g0.inner_product(w)) # step-size
x1 = x0-a*g0
g1 = A*x1-b
x0 = x1;
g0 = g1
show(line2d(r) + point(r, color = 'red')) # gradient 의 norm을 그래프로 그림
7. After
completing part 3, I fully understand and can calculate the Variance.
The Variance is defined as the average of the squared differences from the
Mean. To calculate the variance follow these steps:
Step
1: Work out the Mean (the simple average of the numbers)
Step 2: Then for each number: subtract the Mean and square
the result (the squared difference).
Step 3: Finally, work out the average of those squared
differences.
The Formula for Variance Is

In R,
you can easily calculate the Variance using the following code:
x <- c(확률변수)
pr.x <- c (확률분포)
e.x <- sum(x*pr.x) # 기대값(Expected value)
var.x <- sum((x^2)*pr.x)-e.x^2 #분산(Variance)
8. I
also understand well and can calculate Standard Deviation.
The Standard Deviation is a
measure of how spread out numbers are. Its symbol is σ
(sigma). The formula is
easy: it is the square root of the Variance.

In R,
you can calculate the Standard Deviation using the following code:
x <- c(확률변수)
pr.x <- c (확률분포)
e.x <- sum(x*pr.x) #기대값(Expected value)
var.x <- sum((x^2)*pr.x)-e.x^2 #분산(Variance)
sd.x <- sqrt(var.x) #표준편차(Standard Deviation)
9. I
fully understand the concept of permutation and can apply it to problem solving.
A permutation is an arrangement of all or part of a set of objects, with regard
to the order of the arrangement. For example, suppose we have a set of three
letters: O, L, and E. we might ask how many ways we can arrange 2 letters from
that set.
Permutation
is defined and given by the following function:

where, n is the set from which the
elements are permuted; r is size of each permutation;
Note that, here n and r
are non-negative integers.
In Sage,
you can apply permutation using the following code:
p = Permutations([given set of elements]); p
p.list()
10. I
understand at a good level and can apply Combination. A combination is a
selection of all or part of a set of objects, without regard to the order in
which objects are selected. For example, suppose we have a set of three
letters: O, L, and E. we might ask how many ways we can select 2 letters from
that set.
Combination
is defined and given by the following function:
![]()
where, n is the number of objects to
choose from; r is the number of object selected.
In Sage,
we can calculate all possible combinations of elements of the set using the
following code:
set = [given set of elements]
Combinations(set, here enter the number of selected
objects).list()
11. I
have studied in detail what Probability mass function is. The Probability
mass function is the probability distribution of a discrete random variable,
and provides the possible values and their associated probabilities. It is the
function p: R → [0, 1] defined by
pX(xi) = P(X = xi)
for -∞ < x < ∞, where P
is a probability measure. pX (x) can be also be simplified as p(x).
The
probability associated with each possible values must be positive and sum up to
1. For all other values, the probability need to be 0.
![]()
![]()
for all other x
Thinking
of probability as mass helps to avoid mistakes since the physical mass is
conserved as is the total probability for all hypothetical outcomes x.
12. I
also learned a lot about the Probability density function (PDF)
and learned how to use it in solving various statistical problems.
Probability density function,
or density of a continuous random variable, is a function whose value at any
given sample (or point) in the sample space (the set of possible values taken
by the random variable) can be interpreted as providing a relative likelihood
that the value of the random variable would equal that sample.
Probability
density function is defined by following formula:
![]()
where, [a, b] is interval in which x
lies; P(a ≤ X ≤ b) is
probability that some value x lies within this interval; dx
= b – a.
13. I
think one of the important topics in statistics is the Binomial distribution.
I fully understand this topic
and can apply it in practice for data analysis. Binomial distribution with parameters n
and p is the discrete probability distribution of the number of
successes in a sequence of n independent experiments, each asking
a yes–no question, and each with its own boolean-valued outcome: success/yes/true/one
(with probability p) or failure/no/false/zero (with
probability q = 1 − p). A single success/failure experiment is
also called a Bernoulli trial or Bernoulli experiment and a
sequence of outcomes is called a Bernoulli process; for a single trial,
i.e., n = 1, the binomial distribution is a Bernoulli distribution.
Formula:
![]()
where, p is probability of success; q
is probability of failure = 1 – p; n is number of trials; P(X
– x) is probability of x successes in n trials.
Let's put Binomial distribution into practice for a
coin tossing problem using Python.
Code:
from numpy import
random
import
matplotlib.pyplot as plt
import seaborn as
sns
#Note: n - number of trials; p - probability
of occurence of each trial (e.g. for toss of a coin 0.5 each); size - The shape
of the returned array.
x =
random.binomial(n=15, p=0.5, size=100)
print(x)
sns.distplot(random.binomial(n=15,
p=0.5, size=1000), hist=True, kde=False)
plt.show()
Output:

14. I
clearly understand the concept of a Normal Distribution. A normal
distribution is an arrangement of a data set in which most values cluster in
the middle of the range and the rest taper off symmetrically toward either
extreme. A graphical representation of a normal distribution is sometimes
called a bell curve because of its flared shape. The precise shape can vary
according to the distribution of the population but the peak is always in the
middle and the curve is always symmetrical. In a normal distribution the mean
mode and median are all the same.
Formula:

where, μ is mean; σ is Standard Deviation; π ≈ 3.14159; e ≈ 2.71828.
Let's use
the coin toss problem again, only this time using the Normal Distribution.
Python Code:
from numpy import random
import matplotlib.pyplot as plt
import seaborn as sns
x = random.normal(loc=50, scale=5, size=100)
print(x)
sns.distplot(random.normal(loc=50, scale=5,
size=1000), hist=False, label='normal')
plt.show()
Output:

15. Also,
in Part 3, I learned such an important topic as the Covariance Matrix.
Covariance Matrix is a measure of how much two random variables gets change
together. It is actually used for computing the covariance in between every
column of data matrix. The Covariance Matrix is also known as dispersion matrix
and variance-covariance matrix. The covariance between two jointly distributed
real-valued random variables X and Y with finite second moments is defined as
![]()
where, N is number of scores in each set
of data; X is mean of the N scores in the first
data set; Xi
is ith raw score in the first set of scores; xi
is ith
deviation score in the first set of scores; Y is mean of the N
scores in the second data set; Yi is ith
raw score in the second set of scores; yi is ith
deviation score in the second set of scores; Cov(X, Y) is covariance
of corresponding scores in the two sets of data.
In Python, we can easily calculate the covariance matrix using
the following code (Here, we will consider the case if we have a
ready-made dataset for 3 variables):
import numpy as np
D1 = [Your collected data should be here]
D2 = [Your collected data should be here]
D3 = [Your collected data should be here]
data = np.array([D1, D2, D3])
covMatrix = np.cov(data,bias=True)
print (covMatrix)
16. In
Part 4, I studied PCA, one of the main ways to reduce the dimensionality
of the data, losing the least amount of information. Principal component
analysis (PCA) is the process of computing the principal components and using
them to perform a change of basis on the data, sometimes only using the first
few principal components and ignoring the rest. PCA can be calculated by
following the following steps:
Step 1: Standardize the dataset.
Step 2: Calculate the covariance matrix for the features in the dataset.
Step
3: Calculate the eigenvalues and eigenvectors for the covariance matrix.
Step
4: Sort eigenvalues and their corresponding eigenvectors.
Step
5: Pick k eigenvalues and form a matrix of eigenvectors.
Step
6: Transform the original matrix.
In
Python, PСA can be quickly and easily calculated using the following code:
import numpy as np
from sklearn.decomposition import PCA
#
Let's generate a random sample and call it X
x = np.arange(1,11) #
Instead, you can insert your data
y = 2 * x + np.random.randn(10)*3 # Instead, you
can insert your data
X = np.vstack((x,y))
print (X)
pca = PCA(n_components = 1)
PCAreduced_X = pca.fit_transform(transpose(X))
print()
#Note
that, the PCA in sklearn outputs a vertical array.
print('Reduced X: ')
print(PCAreduced_X)
References:
[1] 이상구, 이재화., (2019), “인공지능을 위한 기초수학”, BigBook, Part 0, Part I, Part II, Part III and Part
IV
[2] David
C. Lay, Steven R. Lay, Judi J. McDonald., (2016),“Linear Algebra and its
applications”, Pearson, pp. 63~78
[3] James
Stewart., (2016), “Calculus – Early Transcendentals”, Cengage Learning, pp.
10~270, 276~291; 345~348;
[4] Tutorials
Point., (N/D), “Definition of some concepts from Part 3”, tutorialspoin,
URL: https://www.tutorialspoint.com/statistics/index.htm
[4] Wikipedia.,
(2020), “Definition of some concepts from Parts 0, 1, 2, 3 and 4 above”,
Wikimedia Foundation
·
All the above pictures were used in accordance with
the CC (Creative Commons) license. This means that I can freely use, share
and adapt the content.
·
·
1. RREF (SAGE)
·

·
·
2. 수반행렬을 이용한 역행렬 구하기 (SAGE)
·

·
·
·
3. 정사영 (직접 계산)
·

·
·
4. Gram-Schmidt 방법 – 손으로 계산하는 것 보다
SAGE를 통해 쉽게 할 수 있다.
·


·
·
5. 행렬의 QR분해 (SAGE)
·

·
·
6. 특이값 분해 (SVD) (SAGE)
·

·
·
7. 뉴턴방법으로 해 구하기 – 반복할수록
정확한 해를 구할 수 있다.
·


·
·
8. 그래디언트, 헤시안 행렬 – 임계점, 극값 판정하기 (MATLAB)
·
·


·
·
9. 경사하강법으로 극값 구하기 –
극값인 (w1,w2)=(0,0)으로 다가가는 모습 (MATLAB)
·

·
· ↑↑↑↑ Midterm
·
10. (표준)정규분포 확률밀도함수 계산하기
·
·

·
(1) μ=0, σ=1인 표준 정규분포 객체 생성
·
(2) 확률밀도함수를 계산할 지점의 값을 포함하도록 벡터 x 정의
·
(3) x의 값에서 표준 정규분포에 대한 확률밀도함수 값 계산하여 y 출력
·
·

·
(4) 확률분포 객체를 생성하지 않고 동일한
확률밀도함수 값을 계산한 y2
·
·
11. 포아송 분포의 확률밀도함수 계산하기
·
·
![]()
·
(1) 사건 발생률 λ=2인 푸아송 분포 객체 생성
·
·

·
(2) 확률밀도함수를 계산할 지점의 값을 포함하도록 벡터 x 정의
·
(3) x의 값에서 푸아송 분포에 대한 확률밀도함수 값을 계산하여 y 출력
·
·

·
(4) 확률분포 객체를 생성하지 않고 동일한 확률밀도함수 값을 계산한 y2
·
·
12. 표준정규분포 그래프와 값 표현
·
·

·
(1) 표준정규분포 객체 pd 생성
·
·

·
·
(2) x값을 지정하고 확률밀도함수 계산
·
·
(3) 확률밀도함수를 plot한다.
·
·

·
(4) 표준정규분포를 나타내는 확률밀도함수의 값
·
·
13. 베르누이 분포(Bernoulli distribution)
·
·

·
(1) 확률이 0.66667(≒2/3)인 베르누이 분포 생성
·
·

·
(2) 생성한 베르누이 분포에서 막대그래프 생성
·
·

·
(3) 베르누이 분포를 나타내는 그래프
·
·
14. λ값에 따른 푸아송 분포 그래프
·
·


·
(1) λ=2 일 때 0에서 15까지의 포아송 분포
·


·
(2) λ=7 일 때 0에서 15까지의 포아송 분포
·
·


·
(3) λ=10 일 때 0에서 15까지의 포아송 분포
·
·
15. 로그 정규분포와 정규분포의 관계
·
·

·
(1) μ=5, σ=2인 로그정규분포 객체 생성
·
·

·
(2) 생성한 로그정규분포의 평균 계산 (μ와 다르다.)
·
·

·
(3) 로그 정규분포에서 난수를 생성한다.
·
(4) 생성된 난수 x에 대해 그 로그 값과 로그 값의 평균을 계산한다. 로그
값의 평균은 μ와 같다.
·
·

·
(5) 정규분포가 fitting된 로그 값의 히스토그램을 생성한다. x의
로그 값이 정규분포에 가까운 것을 확인할 수 있다.
·
·
16. 주성분분석(PCA)
·


·
(1) 표본 데이터 set를 이용해 주성분에 대한 계수, 점수, 분산을 구한다.
·
·

·
(2) 주어진 데이터를 score행렬과 coeff행렬을 이용하여 centering한다.
·
·
![]()
·
(3) 각 변수에 대한 정규 직교 계수와 각각의 데이터에 대한 주성분 점수를 평면에 나타낸다.
·
·

·
(4) 원 데이터(붉은 점)과 주성분분석 후(파랑 직선 v_1 ~ v_4)의 모습
·
·
17. 주성분분석(PCA) – 누락된 데이터가 있을 때
·

·

·
(1) 원본 데이터에서 3열 ~ 15열에 있는 13개의 연속형 변수에 대해 주성분 분석 – complete
·
·

·

·
(2) 원본 데이터에서 3열 ~ 15열에 있는 13개의 연속형 변수에 대해 주성분 분석 – pairwise
·
·

·
(3) 원본 데이터에서 3열 ~ 15열에 있는 13개의 연속형 변수에 대해 주성분 분석 – all
·
·
18. 주성분분석(PCA) – 교대최소제곱법(ALS)를 이용한 누락 데이터 회복
·
·

·



·

·
(3)
State your meaningful Comment/Answer/Discussions in Discussion/QnA.
(Note: I will cite just a few of my responses, comments that I find really
meaningful and helpful.)
1. 성취감에 따른 학습동기부여
[Final
OK by SGLee] 100점 입니다. 협동적 학습경험 Finalized by 김범준, 김진웅, 박은아
ð Sage에서 그래프 표현방법에 대한 간단한 질문이었습니다. 답변 또한 어렵지는
않아 제가 알고 있는 답을 작성하였는데, 다른 답변에서 새로운 방법을 알게 되는 기회가 되었습니다. 지식을 공유하는 과정에서 뿌듯함을 느꼈습니다. 교수님께서 코멘트 달아 주신
것처럼 ‘협동적 학습경험’의 성취감을 느낄 수 있어 의미 있는 Q&A로 선정하였습니다.
2. 하나의 주제로 다양한 의견을 나눈
경험
[Final]
경사하강법 최적 가중치 Finalized by 박은아 이상현 고경원 전재현 임성규 김태호
ð 원 글 작성자께서 경사하강법의 개념과 단점에 대해 언급해 주셨습니다. 이 단점에 대한 해결방안이 궁금해져 검색 후 답글을 달았습니다. 이 댓글을
보고 다른 학우분들께서 더 자세한 내용과 참고자료를 공유해 주셨습니다. 제가 작성한 내용을 학우분들이 흥미롭게
읽고 의견을 나눠 주신 덕분에 뿌듯함을 느껴 의미 있는 Q&A로 선정하였습니다.
↑↑↑↑ Midterm PBL ↑↑↑↑
3. 실습 내용 공유
Final OK by SGLee [Final] 주성분분석(PCA)에서
누락된 데이터가 있을 경우, ALS 활용 finalized by 박은아
댓글 by 임성규 박정호 김정한 박진형 전재현 김호연 채희준 천가영
작성자: 박은아(2016****73) 작성일: 8월 24일 오후 11:12
ð 중간 PBL보고서를 작성할 즈음에는 코딩에 대한 자신감이 많이 없어서 교재에 실린 예제를 실행해
보거나 다른 학우분들의 코드를 참고하여 공부를 했습니다. 다른 코드를 많이 참고하다 보니 자신감이 붙었고, 실습을 주체적으로 진행할 수 있게 되었습니다. 실습 과정에서 궁금한 점이 생겼고, 이 고민을 해결하는 과정을 글에 담았습니다. 문의게시판에 올린 글을 많은 학우분들께서
읽고 공감하는 댓글을 남겨 주셔서 매우 뿌듯했습니다.
4. 학우분들과 협동하여 내용 정리
Final OK by SGLee Re-finalized by 박은아
[7주차] 신경망 요약 by 천가영. finalized by 정원철. 작성자: 박은아(2016****73) 작성일: 8월 24일
오후 11:12
ð 천가영씨가 처음 7주차 머신 러닝, 신경망, 오차 역전파법을 중심으로 정리한 내용을 올리셨습니다. 이를 정원철씨가 신경망에서
가중치 계산에 사용하는 오차 역전파법의 내용을 추가하고 댓글을 취합하여 finalized했습니다. 교수님께서 오차 역전파법에 대해 윤문 하라는 조언을 해 주셔서 오차 역전파법에 대해 조사하여 제가 Re-finalized해서 최종 글을 올렸습니다. re-finalized 글에
작성했던 comment를 그대로 가져오자면 “학우분들과 함께 공부한 내용에 대해 정리해 나가는 경험이 뿌듯했습니다. 소통하며 서로 도와 공부하는 값진 경험이었습니다. ” 입니다. 작성했던
코멘트와 같이 함께 정리해가는 과정이 재미있고 뿌듯했습니다.
1. Final by 천가영, 유가이 and SGLee [HW] 벡터에 관한 질문 by 천가영 <- 답변 by 유가이
1. 벡터는 크기와 방향을 갖는 유향선분 - 2차원, 3차원 공간의 벡터는 화살표로 표현 가능
-> Q1. 1
차원 벡터도 존재하나요?
답:
존재합니다.
만약 존재한다면
1차원 벡터는 화살표로 표현 불가능한가요?
답:
화살표로 표현하지 못하는 벡터들도 존재합니다)
아니면
1차원은 공간으로 간주되지 않아서 그런 것인가요?
답:
아닙니다.
1차원 벡터 공간도 존재합니다.
2.
(R^n 안의)
벡터
X의 노름은 원점에서 점
P(x1, x2, ... , xn)에 이르는 거리로 정의됨을 의미한다.
->Q2 아래의 그림과 같이 시점이 원점이 아닌 벡터는 두 벡터의 합으로 밖에 표현할 수 없나요?

답: 아닙니다. 시점이 원점이 아닌 벡터는 원점으로 옮겨놓고 norm 노름을 구하시면 됩니다)
Remark by 유가이 올렉산드르: answering this question, I tried to explain the concept of a vector in as much detail as possible. I also explained the concept of a
vector in different spaces and gave several examples for a deeper
understanding. Also thanks to the Professor's help (additional
material and correction of minor inaccuracies), I hope that this answer cleared
up all the student's doubts about the vector in space.
2. [Final OK by SGLee] Finalized by 한수현, 유가이 올렉산드르, 박지수, [HW-해공간을 구하는 법, Kernel(Null Space), Right Null Space, Left Null
Space
Remark by 유가이 올렉산드르: Adding an
additional answer and finalizing this post, I decided to tell more about
Kernel(Null Space). I also explained the difference between right kernel and
left kernel and used python for visualization. In the end I showed a slight
difference when calculating null space in saga and python (using sympy library).
3. [Final OK by TA] [Final] Q by 김진웅 A by 유가이올렉산드르, 이상구 F by 김진웅 [HW 질문] 서로 같은 고유값에 대응하는 고유벡터들 차원 (JCF)
어떤 행렬 A 와 B 가 주어졌을 때 ...
서로 같은 (중근의) 고유값에 대응하는 (일차독립인)
고유벡터들이 이루는
부분공간 (eigenspace) 의 차원이 다를 때가 있는데 ...
어떻게 구분하여 알 수 있나요?
A 의
닮은 대각선행렬
: ![]()
B 의
닮은 대각선행렬 :
라는 의미는?
무엇인가요?
Here is my answer:
유가이올렉산드르(2018****33)7월 21일 오전 2:58
Let's
try to analyze the given example.
The first matrix "D = ([[1, 0], [0,
1]])" has two eigenvalues (1 and 1) but they are obviously not distinct.
Since A is the identity matrix, Av=v for any vector v, i.e. any vector is an
eigenvector of A. We can thus find two linearly independent eigenvectors (say
<-2,1> and <3,-2>) one for each eigenvalue.
But,
the second matrix "D = ([[1, 0], [1, 1]])" also has non-distinct
eigenvalues of 1 and 1. All eigenvalues are solutions of (A-I)v=0 and are thus
of the form <t,0>. Hence, in this case there do not exist two linearly
independent eigenvectors for the two eigenvalues 1 and 1 since <t,0> and
<s,0> are not linearly independent for any values of s and t.
Remark
1: Every eigenvalue with multiplicity = n will be associated with n different
(as in linearly independent) eigenvalues.
Multiplicity
is how many "times" it shows up as an eigenvalue. It is like when you
find only one solution to a second degree equation, which always has two roots.
This solution has a multiplicity = 2.
Remark
2: If a matrix has more than one eigenvector the associated eigenvalues can be
different for the different eigenvectors.
Geometrically,
the action of a matrix on one of its eigenvectors causes the vector to stretch
(or shrink) and/or reverse direction.
4. [Final OK by SGLee] Finalized by 나종진,
답변 by 유가이올렉산드르
, 직교대각화가능할 필요충분조건(교재 p.125) 질문 by 나종진
Remark by 유가이 올렉산드르: The student had minor problems with Sage code for Orthogonal Diagonalization, so I slightly corrected the code here.
My answer:
유가이올렉산드르(2018****33)7월 23일 오후 7:55
12번째 라인에서 C.row(i) => C.column(i)로 수정하시면 될 것 같습니다.
A=matrix([[0,3,3], [3,0,3], [3,3,0]])
print(A.eigenvectors_right())
print
x1=vector([1,0,-1])
x2=vector([0,1,-1])
x3=vector([1,1,1])
B=matrix([x1, x2])
[G, mu] = B.gram_schmidt()
print(G)
print y1=vector([1,0,-1])
y2=vector([-1/2, 1, -1/2])
C = column_matrix([y1,y2,x3])
P = column_matrix([C.column(i) /
C.column(i).norm() for i in range(0, 3)])
print("P =")
print(P)
print
print(P.transpose()*A*P)
유가이올렉산드르(2018****33)7월 23일 오후 8:26
코드를 실행해봤는데 예제의 답과 같은 답이 나옵니다.
5. 답 by 유가이 올렉산드르, 이상구 교수님, 질문 by 한수현, Newton's Method에 대한 질문
두 설명(with and without gradient) 모두 Newton's method라고 하는 것을 보면, 각각이 결국 같은 방식을 이용하여 원하는 근사값을 구한다는 의미로 보입니다. 하지만 저는 저 두 내용이 완전히 관련 없는 독립된 내용으로 느껴집니다. 그래서 저 두 내용의 상관관계를 설명해주시면 좋겠습니다.
유가이올렉산드르(2018****33)8월 9일 오전 5:21
I think in both cases we are talking about the
same iterative method (Newton's method). The difference is played by the
dimension in which we work. As you know, in calculus, Newton's method is an
iterative method for finding the roots of a differentiable function f, which
are solutions to the equation f(x) = 0. In optimization, Newton's method is
applied to the derivative f′ of a twice-differentiable function f to find the
roots of the derivative (solutions to f′(x) = 0), also known as the stationary
points of f. These solutions may be minima, maxima, or saddle points. In
relatively Low dimensions we use classical Newton's method, but in Higher
Dimensions we can also use Newton's method, all we need to do is replace the
derivative with a gradient. also, please note that the geometric meaning in
both cases remains the same. Also often Newton's method(with gradient) is
modified to include a small step size 0 < gamma <= 1 instead of gamma =
1(pay attention to the classic formula, there the gamma is 1). Below I tried
(taking into account the possibilities of the comments section) to give the
basic formula that the Newtonian method represents (with and without a
gradient). x_{k+1} = x_{k} - f'(x_{k}) / f''(x_{k}) and x_{k+1} = x_{k} -
gamma[f''(x_{k})] / f'(x_{k}) The method is the same, just the area of
application is slightly different. Newton's method with gradient is often done
to ensure that the Wolfe conditions are satisfied at each step of the method.
For step sizes other than 1, the method is often referred to as the relaxed or
damped Newton's method. The geometric interpretation of Newton's method is that
at each iteration, it amounts to the fitting of a paraboloid to the surface of
f(x) at the trial value x_ {k}, having the same slopes and curvature as the
surface at that point, and then proceeding to the maximum or minimum of that
paraboloid (in higher dimensions, this may also be a saddle point). The central
problem of optimization is minimization of functions, and Newton's Method copes
with it relatively quickly. Hope this was helpful. Please correct me if I was
wrong somewhere. [Reference: Read more on
https://en.wikipedia.org/wiki/Newton%27s_method_in_optimization]
이상구(LEE SANGGU)8월 9일 오전 6:57
Good. 같은 뉴턴 알고리즘 입니다. 차원만 인공지능 에서 사용하는 고차원으로 일반화 한것입니다.
6. [Final OK by SGLee] [HW #5] Finalized by 유가이 올렉산드르;
순열, 조합 및 중복집합 강의 내용 요약 및 정리
+ Algorithms
+ 연습문제 풀기
Remark by 유가이 올렉산드르: Here, I tried to summarize in detail the material of the lecture, adding additional material if necessary. I also provided basic algorithms for the practical use
of permutations and combinations. Finally, I have given real examples of using
permutations and combinations using Python.
7. Final OK by SGLee 연습문제 풀기+Re-Finalized by 유가이 올렉산드르, Finalized by 손원식; AI 을 위한 기초수학 24, 25강 <확률통계와 빅데이터> [ 빅데이터와 인공지능 1-2, 개론, PCA ] 개념 복습 및 정리
Remark by 유가이 올렉산드르: Here, I
have finalized the summation of the lecture material by the student. I also
gave a detailed example of calculating principal components manually and using
Python. From this example, I can conclude that calculating the principal
components manually is a rather long and complicated process, and also in the
process of calculations, you can make a mistake, which will lead to an
incorrect result. Therefore, I believe that it is faster and easier to carry
out principal component analysis using programming languages such as Python,
Sage, etc.
(4)
Below, I have consistently indicated all my QnA activity.
[1.1] [1st HW] 간단한 자기소개와 수강동기, 유가이올렉산드르
[1.2] [Final OK by SGLee] [수정본] 추가답변 및 Re-finalized by 유가이 올렉산드르, Finalized by 김범준 [1주차HW-질문] 일차독립
[1.3] [Final OK by TA] Final [HW (1주차 배운 내용 요약 1] 나종진 + 유가이 : 다항함수의 개형을 그리기 + [HW] 질문 Q4. 교재 p.110(PDF p.118)와 답 by 유가이올렉산드르, 나종진, 이상구교수님
[1.4] [Final OK by TA and SGLee] Final by 천가영, 유가이 and SGLee [HW] 벡터에 관한 질문 by 천가영 <- 답변 by 유가이
[1.5] Finalized by 유가이 올렉산드르 2-1강에 대해 질문 by 이상현, 답변 by 이상구 교수님
[1.6] [Final OK by SGLee] Finalized by 한수현, 유가이 올렉산드르, 박지수] [HW-해공간을 구하는 법, f Kernel(Null Space), Right Null Space, Left Null
Space
[1.7] [Final OK by TA] [Final] Q by 김진웅 A by 유가이올렉산드르, 이상구 F by 김진웅 [HW 질문] 서로 같은 고유값에 대응하는 고유벡터들 차원 (JCF)
[1.8] [Final OK by TA] [HW] 열공간, 해공간, 영공간 사이의 관계, 질문 by 김진웅, 답변 by 장환승, 추가답변 및 Finalized by 유가이 올렉산드르
[1.9] [Final OK by SGLee] [HW] 1주차 강의 내용 요약 및 정리 + Sage과 Python 실습(비교), 내용 요약 및 정리 by 박진형, 코딩실습 및 Finalized by 유가이 올렉산드르
[2.1] [HW2] 선형변환 (Linear Transformation) 강의 요약 및 정리 + 연습문제 풀기
[2.2] [Final OK by SGLee] Finalized by 나종진, 답변 by 유가이올렉산드르 , 직교대각화가능할 필요충분조건(교재 p.125) 질문 by 나종진
[2.3] [HW2] 고윳값(eigenvalue), 고유벡터(eigenvector), 대각화(Diagonalization) 강의 요약 및 정리 + 연습문제 풀기
[2.4] [Final ok by SGLee] [HW2] 특이값 분해(Singular Value Decomposition, SVD) 강의 요약 및 정리 + 연습문제 풀기
[2.5] [Final OK by TA] 1주차 강의 내용 요약 및 정리 박진형, 코딩실습 및 Finalized by 유가이 올렉산드르
[3.1] [HW3] 함수(function), 극한(limit), 도함수(derivative)와 미분(differentiation) 강의 요약 및 정리 + 연습문제 풀기 + 코딩 실습
[3.2] [HW3] 미분의 응용 (Applications), 뉴턴-랩슨법 강의 요약 및 정리 + 근사 찾기 방법 비교 + 연습문제 풀기 + 코딩 실습
[3.3] [HW3] 적분 (Integral) 강의 요약 및 정리 + 연습문제 풀기 + 코딩 실습
[3.4] [Final OK by SGLee] [HW3] Finalized by 유가이 올렉산드르, 답변 by 이상구 교수님, Solved by 이상현 - 뉴턴 방법 증명
[4.1] [Final OK by SGLee] [HW 4] 연습문제 풀기 및 Re-Finalized by 유가이 올렉산드르, AI 을 위한 기초수학 16강 <미분적분학> [Gradient descent Algorithm] 개념 복습 및 정리 by 손원식, 추가 comment by 임성규, 이상구 교수님, 천가영
[4.2] Newton's Method에 대한 질문, 질문 by 한수현, 답 by 유가이 올렉산드르, 이상구 교수님
[4.3] Final OK by SGLee. [HW 4] 연습문제 풀기 및 Re-Finalized by 유가이 올렉산드르, Finalized by 손원식, AI 을 위한 기초수학 17강 <미분적분학> [중적분 (double integral, multiple integral)] 개념 복습 및 정리
[4.4] 경사하강법 실습(Newton's Method), 질문 by 한수현, 답 by 유가이 올렉산드르, 이상구 교수님, 김정한, 박진형
[5.1] Revised [OH #4] OH 내용 요약 - 금요일 14.08.2020/10:40~11:40] by 박정호(2014) and 유가이 올렉산드르, 프로젝트 지원 학생
[5.2] [Final OK by SGLee] [HW #5] Finalized by 유가이 올렉산드르; 순열, 조합 및 중복집합 강의 내용 요약 및 정리 + Algorithms + 연습문제 풀기
[5.3] [Final
OK by SGLee] [HW #5] Finalized by 유가이 올렉산드르; 확률(Probability), 베이즈 정리(Baye’s theorem) 강의 요약 및 정리 + 연습문제 풀기
[5.4] Final
OK by SGLee [5주차] Finalized by 유가이 올렉산드르; 실습 질문 by 김태호, 답변 by 안성진, 김범준
[6.1] [Final OK by SGLee]
[Team4 - Project]AI 12-1 English script - SGLeeF_YuhaiOleksandr
[6.2] [Team4_Project]AI_12-2_English_script-SGLee-F_YuhaiOleksandr
[6.3] Final
OK by SGLee 연습문제 풀기+ Re-Finalized by 유가이 올렉산드르, Finalized by 손원식; AI 을 위한 기초수학 23강 <확률통계와 빅데이터> [공분산과 상관계수, 데이터 활용의 실제] 개념 복습 및 정리
[6.4] Final
OK by SGLee 연습문제 풀기+Re-Finalized by 유가이 올렉산드르, Finalized by 손원식; AI 을 위한 기초수학 24, 25강 <확률통계와 빅데이터> [ 빅데이터와 인공지능 1-2, 개론, PCA ] 개념 복습 및 정리
[7.1] Refinalized by 정원철. Application of neural networks for classification
problems.by 유가이 올렉산드르 + 실습 공유
[7.2] [HW 7] 추가 내용 + Finalized by 유가이 올렉산드르; [Sigmoid 함수의 미분과 Heaviside function과 의 차이 + Activation functions(활성화 함수) in Neural Networks], 댓글 by 이상구 교수님. 나종진, 박은아,정원철, 박정호, 임성규, 김호연, 정권채, 손원식; Article by 이상현
[7.3] [HW 7] Additional material on PCA + mini Python code
example + Finalized by 유가이 올렉산드르; {7주차 강의 요약 by 김호연}, 됏글 by 이상구 교수님, 김호연, 손원식
[7.4] [수강후기] Final comment by 유가이 올렉산드르
Ch. 2: Participation Part (참여부분,
정량) 자기 평가와
본인의 Project (Term paper) 제안서 등에
대해 아래를 채우시오.
(20점)
Fill
in the below for your self-assessment and your project/term paper. (20 points/100)
A. (Quantity 10pts)
Briefly describe your contributions through Q&A for yourself and fellow students
in our "Basic Math for AI" classes!
(1) Quantity: Check your participation
numbers in Q&A <Refer your name in Q&A directly>: Each
week (Saturday to Friday)
▪ Week
1: 9
Week 2: 5
Week 3: 4 Week 4: 4
▪ Week
5: 4
Week 6: 4
Week 7: 4
(Total
= entries) 34
Total number of sessions
(Q: 9 , A: 25 )
■ Number of online attendances: ( 42 ) / 42 (1-7 week)
Online WebEx OH
attendance:
( 5 ) / 5 (1-7 week)
Absences: 0
1. (20점)
본인이 그간 Q&A, 동료학생, “본"강좌 등에 기여한 내용을 간단히 서술하세요!
(1)
QnA 참여 회수 <QnA에서 직접 확인하세요>:
각 주별 (토요일에서 금요일)
(1) 1주차:
총 3회
(2) 2주차: 총 1회 (3) 3주차: 총 6회 (4) 4주차: 총 9회
(5) 5주차: 총 2회 (6) 6주차: 총 10회 (7) 7주차:
총 12회
(8) 온라인 출석 횟수: 34회 / 35회 (9)
RTS(Office Hour) 출석 횟수: 총 3회
(2) 다음 밑줄 친 곳에 들어갈 내용을 고르시오.
나는 의 개념을 이해하고 설명할 수 있으며 (간단한 것은 손으로, 복잡한 것은 Sage,
MATLAB를 이용하여) 계산하여 그 의미를 설명할 수 있다.
![]()
나는 벡터, 내적, 벡터의 노름, 코시-슈바르치 부등식, 정사영(projection), 선형연립방정식(system of linear
equations), 첨가행렬(augmented matrix), 기본행 연산(ERO), 행 사다리꼴(REF), Row Reduced
Echelon Form, Gauss 소거법과 Gauss-Jordan 소거법, 행렬과 행렬식, vector sum,
scalar multiplication, 행렬의 곱(product), 영행렬(zero matrix), 역행렬, 대각행렬, 스칼라행렬, 대칭행렬, 치환(permutation), 수반행렬(adjugate,
adjunct), 일차독립, 일차종속, Subspace, 기저, 차원, nullity, column
space and row space, 계수(rank), Rank-Nullity 정리, 최소재곱해(least square
solution), Orthonormal basis, Gram-Schmidt 정규직교화 과정, QR 분해, 선형변환(Linear
Transformation), 표준행렬, 핵(kernel)과 치역(range), 동형사상(isomorphism), 고윳값, 고유벡터, 대각화(Diagonalization),
닮음 행렬(similar matrix), 직교대각화(orthogonally
diagonalizing), 고윳값분해(eigen-decomposition), SVD(특이값 분해), 일반화된 역행렬(Pseudo-inverse,
Moore-Penrose Generalized Inverse), 이차형식(quadratic form), 주축정리(Principal axis
theorem), 함수, 극한(limit), 도함수(derivative)와 미분(differentiation),
뉴턴 방법(Newton’s Method with
gradient), 적분(Integral), 리만 합(Riemann sum), 외적(Cross Product), 벡터 함수, 편도함수(Partial
Derivative)와 그래디언트(gradient), Jacobian, 연쇄법칙(Chain Rule), 방향도함수(directional
derivative), Taylor 정리, 함수의 극대(Local Maximum)
and 극소(Local Minimum), Fermat’s theorem on
critical points, 임계점(critical point), 안정점(saddle point),
Gradient Descent Algorithm(경사-기울기 하강법), 중적분(double integral,
multiple integral), Fubini의 정리, 표본평균(sample mean), 표본평균(sample mean), 중위수(median), 사분위수(quantile), 표본분산(sample variance),
표본표준편차(sample standard deviation), 백분위수(percentile),
Interquartile range (IQR), 수열(permutation), 조합(combination), 이항계수(binomial
coefficient), 이항정리(binomial theorem), 중복집합(multiset), 확률(probability), 대수의 법칙(Law of large
number), 조건부 확률(conditional probability), 사전확률(prior
probability), 사후확률(posteriori probability), 베이즈 정리 (Bayes’ theorem), 확률변수 (random
variable), 기댓값(expected value), 분산(variance), 표준편차(standard
deviation), 확률분포(probability distribution), 확률질량함수(probability mass
function), 확률밀도함수(probability density
function), 이산 확률 분포(discrete probability
distribution), 베르누이 분포(Bernoulli distribution), 이항분포(Binomial
distribution), 정규분포(Normal distribution), 표준정규분포(Standard normal
distribution), 지수분포(Exponential distribution), 중심극한정리 (Central Limit
Theorem), 표준 코시 분포(standard Cauchy
distribution), 공분산(Covariance), 상관계수(Correlation), 공분산 행렬(Covariance
Matrix), 통계적 독립(Statistically Independent), 주성분 분석(Principal
Component Analysis)의 개념을 이해하고 설명할 수 있으며 간단한 것은 손으로, 복잡한 것은 sage 또는 python 을 이용하여 계산하여 그 의미를 설명할 수 있다.
(3) 개인/동료와 같이 “본” 강좌를 학습하면서 배우거나 느낀 점은?
I am very glad that I had the opportunity
to once again get into this wonderful environment of the PBL class. I really
wanted to deepen my mathematical knowledge in the field of Artificial
Intelligence, and this summer semester, thanks to this subject (basic
mathematics for artificial intelligence), I have this opportunity. As I said
earlier, I really like the PBL technique, because thanks to it, each student
can actively participate in the educational process.
I also want to
note that this PBL system, pushes you to learn and improve your knowledge
literally every day. So, every day I devoted at least 3-4 hours to study this
subject and related material, which allowed me to significantly improve my
mathematical knowledge and practical skills in programming in Sage, Python and
R.
교수님의 수업이 처음이라 문의게시판을
활용하는 방식이 처음에는 적응하기 어려웠다. 하지만 수업이
진행됨에 따라 점차 적응하며 매일 문의게시판을 들어가 확인하는 것이 습관이 되었다. ‘Basic Math for AI’를 수강하며 소통하는 즐거움을 주로 느끼고 있다.
또한, 선형대수학 파트에서 이미
알고 있는 개념이라고 생각했는데 막상 질문에 대한 답변을 작성하기가 어려웠던 경험이 있다. 이러한 경험을
통해 무엇을 알고 무엇을 모르는지 깨달으며 정확하게 공부하는 방법을 익히는 방법을 배우고 있다.
7주간 선형대수학, 다변수 미적분학, 확률과 통계에 관련하여
개념을 착실하게 공부했다. 더불어서 과목명인 ‘인공지능’을 위한 기초수학에 걸맞게 코딩 실습도 많이 시도했다. 교재에 실린 예제를 실행해 보거나 다른 학우분들의 코드를 참고하여 공부를
했다. 다른 코드를 많이 참고하다 보니 자신감이 붙었고, 실습을 주체적으로
진행할 수 있게 되었다.
그 결과 선형대수학, 다변수 미적분학, 확률 통계, 마지막으로
머신 러닝에 대한 기초 수학 지식은 물론이고 Chapter 1.에서 작성한 바와 같이 정규분포 확률밀도함수
계산하기, 포아송 분포의 확률밀도함수 계산하기, 표준정규분포 그래프와
값 표현하기, 베르누이 분포 그래프 그리기, λ값에 따른 푸아송 분포
그래프 그리기, 로그 정규분포와 정규분포의 관계 알아보기, 주성분 분석
수행하기, 누락된 데이터가 있을 때 교대최소제곱법을 이용한 누락 데이터 회복하기 등의 실습을 할 수 있었다.
결과적으로 저는 이 수업을 통해 인공지능에 대한 기초 지식과 함께 하면 된다는 자신감, 그리고
함께 공부하는 성취감을 얻게 되었다.
(4) What you contributed through this course
(Q & A and/or In-class):
I tried to actively participate every
week in the QnA. Most of my QnA activity consists of answering questions,
coding, finalizing and summarizing lecture materials. In
almost every post I have tried to attach examples of solving problems by hand
and using Sage or Python(or both) code, as I believe that a visual step-by-step
process of solving problems in practice can greatly help me and other students
in understanding the topic.
(5) (5 pt) What is your
most important contribution or founding that you shared with others in QnA.(Quality)
To my mind, my most important contribution that I
shared with others was:
[Final OK by SGLee] [HW] 1주차 강의 내용 요약 및 정리 + Sage과 Python 실습(비교), 내용 요약 및 정리 by 박진형, 코딩실습 및 Finalized by 유가이 올렉산드르
Here Mr. 박진형 summarized all the material for the first week, and I
added Python and Sage code for deeper understanding the material. Also, my
goal was to compare the capabilities of Python and Sage in solving mathematical
problems. From this coding practice, we can conclude that it is much more
convenient and faster to apply Sage in a mathematical environment.
Additional
remark by 유가이 올렉산드르: I have always tried to supplement each of my posts
that I posted in QnA with a real example of solving a task, both manually and
using code(Python, Sage, R).
(6)
Number of Final OK by SG Lee Problems (and/or Completed Discussion/Question) in
Q&A that your name is included:
13
B. (Quantity 10pts) Quality of
Your Participation:
(1) Write what you especially remember while you are
doing A-1, 2, 3.
I am very pleased that most of the
students in this class are very actively involved in the educational process.
Everyone is trying to share their knowledge in QnA, ask questions on an
incomprehensible topic, or help another student with a detailed answer. I also
try to be a part of this process and to participate as much as possible in the
QnA.
I am very impressed with how many strong
math/programming students there were in this class. It was very interesting for
me to participate in QnA with them.
(2)
What did you learn or feel while learning Math for AI (Action Learning/PBL)
with your classmates?
I have greatly improved my mathematics
knowledge and also deepened my knowledge of programming. Thanks to the
active work of the Professor, TA and students, I significantly deepened my
knowledge of SVD, Newton's Method, Gradient Descent Method, Bayes’ theorem,
Covariance Matrix, PCA etc., and learned a lot about the way to apply them using
Python, Sage and R.
Ch. 3: Personal Reflection
Note
|
Subject |
Basic Math for AI |
Major |
Bio-Mechatronic Engineering |
||||
|
Name |
Yuhai Oleksandr |
Year |
2020년(여름), 도전학기 |
||||
|
Learning contents |
Part0(Power Method, MNIST, AlphaGo). Part1(벡터, 선형연립방정식, 행렬과 행렬식, 일차독립과 기저(basis) 및 차원(Dimension), 선형변환
(Linear Transformations), 고윳값, 고유벡터, 대각화(Diagonalization), SVD (특이값 분해, singular value decomposition), 이차형식(quadratic form). Part2(일변수함수와 미적분, 다변수함수와 미적분). Part3(통계학과 R, 순열, 조합, 확률, 확률변수 (random variable), 확률분포,
데이터 활용의 실제)). Part4(주성분 분석(Principal Component Analysis, PCA), 신경망(Neural Network), 학생
Real 프로젝트 사례(Statistical analysis on features of actual energy
consumption of office buildings in the South Korea)). |
||||||
|
Self-Checking |
|||||||
|
Activity |
Excellent |
Good |
Fair |
||||
|
1. |
I have contributed
to generate ideas and facts needed to resolve the issue. |
● |
|
|
|||
|
2. |
I proposed learning
issues associated with learning. |
|
● |
|
|||
|
3. |
When I study alone,
I used a variety of learning materials. |
● |
|
|
|||
|
4. |
I provide new
information and knowledge in this class. |
● |
|
|
|||
|
5. |
I was actively
involved in the discussions. And I provided a lot of questions in order to
understand these discussions. |
|
● |
|
|||
|
6. |
I have made a contribution
to the learning activities for our class. |
● |
|
|
|||
|
※ Please record the following items by considering your learning
process. 1. Do you understand the most of contents of this
learning process? I understood
at a sufficient level most of the topics from Part 0 to Part 4. I also learned many new
methods of how to solve mathematical problems using programming languages
(Sage, Python). 2. What kind of learning materials have you used to
study? In the
process of studying Mathematics for Artificial Intelligence, I most often
used our professor's textbook and video lectures. But, I also actively used
various books such as Linear Algebra and its applications by David C. Lay,
Calculus - Early Transcendentals by James Stewart, and others. I also used
useful information from various math forums, thematic videos on YouTube, math
blogs. I believe that all this was made possible through the use of the PBL
learning system. Usually,
I first get acquainted with the topic in our textbook book(Basic Math for AI
by 이상구 교수님 with 이재화
TA님), then I watch the lecture of the Professor, after
that I look for more information on topics that are not entirely clear to me
in other lectures of the Professor (Linear Algebra, Calculus, Discrete Math, etc.)
on the site http://matrix.skku.ac.kr/sglee/, after that for a deeper understanding of the
material, I look for information in other books (Linear Algebra and its
applications by David C. Lay, Calculus - Early Transcendentals by James
Stewart, Discrete Mathematics by Richard Johnsonbaugh etc.). After that, I
begin to search for more extensive information on the topic on the Internet
(usually material related to practice). Finally, I start to practice solving
tasks from textbooks manually and using Sage, Python or R. After that, I
usually post all the information I have collected in the QnA section and then
start trying to answer questions from other students in QnA. In recent weeks, I have also often
finalized the work of other students, adding additional useful material and
also adding various examples of problem solving (manually and using code)
related to the topic. 3. What did you learn through the learning
activities of this course? Through
learning activities I realized the importance of solving math problems not
only by hand, but also using programming languages such as Sage, Python and
R. I also understood the importance of active participation of students in
the educational process. I believe that thanks to the active participation of
students and Professor in the QnA, many even rather complex mathematical
topics have become much clearer. Even though I have already taken courses on
Linear Mathematics and Discrete Mathematics, I learned a lot of new things
for myself from other students (for example, the scope of SVD). Also, since I
did not take courses in Calculus, I learned a lot about such very interesting
and important topics as partial differentiation, and the Gradient Descent
Algorithm. Also, over the past 3 weeks, I have
greatly improved my knowledge of statistics, and most importantly, I learned
to apply this knowledge to solve real problems. I also learned a lot about artificial intelligence,
in particular about Neural networks. I would also like to thank the
professor for the project provided, thanks to which I was able to fully
understand and learn how to use in practice such a complex topic as PCA. 4. What have you learned from the other colleagues? From other colleagues, I learned a lot
about Linear Algebra, Calculus, Statistics, and thanks to other students, I
learned many new ways to apply mathematical knowledge in practice, in
particular, in the field of artificial intelligence. I also greatly improved my programming skills in
the Sage language. Through this course I understood the importance of
teamwork and mutual assistance to each other. 5. Self-Evaluation for Q/A Activities My score: 98 - Sometimes I
posted my posts to the I-Campus a little late, as they took me a lot of time
to write, but I tried to post at least 4 posts(summarizing the lecture
materials, answering questions, finalizing, programming etc.) every week. - It was really interesting for me to participate in the study
activities of this course. 6. Evaluation for other students Almost
all students in our class actively participated in the development of our Basic
Math for AI class. I think that, thanks to the PBL system, many students
were able to become a support for each other in understanding a variety of
difficult mathematical topics. And I also think that thanks to the
active participation of students, the Professor, and TA in the learning
process, many students were able to master most of the material from the all four
parts at a fairly good level (even students from the Humanities and
Social Sciences Campus who may not be familiar with Linear Algebra or Calculus
before).
|
|||||||
|
|
|
|
|
|
|
|
|
[성찰노트]
※ 다음 항목들을 고려하여 자신의 학습과정과 내용을 기록하시오.
1. 나는 지금 수행되고 있는 학습의 진행내용을 이해하고 있는가?
Part 1의 선형대수학의
경우 BSM 선형대수학을 수강한 것이 비교적 최근이라 어렵지 않게 이해하고 실습할 수 있었다. 하지만 Part 2의 다변수 미적분학 부분은
BSM 미적분학 2를 수강하지 않아서인지 새로 배워야 하는 내용이 많아서 종종 난관에 봉착하였다. 때문에 더욱 충분한 시간을 들여 이해하려고 노력했다.
Part 3의 확률과 통계는 고등학교에서 배운 내용 이후로 처음 배우는 과목이었다. 옛 기억을 되살리며 다양한 실습과 함께 공부하니 잘 이해가 되었다. 그래프를
눈으로 보며 공부할 수 있어서 어렵지 않게 이해가 되었다.
Part 4의 머신 러닝은 새로 접하는 내용이어서 흥미롭게 공부할 수 있었다. 오차 역전파법에 대한 내용이 가장 이해하기 어려웠는데, 문의게시판에 잘 정리된
글을 읽으며 이해했다.
2. 어떤 방법을 통해서 학습하였는가? (학습방법 및 자료)
다만 인터넷 환경의 문제로 종종 Sage 사용이 어려울 때가 있었는데, 이 때는 기존에 다뤄보았던 MATLAB으로 실습을 하기도 했다. 세부 문법이 Sage와 달라 코드를 새로 작성하며 개념을 익혔다. 기존의 코드를 단순히 복사해 사용하기 보다는 스스로 원하는 코드를 작성하려고 노력했다.
4주차부터는 코딩 실습을 많이 하려고 노력했다. 먼저, 아이캠퍼스에 올라온 강의를 꼼꼼하게 듣고 교재에 필기하며 개념 이해를 했다. 그
후 교재에 실린 예제와 개념을 착실하게 익히고 더욱 추가적으로 궁금한 내용을 실습해보았다. 실습 과정에서
특히 중요하다고 생각하는 주성분분석(PCA)의 알고리즘을 또렷하게 이해할 수 있었다. 이에 대해선 Chapter 1.에 실습 내용 코드와 설명을 결과로 나타냈다.
또한 문의게시판에 글을 자세히 읽으며 댓글로 고민을 공유하고, 관심있게 읽은 글에는 댓글로 잘 읽었다는 감사 인사를 남기며 학우분들과 소통하며 공부했다. 중간고사 이전 기간과 비교해서 댓글 참여를 많이 해서 문의 게시판을 활발하게 만들기 위해 노력했다.
3. 본 강좌의 학습활동을 통하여 무엇을 배웠나?
문의게시판에 올라온 질문에 답변을 작성하며 공부하는 방법과 서술하는
법에 대해 알아가고 있다. 이미 알고 있는 개념이라고 생각했는데 막상 질문에 대한 답변을 작성하기가 어려웠던
경험이 있다. 이러한 경험을 통해 무엇을 알고 무엇을 모르는지 깨달으며 정확하게 공부하는 방법을 익히는 방법을
배우고 있다. 내가 말하고자 하는 바를 상대방이 쉽게 이해할 수 있도록 글을 작성하고 싶다는 생각이 들었다. 아직은 부족하지만 Q&A활동에 여러 차례 참여하며 쉽지만 정확하게 개념을
서술하는 방법을 배우고 있다.
본 강좌의 학습활동을 통해 선형대수학, 다변수 미적분학, 확률과
통계, PCA, 신경망, 오차 역전파법에 대한 기본 개념과 AI 적용 실습을 해보았다. 이번 여름방학은 ‘인공지능을 위한 기초수학’ 강의
덕분에 식견이 넓어지고 자신감을 키우는 시간이었다. 그동안 수업을 들으며 팀플 과제는 몇 번 경험해봤지만
이 수업만큼 수강생의 참여도가 높은 수업은 처음이었다. 학우분들과 소통하며 문제를 해결하고 토론하는 과정이
즐거웠다. 도전학기 기간 동안 자격증 등 다른 공부도 병행해야 해서 더 열심히 참여하지 못한 것이 아쉽다. 짧은
시간이었지만 코딩에 대한 자신감도 얻고 수학 지식도 쌓아가는 값진 경험을 했다.
4. 다른 동료들로부터 무엇을 배웠는가?
나의 Q&A 활동에서
질문과 답변의 빈도를 비교해보면 답변을 더 많이 작성했다. 답변을 작성하면서 질문자님의 고찰과 창의력을 엿볼
수 있었다. 이 과정에서 ‘질문하기’에 대해 생각해보았다. 주어진 정보를
가지고 여러가지 생각을 이끌어낼 수 있다는 점이 존경스러웠다. 5주차부터는 질문을 많이 작성하려고 노력할
것이다.
7주간의 수업 동안 코딩 실습에서 다른 동료들에게 많은 힘을 얻었다. 문의 게시판에 올라온 다른 학우분들의 코드를 참고하여 공부를 했다. 다른 코드를 많이 참고하다 보니 자신감이 붙었고, 실습을 주체적으로 진행할 수 있게 되었다. 이에 따라 내가 만든 코드를 다른
학우분들에게 공유하며 조언과 아이디어에 대해 많은 도움을 얻었다.
5. 새롭게 배운 내용을 실제 생활에 어떻게 적용할
것인가?
내가 가지고 있는 생각을 글이나 말로 표현하는 것에 어려움을 종종
느꼈다. 본 수업을 수강한 경험을 바탕으로 이러한 부분을 극복해 볼 것이다. 문의게시판에서 Q&A에 참여하는 것과 Real Time Streaming OH 질문
시간에 열심히 참여하려는 노력을 하고 있다.
인공지능에 대한 큰 그림과 선형대수학, 다변수 미적분학, 확률과 통계, 머신
러닝에 대한 기초 수학 지식을 새롭게 배웠다. 우리 생활과 밀접하게 점점 발전하고 있는 인공지능에 대해 배운
내용을 상기하며 알고리즘에 대해 생각할 수 있을 것이다. 또한 Sage와 R을 활용해서 복잡한 계산이나 실험 결과에 통계 분석을 할 때 적용할 것이다.
6. QnA 활동에서 자신의 역할과 기여도에 대한 평가(자신의 활동에 점수를 주고
그 이유를 적으세요.):
-
80점/100점
- 이유 1. 답변 활동에는 여러
차례 참여했으나 ‘질문’에 대한 참여가 부족하다.
- 이유 2. 코드 작성에 익숙하지
않아 기본적인 실습은 수행했으나 학우분들과 공유할 내용이라고 생각할 만한 실습을 수행하지 못했다.
-
80점/100점
-
Mid Term PBL 보고서 작성 전의 활동에 비해 상대적인 참여도는 늘었지만 이전에 다짐했던
질문 많이 하기 목표를 만족할 만큼 달성하지 못했기 때문에 80점으로 주었다.
7. 다른 학생에 대한 평가
스스로 부족하다고 생각하는 코딩에 대한 글을 작성하신 학우분들께 감사의 댓글을 많이 작성했다. 본인이 수행한 프로젝트에 대해 Sage 혹은
Python 코드를 공유하여 지식을 나누는 모습이 인상깊었다. 또한,
흥미로운 질문을 작성하신 분들에게도 존경스럽다는 생각이 들었다. 함께 생각해볼 수 있는 시간을
만들어가는 것이 감명 깊다.
지금까지 경험해 본 온라인 수업 중 가장 이상적인 참여 수업이란 생각을
했다.
Self-Evaluation
|
Subject |
Basic Math for AI |
Major |
Bio-Mechatronic
Engineering |
||||||
|
Name |
Oleksandr Yuhai |
|
|
||||||
|
Evaluation Items |
Strongly
disagree |
Disagree |
Mostly disagree |
Mostly agree |
Agree |
Strongly agree |
|||
|
|
1. I participated actively in both, online and offline classes. |
|
|
|
|
|
● |
||
|
|
2. I participated actively on a Q&A activity. |
|
|
|
|
● |
|
||
|
|
3. My question and replies made on Q&A are relevant. |
|
|
|
|
|
● |
||
|
|
4. Information provided by my activity was useful for other students in
the class. |
|
|
|
|
● |
|
||
|
|
5. I enthusiastically took into the consideration other students’
opinions or point of view. |
|
|
|
|
|
● |
||
|
|
6. I contributed to class by participating on Q&A discussions. |
|
|
|
|
● |
|
||
|
|
7. I am enthusiastic about taking other class with the same students I am
taking Basic Math for AI. |
|
|
|
|
|
● |
||
|
[Opinion] ► Satisfaction according to the Self-Evaluation I
think that I was quite active in QnA, summarizing up the lecture material,
practicing solving various problems manually and through the program code,
finalizing the solutions of other students and, if possible, answering
questions. Also, I think that, my work has helped other students to learn
something new in solving problems in Linear Algebra, Calculus and Statistics. ► Sorrow according to the Self-Evaluation Sometimes
I posted my posts in the QnA section a little late (at the end of the week),
but I tried to make each of my posted posts as informative and useful as
possible. |
|||||||||
|
|
|
|
|
|
|
|
|
|
|
▶ 자체평가에 따른 잘한 점
1. 충분한 검색을 통해 최대한 질문에
답변하려 노력했다.
2. Part 1과
Part 2 전반적으로 Q&A에 참여하였다.
3. 다양한 의견을 제시하려고 노력했다.
4. 온라인 수업 출석을 밀리지 않고
잘 했다.
5. 학습 내용을 요약 및 정리하여 공유하려 노력했다.
6. 학습 내용과 관련된 심화 내용을 제공했다.
7. 코딩 실습 내용에 많이 참여했다.
▶ 자체평가에 따른 아쉬운 점
1. 인공지능 관련 수업인데 코딩 관련 Q&A 참여가 미비했다.
2. 2주차
Q&A 참여 횟수가 다른 주차에 비해 부족하다.
3. 문의게시판 작성 글 중 질문 횟수가 많지 않다.
4. 문의게시판 활동이 6주차,
7주차에 치우쳐져 있다.
Peer-Evaluation
|
Subject |
Basic Math for AI |
|||||||
|
Colleague’s
name |
김범준 |
|||||||
|
Name
of evaluator |
Yuhai
Oleksandr |
|||||||
|
Evaluation Items |
Strongly
disagree |
Disagree |
Mostly disagree |
Mostly agree |
Agree |
Strongly agree |
||
|
|
1. I participated actively in both, online and offline classes. |
|
|
|
|
|
● |
|
|
|
2. I participated actively on a Q&A activity. |
|
|
|
|
|
● |
|
|
|
3. My question and replies made on Q&A are relevant. |
|
|
|
|
● |
|
|
|
|
4. Information provided by my activity was useful for other students in
the class. |
|
|
|
|
|
● |
|
|
|
5. I enthusiastically took into the consideration other students’ opinions
or point of view. |
|
|
|
|
● |
|
|
|
|
6. I contributed to class by participating on Q&A discussions. |
|
|
|
|
|
● |
|
|
|
7. I am enthusiastic about taking other class with the same students I am
taking Discrete Mathematics. |
|
|
|
|
● |
|
|
|
[Opinion] ► Satisfaction according to the Self-Evaluation A
student from the Faculty of Consumer Science, pretty quickly adapted to the
PBL system of this math related class and actively participated in QnA. I
also believe that during his studies he improved his mathematical and
programming (Sage, R) knowledge to a great extent. ► Sorrow according to the Self-Evaluation 없습니다. |
||||||||
|
|
|
|
|
|
|
|
|
|
Self Evaluation 3. (개인
성찰 노트 3)
자신의 학습에 도움이 된 우수한/성실한 동 료
평 가
|
과 목 명 |
Basic
Math for AI |
|||||||
|
|
(두 명 이상의 추천을 받은
학생은 가산점) |
|||||||
|
피평가자(동료)
Best classmate |
전재현 |
|||||||
|
평가자(작성자)
your name |
박은아 |
|||||||
|
평가항목 |
전혀 아니다 |
아니다 |
약간 아니다 |
약간 그렇다 |
그렇다 |
매우 그렇다 |
||
|
1. |
온라인-오프라인
출석을 규칙적으로 하였다. |
|
|
|
|
○ |
|
|
|
2. |
QnA에 적극적으로 참여하였다. |
|
|
|
|
|
○ |
|
|
3. |
QnA 내용에 적합한 질문과 응답을 하였다. |
|
|
|
|
|
○ |
|
|
4. |
동료에게 도움에 되는 지식과 정보를
제공하였다. |
|
|
|
|
|
○ |
|
|
5. |
다른 동료의 의견을 존중하였다. |
|
|
|
|
|
○ |
|
|
6. |
QnA 운영 및 의견수렴과정에 긍정적으로 기여하였다. |
|
|
|
|
|
○ |
|
|
7. |
이번 강좌의 동료와 다른 수업도
듣고 싶다. |
|
|
|
|
○ |
|
|
|
[의견]
▶ 자체평가
중 잘한 점 1. 수업 시간에 배운 내용을 익히는 것에서 더 나아가 SVD와 Hessian 행렬을 활용하여 직접 응용하는 자세가 본받을 만하다고
생각했다. 2. 파이썬 코드를 공유함과 동시에 초보자도 이해할 수 있게 설명을
함께 작성해 주셔서 도움을 많이 받았다. 3. 프로젝트 공유 외에도 Q&A에
활발히 참여하시는 모습이 기억에 남아 우수한 동료평가에 작성하였다. |
||||||||
|
과 목 명 |
Basic Math for AI |
|||||||
|
|
(두 명 이상의 추천을 받은 학생은 가산점) |
|||||||
|
피평가자(동료) Best classmate |
천가영 |
|||||||
|
평가자(작성자) your name |
박은아 |
|||||||
|
평가항목 |
전혀 아니다 |
아니다 |
약간 아니다 |
약간 그렇다 |
그렇다 |
매우 그렇다 |
||
|
1. |
온라인-오프라인 출석을 규칙적으로 하였다. |
|
|
|
|
|
○ |
|
|
2. |
QnA에 적극적으로 참여하였다. |
|
|
|
|
|
○ |
|
|
3. |
QnA 내용에 적합한 질문과 응답을 하였다. |
|
|
|
|
|
○ |
|
|
4. |
동료에게 도움에 되는 지식과 정보를 제공하였다. |
|
|
|
|
○ |
|
|
|
5. |
다른 동료의 의견을 존중하였다. |
|
|
|
|
|
○ |
|
|
6. |
QnA 운영 및 의견수렴과정에 긍정적으로 기여하였다. |
|
|
|
|
|
○ |
|
|
7. |
이번 강좌의 동료와 다른 수업도 듣고 싶다. |
|
|
|
|
○ |
|
|
|
[의견] ▶ 자체평가 중 잘한 점 1. 수업 내용을 매주 잘 정리 및 요약하여 설명 comment와 함께 글을 올려
학우들의 이해를 도왔다. 2. 문의게시판에 올라오는 글을 읽고 활발하게 댓글을 작성하는 모습이 눈에 띄었다. |
||||||||
|
|
|
|
|
|
|
|
|
|
Flipped/PBL Action Learning Class
Reaction Evaluation
(For Students)
|
Evaluation
Details |
Evaluation |
||||
|
Strongly
agree |
Agree |
Neutral |
Disagree |
Strongly disagree |
|
|
1. I
participated actively in Flipped/PBL classes. |
|
V |
|
|
|
|
2. Professor helped students to
demonstrate their abilities. |
V |
|
|
|
|
|
3. I
obtained new skills and knowledge due Flipped classes. |
V |
|
|
|
|
|
4. Through that process of learning I developed
my abilities of making hypothesis. |
V |
|
|
|
|
|
5. Through that process of learning I obtained or
developed leadership capabilities. |
|
V |
|
|
|
|
6. I learned multiple methods of solving
problems. |
V |
|
|
|
|
|
7. I am now able to use various materials needed
to study efficiently enough. |
V |
|
|
|
|
|
8. I developed my professionalism. |
V |
|
|
|
|
|
9. The process of learning I experienced is
similar to the real process of doing researches. |
V |
|
|
|
|
|
10. Evaluation of method of learning is relevant. |
V |
|
|
|
|
|
11. I gained more knowledge by problem solving. |
V |
|
|
|
|
|
12. I used and developed my communicative skills
through the process of learning. |
V |
|
|
|
|
|
13. The result of the study was obtained through
problem solving. |
V |
|
|
|
|
|
14. I think that the idea Flipped classes was
useful for me. |
V |
|
|
|
|
|
15. I am enthusiastic about learning method of
Flipped class. |
V |
|
|
|
|
* A more detailed description of
the 5, 12 and 14 points.
5-1. In process of learning I was able to greatly improve
not only my skills in math, programming, but also my communication skills.
12-1. Actively communicating with other students and our Professor
and TA in Q&A about various mathematical topics, I significantly improved my communication
skills.
14-1. I believe that
this flipped class method helped me to study the educational materials more
diligently, and thanks to the video lectures of the professor, and various
useful materials from the professor's website, I was able repeat our
educational material on Linear Algebra, Calculus, Statistics whenever and
wherever I want. Also, this class helped me understand the importance of
working in a team.
16.
What is the merit of PBL system?
I believe that thanks to the
PBL methodology, each student has significantly improved their knowledge of mathematics
and programming. By their active participation in the
educational process, students have become a solid support for each other, which
helps to quickly and relatively easily master this rather voluminous subject.
17.
What can you suggest to improve this system of learning?
I would really
like our I-Campus to support mathematical operations (matrices, integrals,
etc.)
It would also be
nice if it had more font options and a built-in code compiler.
Open Feedback: Many thanks to the
professor and TA for maintaining the PBL methodology. I am very impressed with
how diligently the Professor is participating in our educational process. I
think this gives me and the other students an incentive to study the material
more actively and participate in QnA.
5-1. 본 수업을 통해 자신이 습득한 자기 주도적 학습 기술을 구체적으로 설명하시오.
읽었을 때 이해하는 것과 백지 위에 설명하는 것은 상당한 갭이 존재한다는
것을 깨닫게 되었다. Q&A활동에 여러 차례 참여하며 쉽지만 정확하게 개념을 서술하는 방법을 배우고
있다. 내가 정확하게 이해했는지, 설명할 수 있는지 고민해보며 반복
학습을 진행했다.
또한, 검색한 자료의 정확도를 확인하기 위해 꼼꼼히 읽어보고 따져보는
과정에서 추가 공부가 되었다. 최대한 틀리지 않은 답을 공유하고 싶어서 교재를 비롯해 다양한 자료를 비교해보는
과정을 거쳐 댓글을 작성했다.
개념을 이해하고 다양한 정보를 찾아보면서 기초 지식을 습득한 후에는 지식을 체득하기
위해 실습을 진행했다. 처음에는 교재와 문의게시판에 있는 예제 코드 등을 토대로 알고리즘을 이해했다. 알고리즘이 잘 이해가 되었다고 생각이 들면 직접 이해한 내용을 토대로 코드를 작성하여 학습한 내용을 복습하는 식의
학습을 했다. 직접 부딪히며 습득한 내용은 쉽게 잊어버리지 않을 수 있다.
12-1. 본 수업과정에서 자신이 참여한 활발한 의사소통을 구체적으로 설명하시오.
5-1에서 언급한 것과
연결하자면 댓글을 최대한 작성하고 싶어서 모르는 부분은 검색을 통해 댓글에 참여하였다. 또한 질문 글이 아니더라도 글을 꼼꼼하게 읽으려고 노력했고, 글 내용과 관련된
질문을 작성하여 상호 소통을 하려고 했다. 질문에 대한 답만 작성하는 것은 활발한 의사소통을 이끌어내기 힘들다는
생각이 들었기 때문이다. 좋은 글을 공유해주신 경우에는 잘 읽었다는 멘트와 함께 해당 글에서 어떤 점을 배웠는지, 어떤 점이 인상깊었는지 코멘트를 작성했다.
수업 진행 내용과 관련해서 매주 문의게시판에 작성된 글을 정리하여 Re-Finalized시켜 가독성을 높이는 동시에 나 자신의 개념 정리에도 도움이 되는 활동을 했다. 또한 정리된 글을 읽어보고 추가되었으면 좋을 것 같은 내용은 댓글에 추가로 작성해서 달아 공유했다. 또한 실습이 중요한 수업인 만큼 실습 과정도 공유하며 다른 학우들과 흥미로운 내용을 나누고자 하였다.
14-1. 우리 방식의 수업에서 효과적이었다고 생각되는 부분을 구체적으로 설명하시오.
기존에 겪어 본 온라인 수업과의 차별화된
모습은 단연 ‘활발한 Q&A’이다. 같은 학생들끼리 함께 고민하고
토론하는 과정에서 지식과 더불어 공부하는 법을 배울 수 있기 때문이다. 또한, 교수님과
조교님의 조언과 가르침도 학생들끼리 해결하기 어려운 문제에 많은 도움이 된다. 교수님께서 다양한 자료와 수업
영상을 아낌없이 공유해주시는 부분도 본 과목의 이해에 있어서 큰 장점으로 느껴졌다.
20. 이 수업에서 보완해야 할 점은 무엇이라고 생각합니까?
교양 과목 특성상 수강생들의 코딩과 수학에 대한 배경지식이 많이 차이가 날 수밖에 없다. 교수님이 제공해주시는 다양한 자료와 교재를 통해 배경지식을 습득할 수는 있지만, 상당히
많은 시간이 소요되기 때문에 일반 학기중에는 본 과목을 완벽하게 참여하기 어려울 수 있겠다는 생각이 들었다. 학기
시작 초반에 Sage의 기본적인 함수를 함께 다뤄보는 시간이 있었으면 좋겠다.
Ch. 4: PBL
Participation Part (30점)
소개(1개); 요약, 정리, 문제 풀이 및 실습(9개); 답변 및
Finalization (20개); Project(2개); OH 내용 요약(1개); 수강후기(1개)
[1st
HW] 간단한 자기소개와 수강동기, 유가이올렉산드르
안녕하십니까?
저는 이번도전학기에 인공지능을위한 기초수학 과목을 신청한 18학번
바이오메카트로닉스학과 유가이 올렉산드르입니다.
인공 지능은 현재 4차
산업 혁명에서 일어나는 중대한 변화에서 아주 중요한 역할을 하라고 생각힙니다. 저는
이전의 산업 혁명이 할 수 없었던 많은 변화를 사람들의 삶에 가져올 것이“인공
지능의 혁명”이라고
믿는다. 인공 지능을 통해 컴퓨터는 자신의 경험에서 배우고 주어진 매개 변수에 적응하고 이전에는 인간에게만 가능했던 작업을 수행 할 수 있습니다. 또한
지능형 지능의 가장 중요한 기능 중 하나는 거의 모든 분야에 적용될 수 있다는 것입니다. 제
경우에는 특히 신경망과 같은 인공 지능의 하위 영역에 관심이 많이 있습니다. 기계 학습 방법 (인공
신경망)을 사용하면 특히 의료공학 분야에서 더 많은 발전을 이룰 수 있다고 생각합니다. 예를 들어, 잘 작성된 알고리즘은 다양한 의료 기기의 센서에서 수신 된 방대한 양의 데이터를 분석 한 다음 논리적으로 가정(결론)을 할 수 있습니다. 또한
위에 언급과 같이 가장 간단한 인공 신경망을 만들더라도 기본적인 수학 지식 (알고리즘 등)이 필요하다는 점에 유의하고 싶습니다. 그리고
수학 분야의 지식을 넓히고 인공지능 분야(AI => Machine Learning => Neural Network)에서 이 지식을 적용하는 다양한 방법(Python,
Sage, R 사용함)을 배우기 위해 이 과목을 신청했습니다. 또한 PBL 시스템이
정말 마음에 들며, 이 덕분에 더 깊이 있고 종합적으로 과목을 공부할 수 있다고 생각합니다. 따라서
저는 이번 과목에는 좋은 결과를 얻기 위해 힘을 다할 것입니다.
저에게 어려운 점 중 하나는 한국어로 된 수학 용어(설명)가 많다는 것입니다. 그러나 저는 이 과정, 특히 PBL 시스템을
고려하여 과학 한국어(특히 AI 분야에서)도 향상시킬 수 있는 좋은 기회라고 생각합니다. 저는 QnA에서
활동하는 동안 약간 문법 오류가 있을 경우 양해주시면 감사하겠습니다 (때때로 저는 이해가 안되는 용어나 문장을 영어로 쓸 것입니다).
7주동안 잘 부탁드립니다.
감사합니다.
<Final
참여 리스트>
[Final]
경사하강법 최적 가중치 Finalized
by 박은아 이상현 고경원 전재현 임성규 김태호
[Final
OK by SGLee] Q and finalized by 김정한, 박은아, 정원철, 천가영 [3주차] 다변수함수와 미적분(1) 내용정리
및 질의
[Final
OK] 오늘 질문 답변 모음
[Finalized
by 나종진] 4주차
질문 적분영역이 직사각형이 아닌 이중적분에 대한 질문 답변 by. 김호연, 박은아, 김정한, SG LEE
[Final
OK by TA][FINAL][HW]3주차 강의내용
관련 질문 질문By이동현 답변By김진웅 이상구교수님 박은아 임성규
[Final
OK by SGLee] [FINAL][HW]4주차 내용 질문by 이동현 답변by 박진형 박은아 이상구 교수님, 감사합니다
이해가 되었습니다.
[Final]
Hessian 행렬은 실제로 어떻게 활용될까? (Frangi filter를 통한 이미지 검출 실습 with Python)
finalized by 전재현 댓글 by 이상구 교수님, 김범준, 김진웅, 채희준, 박은아
finalized
by 정원철. [2주차] 고유값 분해를 이용한 피보나치수 일반항 유도
[Final
by 나종진] HW
3주차 정리 및 질문 답변 by 박은아, 박정호, SG LEE, 임성규
[FINAL][HW]3주차 강의내용 관련 질문 질문By이동현
답변By김진웅 이상구교수님 박은아 임성규
[Final
OK by SGLee] 특이값분해(SVD)와
의사역행렬을 통한 2020년 해외직접투자 금액 추정하기 with Python
Finalized by 전재현 댓글 by 이상구 교수님, 김범준, 박은아, 채희준, 천가영, 김진웅, 장환승
[Final
OK by SGLee] 100점 입니다. 협동적 학습경험 Finalized by 김범준, 김진웅, 박은아
[Final
OK by SGLee] [Final] 대각화 관련 질문 Finalized by 박은아, 질문 by 김범준, 댓글 by 이상구교수님, 박은아, 장환승
[Final
OK by SGLee] Finalized by 안성진 1주차 강의 질문 by 박은아, 답변 by 이상구 교수님,
[Final]
[HW] 1주차 강의 정리,
실습, 질문 (한수현씨의 요약에 보태어 ... ) Q by 박은아 A by 이상구 안성진
<작성 내용>
(1주차)
|
[Final OK
by SGLee] Finalized by 안성진 1주차 강의 질문 by 박은아, 답변 by 이상구 교수님, |
|
1주차 강의에서, 최소 제곱법과 이를 이용해 최소 제곱 직선을 그릴 수 있다는 것을
배웠습니다. 질문 1. 각
데이터에서 직선까지 거리의 합이 가장 작은 직선을 그리는 것이라고 이해하였는데, 이것이 맞는지 궁금합니다. 질문 2. 데이터를 선형으로 표현한다는 것이 선형회귀법과 비슷한 것 같은데, 선형회귀법과
최소 제곱 직선을 그리는 것이 어떻게 다른지 궁금합니다. |
|
[Final]
[HW] 1주차 강의 정리, 실습, 질문 (한수현씨의 요약에 보태어 ... ) Q by 박은아 A by 이상구 안성진 |
|
<보충 공부> (1) Transpose연산 – 행렬 A, B, 상수 r에 대해 (AT)T=A (A+B)T=AT+BT
(rA)T=rAT
(AB)T=BTAT (2) 역행렬 ① 정의: n * n square
matrix A가 가역행렬 일 때, AC=CA=In인 C가 존재하면 C는 A의 역행렬이고, A는 invertible이다. 만약 C와 C’가 A의 역행렬일 때, AC=CA=I=AC’=C’A이다. C=CI=C(AC’)=(CA)C’=IC’=C’에서 C=C’이고, 역행렬은 unique하다. ② 연산 가역행렬
A, B에 대해 (AB)-1=B-1A-1이다. (AB)(B-1A-1)=((AB)B-1)A-1=(A(BB-1))A-1=AA-1=I
A가 가역행렬이면 AT도
가역행렬이다. (AT)-1=(A-1)T (3) span, basis 행렬 A에서, Columns 또는 Rows를 span하면 Col(A), Row(A)이다. A의 pivot column들은 Col(A)의
basis를 이룬다. (4) 벡터공간의 정의 (Rn,
+, ∙)로 n차 다항식 풀이 Pn={polynomials
in t w/ degree≤n
} p(t) = antn +
an-1tn-1 + ∙∙∙ + a1t1 +
a0t0, q(t) = bntn + bn-1tn-1 + ∙∙∙ + b1t1 + b0t0 p+q (t) := p(t) +
q(t) = (an+bn) tn + ∙∙∙ + (a1+b1)
t + (a0 +b0) t0 = (c∙p)(t) n차 이하의 다항식의 집합 P의
임의의 원소 p, q는 벡터공간의 정의를 만족한다. P는 벡터공간이라
할 수 있다. <Math
Coding HW 실습하기> - (5쪽에 첨부한 그림과 동일) |
(2주차)
|
[Final OK
by SGLee] 특이값분해(SVD)와 의사역행렬을 통한 2020년 해외직접투자
금액 추정하기 with Python Finalized by 전재현 댓글 by
이상구 교수님, 김범준, 박은아, 채희준, 천가영, 김진웅, 장환승 |
|
박은아(2016****73)7월 27일 오전 10:27 SVD의 개념을 익히는 것에서 더 나아가
활용 방안에 대해서는 고민을 해보았으나 막막하다고 느껴졌었습니다. 전재현학우님께서 진행하신 주어진 데이터를 활용해 추정하는 내용을 읽어보며 도움이 되었습니다. 감사합니다! |
|
[Final OK
by SGLee] 100점입니다. 협동적 학습경험
Finalized by 김범준, 김진웅, 박은아 |
|
박은아(2016****73)7월 27일 오후 5:11 김진웅 학우분께서 답변해주셨지만, 만약 불연속점을 알고 있다면 아래와 같이 exclude를 사용하는 방법도 있습니다. var('x') plot((x^2-4)/abs(x-2),x,-1,3,exclude=[2]) |
|
[Final OK
by SGLee] [Final] 대각화 관련 질문 Finalized by 박은아, 질문 by 김범준, 댓글 by 이상구교수님, 박은아, 장환승 |
|
박은아(2016****73)7월 26일 오전 11:53 일반적으로 행렬의 연산에서 (정사각행렬을 포함하여) 곱셈에서 결합법칙
(AB)C = A(BC) 은 항상 성립하지만 교환법칙 AB=BA 은 일반적으로는 성립하지
않습니다. (AB≠BA) <--- 행렬의 곱 연산에서는 앞
행렬의 행과 뒤 행렬의 열을 대응하여 연산하기 때문입니다. 이와 같이 다항식과 행렬의 연산에서
다른 점이 몇 개 존재하는데, 다음은 그 예시입니다. 다항식:
ab=0 이면 항상 a=0 or b=0 이다. 그러나
행렬곱 에서는: AB=0이어도 A=0 or B=0 이 항상 성립하지는
않는다. 다항식:
a가 0이 아닐 때, ab=ac이면 b=c이다. 행렬: A가 영 행렬이
아닐 때, AB=AC 이어도 B=C 이 항상 성립하지는 않는다. |
|
[Comment] 김범준 학우님의 대각화 관련 질문을 통해 다음과 같이 대각화에
대한 개념과 행렬의 연산법칙에 대해 상기할 수 있었습니다. 대각화 가능한 행렬의
조건 - 어떤 행렬의 교유값들이 서로 다른 값을 가지면 독립인 고유벡터를 가지며 대각화 가능하다. (증명 - https://www.math.wisc.edu/~ellenber/Math204Lects/Week10.pdf ) 행렬의 연산법칙 - 곱셈에서
결합법칙은 항상 성립하지만, 교환법칙은 일반적으로 성립하지 않는다. 이와 더불어 교수님께서 작성해주신 A를 대각화하는 행렬 P를 구하는 과정 코드를 활용해 대각화 실습을 해보았고, 개념을 견고히 할 수 있었습니다. |
(3주차)
|
[Final by 나종진] HW 3주차 정리 및 질문 답변 by 박은아,
박정호, SG LEE, 임성규 |
|
박은아(2016****73)7월 30일 오후 9:11 <질문
1. 에 대한 답> n*m 행렬
A와 m*l 행렬 B의 곱
AB는 n*l 의 크기를 갖는다는 개념을 이용하면 이해할 수 있습니다. x^t: 1*n 행렬 C: n*n 행렬 x: n*1 행렬 따라서 x^t * C * x는 결과적으로 1*1 크기를
갖는 행렬이 됩니다. |
(4주차)
|
[Final] 경사하강법 최적 가중치 Finalized by 박은아 이상현 고경원 전재현 임성규 김태호 |
|
박은아(2016****73)8월 5일 오후 1:25 첨부해주신 그림과 함께 작성해주신 글 잘 읽었습니다! 세세한 설명 감사합니다. 이상현 학우님의 글을 읽고, 오류 없이 global minimum에 도달할 수 있는 방안이 궁금하여 찾아보았습니다. 해결 방안: 모멘텀이라는 개념을 도입합니다. 기울기에 관성을 부과하여 작은 기울기는 쉽게 넘어갈 수 있도록 만듭니다. 언덕에서 공을 굴렸을때, 낮은 언덕은 공의 관성을 이용하여 쉽게 넘어갈 수 있게 하여 지역 최소값을 탈출할 수 있게 한다는 뜻입니다. 모멘텀을 사용하면 아주 작은 언덕을 빠져나올 수 있고, 기울기가 매우 작은
구간을 빠져나올 수 있습니다. 참고:
https://m.blog.naver.com/jevida/221855713144 |
|
박은아(2016****73)8월 8일 오후 2:08 김태호 학우님의 질문에 대해 고민해보았는데, 수평적으로 무한대인 그래프에서는 모든 지점이 최소값이고
모든 지점에서 기울기가 0이니 경사하강법이 바로 종료될 것 같습니다. (추가질문에 대한 답변) |
|
Comment 이상현학우님께서 작성해주신 원 글을 읽고 떠오른 고민(경사하강법의 단점)과 해결방안(모멘텀)에 대해 댓글에 작성하였습니다. 이 내용과 관련하여 자세한 추가 설명과 질문을 남겨주신 다른 학우님들의
댓글을 통해 추가 학습을 할 수 있었습니다. 하나의 주제로 다양한 질문과 답변이 오가는 협동적 공부에 대해
성취감을 느꼈습니다. |
|
[Final OK
by SGLee] Q and finalized by 김정한, 박은아, 정원철, 천가영 [3주차] 다변수함수와 미적분(1) 내용정리 및 질의 |
|
박은아(2016****73)8월 7일 오후 3:01 다변수함수에 대한 꼼꼼한 정리 감사합니다! 제가 이해한 것을 바탕으로 답변을 작성해보자면 다음과
같습니다. 1. fxy는 x에
대해 미분 후 y에 대해 미분, fyx는 y에 대해 미분 후 x에 대해 미분입니다. f가
연속이라면 x와 y에 대해 미분하는 순서를 바꾸어도 같은 값을 가지게
됩니다. 2. 방향도함수란 쉽게 말해 '특정 방향으로의 함숫값의 변화율'입니다. 어떤
점에서 임의의 방향으로 다변수함수의 순간 변화율을 계산할 수 있습니다. 아래 내용을 참고하였습니다. the directional derivative of a multivariate differentiable function
along a given vector v at a given point x intuitively represents the
instantaneous rate of change of the function, moving through x with a
velocity specified by v. 출처: https://en.m.wikipedia.org/wiki/Directional_derivative
혹시 제 답변에 오류가 있다면, 수정 부탁드립니다. |
|
[Final OK] 오늘 질문 답변 모음 |
|
박은아 2016311173 님이 모두에게:
오전 11:38 자연과학대학장이상구 님이
모두에게: 오전 11:39 물론이지요^^ 코멘트는 새로 추가 하시는 것을 권장합니다. |
|
박은아(2016****73)8월 7일 오후 2:44 유익한 시간이었습니다. 감사합니다. |
|
[Finalized
by 나종진] 4주차 질문 적분영역이 직사각형이 아닌 이중적분에 대한 질문 답변 by. 김호연, 박은아, 김정한, SG LEE |
|
박은아(2016****73)8월 7일 오전 3:44 2. 저도 확실한 답은 모르겠습니다만, 추측하기로는 x-y 평면에서 f(1 -x)를 x에
대해 -2부터 1까지 적분하는 그림을 참고용으로 나타낸 것 같습니다. |
|
[FINAL][HW]3주차 강의내용 관련 질문
질문By이동현 답변By김진웅 이상구교수님 박은아 임성규 |
|
박은아(2016****73)7월 29일 오후 3:09 이계도함수는 오목성(위로 볼록, 아래로 볼록), 변곡점, 임계점 판정에 사용할 수 있습니다.
오목성: 이계도함수가 양의 값을 가지면 위로 오목(볼록함수라고도
한다.)하게 되는데, 이는 접선이 함수의 그래프 아래쪽에 위치함을
의미한다. 유사하게, 이계도함수가 음의 값을 가지면 아래로 오목(오목함수라고도
한다.)하게 되는데, 이는 접선이 함수의 그래프의 위쪽에 위치함을
의미한다. 변곡점: 이계도함수의 부호가 바뀌면, 함수의 그래프는 아래로
오목에서 위로 오목으로 바뀌거나 그 반대가 된다. 이러한 경우가 일어나는 점을 변곡점이라고 부른다. 이계도함수가 연속이라고 하면, 비록 이계도함수가 0이 되는
모든 점이 변곡점인 것은 아니지만, 변곡점에서 이계도함수의 값은 0이
된다. 임계점: 이계도함수와 그래프의 관계는 함수의 임계점 (즉, f'(x)=0 )이 극대 또는 극소인지를 판정하는데 사용될 수 있다. 출처: https://en.wikipedia.org/wiki/Second_derivative |
|
[Final OK
by SGLee] [FINAL][HW]4주차 내용 질문by 이동현 답변by
박진형 박은아 이상구 교수님, 감사합니다 이해가 되었습니다. |
|
박은아(2016****73)8월 6일 오전 2:29 질문해주신 내용을 듣고 궁금해져 관련 내용을 검색해보았습니다. 동일 질문에 대해 다음과 같은
답변을 찾아 첨부합니다. When you want to maximize a
function. In a lot of optimization, we reformat maximizing a function as
minimizing the negative of that function. Which is why you hear more about
gradient descent. 출처: https://www.quora.com/When-is-gradient-ascent-useful The gradient descent is
useful for minimizing the cost function whereas gradient ascent is for
maximizing a cost function. Generally, for convex optimisation problem,
gradient descent does very well and converges faster. Whenever duality
exists, minimizing a problem in turns leads to maximizing its dual. More
importantly most of the real-world problems are based on minimizing the cost
function. 출처:
https://www.quora.com/Why-is-gradient-descent-considered-better-than-gradient-ascent-maximum-likelihood-estimation-technique
위의 내용을 토대로 제 생각을 덧붙이자면, 박진형 학우님께서 답변해주신 내용처럼 경사하강법과
경사상승법이 본질적으로는 큰 차이가 없으나 함수를 구현함에 있어서 최종적인 목적에 따라 경사하강법이 유용하게 쓰이는 경우가 많은 것으로 추측됩니다. |
|
[Final]
Hessian 행렬은 실제로 어떻게 활용될까? (Frangi filter를 통한 이미지 검출 실습 with Python) finalized by 전재현 댓글 by 이상구 교수님, 김범준, 김진웅, 채희준, 박은아 |
|
박은아(2016****73)8월 6일 오전 2:33 파이썬에 익숙하지 않아서 이해하는데 시간이 걸렸지만 흥미롭게 잘 읽었습니다! 첨부해주신 코드와
사진을 통해 헤시안 행렬의 활용에 대해 직관적으로 이해할 수 있었습니다. 좋은 내용 공유해주셔서 감사합니다. |
|
finalized
by 정원철. [2주차] 고유값 분해를 이용한 피보나치수
일반항 유도 |
|
박은아(2016****73)8월 6일 오후 12:43 수열의 일반항을 고유값 분해를 이용해서도 구할 수 있군요! 새로 접해보는 내용이라 흥미롭게 읽었습니다. 감사합니다. |
<Final 참여 리스트>
-
[Finalized by 김범준, 박은아] [1주차] 가역행렬판정과 수반행렬이 구해지지 않습니다.
-
[Final OK by SGLee] finalize
& 추가적 이야기 by 김범준.
[5주차] 포아송분포 베팅 (토트넘 vs 에버튼)by 정원철. 댓글 by. 이상구 교수님, 안성진 학우님, 최희준
학우님, 천가영 학우님, 나종진 학우님, 임성규
학우님, 박은아 학우님, 정권채 학우님, 박정호
학우님, 장환승 학우님
-
Final OK by SGLee finalized by 김범준. 신뢰구간의 의미 by 이상현 학우님 댓글 및 추가의견by 이상구교수님, 정원철 학우님. 박은아
학우님
-
[Final OK by SGLee] 임성기 채희준 나종진 [오늘 OH, 목요일 오후 5시-6시20분] OH에서 논의된 내용 아래에 (약속대로) 정원철
군과 안성진 군이 먼저 답글로 추가하세요^^ 다른 학생은 이어서 한 줄씩 주요 내용 보태시면 됩니다.
-
[Final OK by SGLee] 이상현 박은아 나종진 중심극한 정리의 장단점
-
[Final OK by SGLee] [Final] 주성분분석(PCA) Finalized by 박은아 장환승 김진웅 임성규 김정한 채희준
-
Final OK by TA [Final] 활성화함수 finalized by 박은아 이상현 나종진 이상구교수님 정원철
-
Final OK by SGLee [Final] 주성분분석(PCA)에서 누락된 데이터가 있을 경우, ALS 활용 finalized by 박은아 댓글 by 임성규 박정호 김정한 박진형 전재현
김호연 채희준 천가영
-
Final OK by SGLee finalized by 정원철. [7주차] 신경망 요약 by 천가영.
-
Final OK by SGLee Re-finalized
by 박은아 [7주차] 신경망
요약 by 천가영. finalized by 정원철.
-
[Final OK by SGLee] [hw-7주차] AI는 어떻게 발전하여 왔는가?
-
Refinalize Activation function
with 박은아, 이상현, 나종진, 정원철, 이상구 교수님, 김호연, 김효경, 김다은
-
REFINALIZE CLASSMATE 분들의 글 6주차 WITH 나종진, 김진웅, 김범준, 고경원, 김호연, 김효경, 이승재, 채희준, 김다은, 이상현, 정원철, 박은아, 임성규, 장환승, 정권채
-
REFINALIZE CLASSMATE 분들의 글 7주차 WITH 손원식, 박은아, 천가영, 정원철, 김효경, 김정한, 임성규, 김호연, 이승재, 정권채, 나종진, 김다은, 이상현, 박정호, 유가이올렉산드르,
-
[HW 7] 추가 내용 + Finalized by 유가이 올렉산드르;
[Sigmoid 함수의 미분과 Heaviside function과의 차이 + Activation functions(활성화 함수) in Neural
Networks], 댓글 by 이상구 교수님. 나종진, 박은아, 정원철, 박정호, 임성규, 김호연, 정권채, 손원식; Article by 이상현
-
수강후기, 생명과학과 박은아
|
[Finalized by 김범준, 박은아] [1주차] 가역행렬판정과 수반행렬이 구해지지 않습니다. |
|
[Finalized by 김범준, 박은아] [1주차]
가역행렬판정과 수반행렬이 구해지지 않습니다. 작성자 : 정유민(2019****80)작성일 : 8월 9일 오후 10:35 4. 수반행렬과 행렬식
수반행렬을
구하려 A.adjugate()를 사용했지만 sage에서 적용되지
않는 함수라는 말만 나옵니다. 왜 이런지 알고 싶습니다. |
|
박은아(2016****73)8월 9일 오후 10:52 sage.skku.edu 에서는 adjugate 대신 adjoint 함수를 사용하면 수반행렬을 구할 수 있습니다. |
|
[Final OK by SGLee] 이상현 박은아 나종진 중심극한 정리의 장단점 |
|
[Final OK by SGLee] 이상현 박은아 나종진 중심극한 정리의 장단점 작성자 : 이상현(2020****98)작성일 : 8월 20일 오전 3:35 조회수 : 24 참고 : https://drhongdatanote.tistory.com/57 6주차 강의에서 배웠듯이 중심극한정리는 통계학 역사상 가장 중요한 발견이라고 합니다. 중심극한정리에 대해 다시 설명 해보자면 어떠한 확률변수의 표본들이 매우 많고 이 표본들의 기댓값의 확률분포가 정규분포에 근사하게 된다는 것입니다. 이를 이용해 알 수 없는 모집단에서 추출한 표본들의 확률분포를 정규분포임을 알 수 있기에 고등학교 시절에 배웠던 표준화와 정규분포표를 이용해 확률을 추정 할 수 있습니다. 이렇게 정규분포임을 이용해 쉽게 추정 할 수 있는 장점이 있지만, 어디까지나 표본의 수가
많을때만 성립합니다. 이 때문에 실생활에서 너무 많은것을 정규분포로 단정 짓는 경우가 있습니다. 이것이 단점입니다. https://economypharm.tistory.com/1 이런 실수로 큰 피해를 본 사례중 대표적으로 2008년 경제위기가 있습니다. |
|
박은아(2016****73)8월 20일 오후 2:39 중심극한정리의 장단점에 대한 글 잘 읽었습니다! 감사합니다. 작성해주신
내용에서 중심극한정리의 용도와 주의할 점에 대해 덧붙이겠습니다. <중심극한정리의 용도> 1. 적은 수의 샘플로 모집단의 평균을 알아낼 수 있다. 2. 적은 수의 샘플로 모집단의 분산을 알아낼 수 있다. 3. 모든 데이터를 정규분포로 만들 수 있다. <주의할 점> 복원추출을 반복시행 하는 것이 원칙이다. 평균들의 평균이 모집단의 평균에 수렴하는 것이므로 보정이 필요하다. 참고:
https://en.m.wikipedia.org/wiki/Central_limit_theorem In general, the more a
measurement is like the sum of independent variables with equal influence on
the result, the more normality it exhibits. This justifies the common use of
this distribution to stand in for the effects of unobserved variables in
models like the linear model. |
|
[Final OK by SGLee] 임성기 채희준
나종진 [오늘 OH, 목요일 오후 5시-6시20분] OH에서 논의된 내용 아래에 (약속대로) 정원철 군과 안성진 군이 먼저 답글로 추가하세요^^ 다른 학생은 이어서 한 줄 씩 주요 내용 보태시면 됩니다. |
|
정원철(2017****79)8월 20일 오후 9:11 오늘 논의된 내용 중 필수적으로 전달드려야할 3가지가 있습니다. 1) 온라인 기말시험은 중간시험과 유사한 방식으로 진행되며, 8월 28일(다음 주 금요일)까지 퀴즈를 푸시면 됩니다. 또한 기말시험 대비을 대비하여 시간이 촉박하다는
점, 그리고 기한을 길게 두면 개강과 맞불려 오히려 참여가 더 번거로워질 수도 있다는 점을 들어 기말 PBL 보고서 제출 기한은 9월 2일(다다음주 화요일)로 정했습니다. 2) 기말시험을 대비하여, 평소 학습이
부족하다고 판단되시는 분들은 본인이 직접 하나부터 열까지 정리를 하기에는 시간적으로 벅찰 수 있으니, 기존에
다른 학우분들께서 잘 정리해놓으신 글에 comment를 달거나 질문을 하고,
또는 본인의 내용을 추가하여 finalize 혹은
refinalize 하는 방법으로 makeup 하시면 됩니다. 3) 프로젝트를 참여하지 못하였으나, 가산점을
받고 싶으신 분들은 5분 ~ 10분 정도의 동영상으로 본인의 final PBL 보고서를 발표하여 공유해주시면 됩니다. 이 부분과 관련한
세부사항은 문의게시판을 통해 교수님 혹은 TA님께 추가적으로 질문을 드려봐야할 것 것 같습니다. * Midterm PBL 에서 아쉬웠던 분은 이번
Final PBL 만 잘 하시면 모두 Makeup 할 수 있으니
... 일단 120점 온라인 시험 문제 보시고 그것 만점 받으시고, 그에 근거하여 교수님이 미리 보여주신 우리 Midterm PBL 샘플 보시고 Final PBL 을 본인의 언어로 채점하기 좋게 잘 정리하셔서 due day 전에
제출하시면 모두 B 는 받을 수 있을 듯합니다^^ 그리고 본의의 PBL 은 본인의 평생 포트폴리오가 될 것이라고 하셨습니다. 남은 1주일 잘 마무리 하시기를 기대합니다. |
|
박은아 2016311173 님이 모두에게: 오후 5:05 박은아(2016****73)8월 20일 오후 8:07 중간에 일정이 생겨 끝까지 참여하지 못해 죄송합니다. OH 영상으로 참여하지 못한 부분 내용
숙지하도록 하겠습니다! |
|
Final OK by SGLee finalized by 김범준. 신뢰구간의의미 by 이상현 학우님 댓글 및 추가의견by 이상구교수님, 정원철 학우님. 박은아
학우님 |
|
작성자 : 김범준(2017****99)작성일 : 8월 20일 오후 7:30 조회수 : 32 신뢰구간을 추정방법중 구간추정을
이용합니다. 구간 추정이란 모수A가
a~b사이의 구간에 있을 확률을 추정하는것 입니다 모수가 신뢰구간 내에 없을 확률을 k이라고 할때 신뢰구간 내에 있을 확률은 1-k가 됩니다. P(a<=표준정규분포<=b)=1-k로 나타낼시 1-k가 95일때와 99일때 표준정규분포표에
의해 P(-1.96<=z<=1.96)=0.95
/ P(-2.58<=z<=2.58)=0.99 가 성립합니다.
표준정규분포인 z는 어떠한 확률변수를 표준화 했었음을 이용해 평균-1.96*(표준편차/(표본의크기)^(1/2))<=...으로 흔히 알고있는 공식을 유도할
수 있습니다. 저희가 흔히 아는 95와99의 신뢰도는 모수가 신뢰구간내에 있을 확률이 95% 99%임을 의미한다는 것을 알 수 있습니다. 모수가 신뢰구간내에 있을 확률이
높기 위해서는 신뢰구간이 넓어야 한다는 것은 쉽게 알 수 있습니다. 그렇기에
95%보다 높은 99%가 신뢰구간이 넓어야 하고 이 때문에
1.96보다 높은 2.58을 사용합니다.
|
|
박은아(2016****73)8월 20일 오후 2:20 이상현 학우님과 정원철 학우님의 글을 읽고 신뢰구간에
대해 자세히 공부하다가 다음과 같은 퀴즈 사이트를 발견하여 링크를 공유합니다! (퀴즈 예시) 신뢰도가 95%에서 99%로 증가하는 것이 신뢰구간에 어떤 영향을 미치나요? 정답을 한 개 고르세요: 표본 데이터를 보지 않고서 말할 수 없습니다. 신뢰도가 증가하면 신뢰구간이 더 넓어지면서 오차범위가
증가합니다. 신뢰도가 증가하면 신뢰구간이 더 좁아지면서 오차범위가
감소합니다. 풀이 신뢰도를 높인다는 것은 각 구간에서 모수의 실제 값을
포착하기 쉽다는 뜻입니다. 더 높이기 위해서, 큰 오차범위와 함꼐
넓은 구간을 사용합니다. 정답: 신뢰도가 증가하면 신뢰구간이 더
넓어지면서 오차범위가 증가합니다. 신뢰도, 신뢰구간, 유의수준에 대한 개념을 견고히 할 수 있었습니다. |
|
[Final OK by SGLee] . finalize & 추가적 이야기 by 김범준. [5주차] 포아송분포 베팅 (토트넘 vs 에버튼)by 정원철. 댓글 by. 이상구 교수님, 안성진 학우님, 최희준 학우님, 천가영
학우님, 나종진 학우님, 임성규 학우님,
박은아 학우님, 정권채 학우님, 박정호 학우님, 장환승 학우님 |
|
[5주차] 포아송분포 베팅 (토트넘 vs 에버튼) 작성자 : 정원철(2017****79)작성일 : 8월 19일 오후 5:30 조회수 : 30 전에 정권채님의 포아송분포를 활용하여
호날두의 득점을 예측하는 글을 보고 흥미를 느껴 다른 예시를 가져와 보았습니다. 이번글에서는 2015/2016년 EPL 기록을
통해 손흥민 선수가 뛰고 있는 토트넘 vs 에버튼의 경기 결과를 예측 해봅니다.
결과 분석
위 테이블을 바탕으로 결과를 살펴본다면, 토트넘과 에버튼의 득점 확률이 수학적으로 독립이기
때문에 각 팀의 가장 높은 확률을 가지는 결과를 도출할 시, 단일 확률로는 토트넘은 1골(0.3202), 에버튼은 0골(0.4386), 즉 14.04%(0.3202*0.4386)의 확률로 토트넘이
에버튼에 1:0으로 승리할 확률이 가장 높습니다. |
|
박은아(2016****73)8월 20일 오후 2:44 포아송분포에 대한 재미있는 예시네요! 잘읽었습니다 ㅎㅎ |
|
Final OK by TA [Final] 활성화함수
finalized by 박은아 이상현 나종진 이상구교수님 정원철 |
|
Final OK by TA [Final] 활성화함수 finalized by 박은아
이상현 나종진 이상구교수님 정원철 sigmoid 함수의 미분과 Heaviside function과 의 차이
KakaoTalk_20200824_044811482.jpg sigmoid 함수를 미분시 (1-f(x))f(x)가 나오는 것을 확인했습니다. 입력에 따라 0또는 1을
출력하는 함수를 활성화 함수라고 합니다. 두 함수 모두
활성화 함수라는 점은 같지만, sigmoid 함수는 0~1 사이의 실수를 출력하고 Heaviside function는 0또는 1만 출력하는 점에서 차이가 있습니다. 이러한 특징은
신경망 학습에서 큰 차이를 보이게 됩니다. 인공 신경망은
역전파라는 과정을 통해 인공 신경망에 경사하강법을 수행합니다. 경사하강법은
이번 도전학기에서 배웠듯이 접선의 기울기를 사용합니다. 접선의 기울기를
이용하게 되면 입력에 따라 출력이 연속적으로 변하는 곡선인 sigmoid 함수와 달리 Heaviside function는 모든 구간에서 기울기가 0이기에 학습이 제대로 되지 않는 차이점이 있습니다. 4개의 댓글 나종진(2017****17)8월 24일 오전 10:21 좋은 글 감사합니다. 링크를 통해 sigmoid 외에 다른
활성화함수가 있음을 알게 되었습니다. 감사합니다. 박은아(2016****73)8월 24일 오전 11:49 sigmoid는 0에서 1 사이의 실수, Heaviside는 0또는 1만 출력한다는
것과 heaviside에서는 접선의 기울기를 이용하기 어렵다는 것을 알아갑니다. 활성화 함수에 대한 글 감사합니다. 이상구(LEE SANGGU)8월 24일 오후 12:14 sigmoid 함수가 가장 중요한 활성화 함수 이지만, 현재 제일 많이 사용하는 활성화 함수는 (4) ReLU 함수 입니다. ^^ def relu(x): return np.maximum(0, x) y = relu(x) plt.plot(x, y)
plt.plot([0, 0], [5.0, 0.0], ':') plt.title('Relu Function') plt.show() 은닉층에서
활성화 함수로 가장 많이 사용되는 활성화 함수이다. 하지만 입력값이 0보다 작을 경우, 미분값이 0이 되는 단점이 존재하는데 이를 보완한 Leaky ReLU와
같은 ReLU의 변형 함수들이 등장하기 시작했다. 하지만 그럼에도
여전히 은닉층에서 가장 많이 사용되는 활성화 함수이다. 정원철(2017****79)8월 24일 오후 1:25 정리하신거 감사히 잘읽었습니다 !! sigmoid의 o과 1사이에서만 squashing 하는 속성은 오차역전파법을 쓰는 과정에서 gradient를
구할때 체인룰에 의해 계속 곱해지기 때문에 결국 gradient가 0에
수렴할 수 밖에 없게 됩니다. 이를 Vanishing gradient problem이라고
하는데.. 이 성질 때문에 실제로는 sigmoid함수는 activation 함수의 이론으로만 배울 뿐, 실제 프로젝트에서 아에 사용이
안됩니다. 이를 보완하고자 다양한 함수가 생겨났지만, 0보다
작을 때는 0이 되고 0이상에서는 x값을
갖는 ReLU를 주로 사용합니다. hidden layer에서는 ReLU를 사용하고 output layer 쪽에서 미분을 쉽게 하기위해 간혹 sigmoid gate를 사용하긴 하지만, 실제로 프로젝트 진행해보니 ReLU 기준 약 70% 가량 accuracy가
낮았습니다. (위의
링크에서 참조) (4) 렐루 함수 (ReLU function) def relu(x): return np.maximum(0, x)y = relu(x) plt.plot(x, y) plt.plot([0, 0], [5.0, 0.0], ':') plt.title('Relu Function') plt.show()
은닉층에서 활성화 함수로 가장
많이 사용되는 활성화 함수이다. 하지만 입력값이 0보다
작을 경우, 미분값이 0이 되는 단점이 존재하는데 이를
보완한 Leaky ReLU와 같은 ReLU의 변형 함수들이
등장하기 시작했다. 하지만 그럼에도 여전히 은닉층에서 가장 많이 사용되는 활성화 함수이다. 정리 & Comment Sigmoid Function, Heaviside Function, ReLU와 같이 여러 가지 활성화 함수를 다방면으로 살펴보았습니다. 특히, sigmoid 함수는 실제로 활용되기 어렵고 ReLU가
은닉층에서 가장 많이 사용되는 활성화함수라는 것을 알게되었습니다. |
|
[Final] 주성분분석(PCA) Finalized by 박은아
장환승 김진웅 임성규 김정한 채희준 |
|
질문 1 . PCA 방법을
취하면, 세 축으로 선형변환된 새로운 주성분이 나온다고 알고 있는데, 생성되는
주성분의 갯수가 3개로 정해진 것인지 아니면 원데이터의 차원에 따라(혹은
복잡도에 따라) 달라지는 것인지 궁금합니다. 질문2. 실습 예제에서 나온 클러스터링 이미지에서 x축과 y축이 각각 PC1, PC2인게 무슨 의미인지 궁금합니다. |
|
김진웅(2015****73)8월 23일 오후 11:22 1. 주성분이 얼마나 설명력있느냐에 달려 있습니다. 이 설명력은 모든 주성분의 분산 중 해당 주성분의
분산입니다. 오른쪽 그래프에 4개의 주성분과 그 분산(2.5, 1.0, 0.5, 0)이 표시되어 있는데요, 첫번째 주성분은 2.5/(2.5+1.0+0.5+0)=0.625만큼의 설명력이 있고, 두번째
주성분은 1.0/(2.5+1.0+0.5+0)=0.25만큼의 설명력이 있는 것입니다. 두 주성분을 이용하여 0.875만큼의 원데이터를 설명하고 있습니다. 많은 주성분을 사용하면 설명력은 커지겠지만, 차원이 늘어난다는 trade-off가 있습니다. 결론: 생성되는 주성분의 개수가 3개로
정해진 것도 아니고, 원데이터의 차원에 따라 달라지는 것도 아니고, 주성분이 원데이터를 얼마나 잘 따르는지(얼마나 설명력
있는지)에 달려 있습니다. 고르는 사람 맘입니다. 2. PC1, PC2는 각각 첫번째, 두번째 주성분입니다. 장환승(2016****69)8월 24일 오전 00:39 감사합니다. 2번 질문은 x축을
PC1, y축을 PC2 라고 설정한 이유가 무엇인지 궁금하다는 의미였습니다. 임성규(2015****08)8월 24일 오전 00:45 코드 설명을 자세하게 적어주어 쉽게 읽고 이해했습니다. 글의 정리내용을 다시 읽어보시면 질문에
대한 답변이 있습니다! PCA는 기존의 변수를 일차 결합하여 서로 선형 연관성이 없는 새로운 변수, 즉 주성분(principal component, PC)들을 만들어 낸다. 첫 번째 주성분 PC1이 원 데이터의 분포를 가장 많이 보존하고, 두 번째 주성분 PC2가 그 다음으로 원 데이터의 분포를 많이 보존한다. --> PC1,PC2는 주성분을 의미. 예를 들어, PC1, PC2, PC3가 원 데이터의 분포(성질)의 약 90%를 보존한다면, 10% 정도의 정보는 잃어버리더라도, 합리적인 분석에 큰 무리가 없으므로, PC1, PC2, PC3만 택하여 3차원 데이터로 차원을 줄일 수 있다. 이 경우 계산과 시각화가 용이하여 데이터를 쉽게 분석할 수 있다. --> 주성분이
원데이터의 성질을 얼마나 보존하는지 마지노선을 글을 쓰신 분은 90%로 정하였고 조건을 충족하는 PC3까지 주성분 3개를 택하여 차원을 줄였습니다. 즉, 데이터를
분석하는 분의 선택에 따라, 분석하는 자료의 성질, 분석 목적에
따라 적절한 기준을 택하여 정하시면 될 것 같습니다.(차원을 어느정도로 줄일지, 혹은 원데이터의 성질을 몇퍼센트까지 보존하는 주성분을 고를지 등등..) 김정한(2017****99)8월 24일 오전 6:06 세세한 내용정리 잘 보았습니다. 김진웅 학우님, 임성규 학우님의
답변 또한 잘 배워갑니다. 제가 이해한 내용이라 부족한 부분도 있겠지만 질문에 추가적인 답변을 해보자면
PCA는 고차원의 데이터를 저차원의 데이터로 축소시키는 차원 축소 방법 중 하나입니다. 머신러닝을
할 때 훈련 데이터의 변수가 많은 경우가 있습니다. 하지만 모든 변수가 결과에 주요한 영향을 끼치는 것은
아닙니다. 가장 중요한 변수가 있을 것이고, 그다음 중요한 변수가
있을 것이고, 상대적으로 중요치 않은 변수들도 있을 겁니다.(원데이터의
분포의 보존) 이런 변수 중 가장 중요한 주성분
몇 개 만을 선택하는 게 PCA입니다. n개의 변수가
있다고 해봅시다. n개의 변수와 1개의
label을 매핑시키는 그래프를 그리려면 n차원의 그래프가 있어야 합니다. 3차원이 넘어가면 우리의 눈으로는 볼 수 없을 것입니다. 이때 중요한 2개의 주성분만 선택해서 그래프를 그린다고 합시다. 그러면 2차원의 그래프가 될 것입니다. 'n개의 변수 중 2개의 주성분만 뽑아서 분석하겠다, 즉, n차원을 2차원으로 축소시키겠다.'라는 의미로 PCA를 이해하였습니다. (->차원 축소를 통해 시각화를 할 수 있고, 시각화를
통해 데이터 패턴을 쉽게 인지할 수 있습니다.) 박은아(2016****73)8월 24일 오전 11:36 장환승학우님의 글과 김진웅, 임성규, 김정한 학우님의 댓글을 통해 PCA에
대해 공부할 수 있었습니다. 특히 주성분의 분산과, 차원 축소 방법으로서 PCA의 의미에 대해 더 잘 이해하였습니다. 감사합니다! 채희준(2016****00)8월 24일 오후 12:47 학우님들의 내용 정리, 질문, 답변을 보면서 PCA에 대한 이해도를 높일 수 있었습니다. 감사합니다. [정리 & Comment] 장환승 학우님의 질문: 질문 1 . PCA 방법을 취하면, 세 축으로 선형변환된 새로운 주성분이 나온다고
알고 있는데, 생성되는 주성분의 갯수가 3개로 정해진 것인지 아니면
원데이터의 차원에 따라(혹은 복잡도에 따라) 달라지는 것인지 궁금합니다. 질문2. 실습 예제에서 나온 클러스터링 이미지에서 x축과 y축이 각각 PC1, PC2인게 무슨 의미인지 궁금합니다. (추가) x축을 PC1, y축을 PC2 라고 설정한 이유가 무엇인지 궁금하다 답변 정리 질문 1 생성되는 주성분의 개수가 3개로 정해진 것도 아니고, 원데이터의 차원에 따라 달라지는 것도 아니고, 주성분이 원데이터를 얼마나
잘 따르는지(얼마나 설명력 있는지)에 달려 있습니다. 데이터를 분석하는 분의 선택에 따라, 분석하는 자료의 성질, 분석 목적에 따라 적절한 기준을 택하여 정하시면 될 것 같습니다.(차원을
어느정도로 줄일지, 혹은 원데이터의 성질을 몇퍼센트까지 보존하는 주성분을 고를지 등등..) 질문 2 PCA는 기존의 변수를 일차 결합하여 서로 선형 연관성이 없는 새로운 변수, 즉 주성분(principal component, PC)들을 만들어 낸다. 첫 번째 주성분 PC1이 원 데이터의 분포를 가장 많이 보존하고, 두 번째 주성분 PC2가 그 다음으로 원 데이터의 분포를 많이 보존한다. --> PC1,PC2는 주성분을 의미. 중요한 2개의 주성분만 선택해서 그래프를 그린다고 합시다. 그러면 2차원의 그래프가 될 것입니다. 'n개의
변수 중 2개의 주성분만 뽑아서 분석하겠다, 즉, n차원을 2차원으로 축소시키겠다.'라는 의미로 PCA를 이해하였습니다. Comment 학우님들께서 작성해주신 질문과 답변을 통해 주성분분석(PCA)에 대한 큰 그림을 이해할 수 있었습니다. PCA에
대한 원리, 개념과 더불어 주어진 데이터를 선별하고 분석하며 시각화하는 과정을 파악할 수 있었습니다. 기존에 배웠던 SVD와 연결해서 공부하니 더욱 흥미롭게 느껴졌습니다. |
|
Final OK by SGLee [Final] 주성분분석(PCA)에서 누락된 데이터가 있을 경우, ALS 활용 finalized by 박은아 댓글 by 임성규 박정호 김정한 박진형 전재현 김호연 채희준 천가영 |
||||||||||||||||||
|
주성분분석(PCA)에
대해 공부하던 중 누락된 데이터가 있는 경우에 대해 자세히 알아보고 싶어서 실습을 진행해보았습니다. 혹시 저와 같은 궁금증을 가지고 계셨던 분이 계시다면 조금이나마
도움이 되었으면 좋겠습니다. * 행렬 데이터 처리 속도가 상대적으로 빠른 매트랩을 사용하여 실습을 진행했습니다. (1) MATLAB의 PCA( ) 함수
설명
X: n*p 데이터 행렬 Name, Value: 하나 이상의 coeff: score: 주성분 점수, 행은 관측값에 대응되고, 열은 성분에
대응 latent: 주성분 분산, tsquared: explained: 각 주성분으로 설명된 총 분산의 백분율 mu: 데이터 행렬
(2) 누락된 데이터가 있을 경우의 주성분분석 원본 Data set에 누락된 값이 있을 때 주성분
계수를 구해보면 다음과 같습니다.
(3) ALS(교대최소제곱법,
Alaternating Least Squares) NaN 값을 포함하는 행을 아얘 삭제하고 주성분분석을 진행하는
것은 아무래도 효과가 좋지 않다는 생각이 들었습니다. 이에 다른 방안을 찾아보다
ALS를 이용하게 되었습니다. ALS의 개념은 다음과 같습니다. 1. Latent Factor 행렬을 아주 작은 랜덤 값으로 초기화
2. 둘 중 하나를 상수처럼 고정시켜 Loss Function을 Convex Function로 변환 3. 미분 값을 0으로 만드는 사용자 혹은 아이템의 Latent
Factor 행렬을 계산
4. 이 과정을 반복함으로써 최적값을 찾는다. *Loss Function: 예측 평점 행렬의 오차가 최대한 작아지도록 구성한 수식
*Convex Function: 볼록함수, Set 내에 포함된 두 점을 이었을 때, 그 선분 내에 모든 점이 해당 Set 내에 포함된다. (4) ALS 예제 실행 MATLAB 명령 창에
openExample 명령을 입력하면 예제를 실행할 수 있습니다. openExample('stats/PCAUsingALSforMissingDataExample') 실행 화면
(5) 결과 분석 ALS를 사용하지 않고 PCA를 수행했을 때 성분계수는 coeff입니다.13*4 크기의 행렬 y 는 누락된 데이터 NaN을 30%정도 가지고 있습니다. 이 행렬을 ALS 알고리즘을 사용하여 주성분 분석을
수행하면 성분계수 coeff1를 얻을 수 있습니다. score1, coeff1, mu1를 이용해 데이터를 재구성하여 행렬 t =
score1*coeff1' + repmat(mu1,13,1) 를 얻을 수 있습니다.
NaN 위치에 데이터가 추가된 것을 확인할 수 있습니다. 참고 https://kr.mathworks.com/help/stats/pca.html?lang=en https://medium.com/@kim_hjun/convex-optimization-1-convex-function-set-eee8e65252b6 8개의 댓글 임성규(2015****08)8월 24일 오후 11:33 원 데이터 집합에 누락된 데이터가 있는 경우, ALS(교대최소제곱법)을 적용하면 데이터를 재구성하여 누락된 데이터에 대하여
값을 재구성 할 수 있군요. 심층적인 실습 결과를 올려주셔서 호기심을 가지고 재미있게 읽었습니다. 감사합니다^^ 박정호(2014****10)8월 25일 오전 00:44 흥미로운 방법이네요. 재밌게
읽었습니다. 김정한(2017****99)8월 25일 오전 00:48 누락 데이터를 어떤 방식으로 처리 하는지 알 수 있었습니다. 잘모르고 무심코 넘어갔던 부분을 덕분에 잘 이해해갑니다. 박진형(2018****59)8월 25일 오전 2:33 자세한 설명과 실습을 통해
ALS(교대최소제곱법) 를 이용하여 NAN 에 적절한
데이터를 추가하는 방법에 대해 자세히 알게 되었습니다. 감사합니다. 전재현(2015****91)8월 25일 오전 7:32 확실히 유용한 방법이네요!
결측치의 처리 방법에 대해서 배우고갑니다 :) 김호연(2020****32)8월 25일 오전 8:47 PCA와 ALS에 대하여 많이 배우고 갑니다~ 채희준(2016****00)8월 25일 오전 11:27 누락된 데이터가 있을 경우에 대해서는 생각해보지 못했습니다. 이러한 경우에는 어떻게 하는지에 대한 실습내용을 함께 공유해줘서 감사합니다. 덕분에
새로운 내용을 배울 수 있었습니다! 천가영(2020****17)8월 25일 오전 11:50 흥미로운 주제의 글입니다!
누락된 데이터를 찾아낼 수 있는 방법을 공유해주셔서 감사합니다. ALS라는 것을 배우게 되었고
주성분분석에 대하여 더 깊이 이해하게 된 것 같습니다.
|
|
Final OK by SGLee Re-finalized by 박은아 [7주차] 신경망 요약 by 천가영. finalized by 정원철. |
|
Re-finalized by 박은아- 오차역전파법 정리를
추가하여 Final OK by
SGLee finalized by 정원철. [7주차] 신경망 요약 by 천가영. 작성자 : 정원철(2017****79)작성일 : 8월 25일 오후 6:37 조회수 : 32 작성자 : 천가영(2020****17)작성일 : 8월 24일 오후 9:40 조회수 : 21 출처
: Math4AI (수업 교재) 신경망 - 신경망(neural network)은 신경계의 기본 단위인 뉴런(신경세포, neuron)을 모델화 한 것
- 하나의 인공 뉴런에서는 다수의 입력 신호 xi를 받아서 하나의 신호를 출력한다. 각 입력신호에는 고유한 가중치가 부여되며 가중치가 클수록 해당 신호가 중요하다고 볼 수 있다. - 인공 뉴런에서 1을 출력할지 0을 출력할지
출력을 결정하는 함수를 활성화 함수(activation function) 라 한다. 대표적인 활성화 함수로 유계이며 미분 가능한 실함수인 sigmoid 함수가
있다.
- 입력과 출력
입력층에서
신호를 받으면, 미리 부여된 가중치와 계산 후 그 총합이 은닉층으로 전파되고,
주어진 활성화 함수에 따라 그 다음 층으로 전해질 신호가 계산된다. 이런 식으로 전파되어 출력층에서
해당하는 결과를 내보낸다. - 각 계층에 전달된 오차로부터 가중치를 갱신하는 방법 1. 각 계층에 전달된 오차를 계산한다. 출력층 오차 계산 >> 은닉층 오차 계산 (오차 역전파법 활용)
2. 출력층에서 얻은 오차로부터 은닉층과 출력층 사이의 가중치를 갱신한다. 3. 은닉층에 전달된 오차로부터 입력층과 은닉층 사이의 가중치를 갱신한다.
- 신경망은 제대로 예측할 때 까지 많은 데이터를 필요로 하며, 또한 입력층과
출력층 사이에 많은 은닉층을 둘 수도 있다. 이와 같이 은닉층이 여러 개 있는 인공신경망을 심층신경망(deep neural network)이라고 부르며, 심층 신경망을 학습하기
위한 기계학습 기법을 딥러닝(deep learning)이라고 부른다. 은닉층이
여러 개 있는 경우에도 마찬가지로 오차
역전파법을 이용하여 그 이전 층에서 전파된 오차로부터 경사하강법을 적용하여 가중치를 갱신할 수 있다. 임성규(2015****08)8월 24일 오후 11:21 신경망의 신호처리 원리를 천가영 학우분이 글과 그림으로
다시 한번 정리해주어 쉽게 읽으며 머릿 속에 정리해볼 수 있었습니다. 글 잘 읽었습니다! 김정한(2017****99)8월 25일 오전 00:45 덕분에 가중치를 갱신하는 매커니즘을 명확히 이해할 수
있었습니다. 좋은 요약 감사드립니다. 박은아(2016****73)8월 25일 오전 1:57 7주차 수업 내용 신경망, 은닉층, 오차역전법에
대해 정리해주셔서 감사합니다. 잘 읽엇습니다. 박진형(2018****59)8월 25일 오전 2:20 이미지와 함께 신경망을 잘 설명해주셔서 보기가 편하였습니다. 오차역전파법에 대해서도 단계별로 잘 설명해주셔서 이해가 쉬웠습니다. 감사합니다. 김호연(2020****32)8월 25일 오전 8:46 정리해주셔서 감사합니다~ Comment 굉장히 깔끔하게 정리해주셔서 감사합니다. 해당 글을 읽고 신경망의 전반적인 진행과정에 대해서 잘 이해할 수 있었습니다. 제가 이해한 말로 다시 정리를
해보자면, 'input layer에서부터 이미 주어진 가중치를 가지고 hidden
layer를 거쳐 output layer까지 학습을 하면서
loss를 만들어 내고, loss를
오차역전파법을 사용하여 output layer부터 input layer까지
경사하강법(가중치를 최적화하기 위해)을 하며, 이미 주어진 가중치가 아닌 결과를 바탕으로 각각을
최적화할 수 있는 새로운 가중치를 구해내는 과정을 통해 신경망의 성능을 올릴
수 있다.' 감사합니다. . 5개의 댓글 이상구(LEE SANGGU)8월 25일 오후 7:15 오차 역전파법에 대한 ... 위의 마지막 코멘트 가
조금 더 ... 누가 ... 윤문 해 보실래요? 정원철(2017****79)8월 25일 오후 7:27 제가 잘못 이해했으면 교정부탁드리겠습니다 .. 1. 순전파를
통해서 먼저 loss를 만들어낸다. 2. 이 loss를 최소화 하기 위해 역전파를 하며 경사하강법을 사용하여 가중치를 업데이트 한다. 3. 만족스러운 loss가 될 때까지(성능이
최적화될 때까지..), epoch를 늘리며 반복한다. 박은아(2016****73)8월 26일 오전 2:26 오차역전파법에 대한 정원철 학우님의 설명에 덧붙이겠습니다. 1. 순전파(forward propagation) 입력 layer로부터 각 layer를 지나치며
weight들을 곱하고, 활성화함수를 지나 마지막 출력
layer에서 loss값을 계산한다. 2. 경사하강법 - 함수 f를 loss로 두고 gradient가 가르키는 반대방향(descent)으로 네트워크를 업데이트한다. 업데이트를 위해 순차적으로 거꾸로 돌아간다.(back propagation) 참고: https://www.ics.uci.edu/~pjsadows/notes.pdf 이승재(2019****65)8월 26일 오전 2:50 인공신경망에 대한 이해도를 높이는데 큰 도움이 되었습니다. 정리해주신 것과 오차 역전파법에 대한 설명까지 모두 감사드립니다! :) 김호연(2020****32)8월 26일 오전 11:01 정리 감사드립니당~ 오차역전파법 - input layer에서부터 이미 주어진 가중치를 가지고 hidden layer를
거쳐 output layer까지 학습을 하면서 loss를 만들어
내고, loss를 오차역전파법을 사용하여 output layer부터 input layer까지 경사하강법(가중치를 최적화하기 위해)을 하며, 이미 주어진 가중치가 아닌 결과를 바탕으로 각각을 최적화할 수 있는 새로운 가중치를 구해내는 과정 오차역전파법 알고리즘 1.
순전파를 통해서 먼저 loss를
만들어낸다. -
입력 layer로부터 각 layer를 지나치며 weight들을 곱하고, 활성화함수를
지나 마지막 출력 layer에서 loss값을 계산한다 2.
이 loss를 최소화 하기
위해 역전파를 하며 경사하강법을 사용하여 가중치를 업데이트 한다. - 함수 f를 loss로
두고 gradient가 가르키는 반대방향(descent)으로 네트워크를
업데이트한다. 업데이트를 위해 순차적으로 거꾸로 돌아간다.(back propagation) 3.
만족스러운 loss가 될 때까지(성능이 최적화될 때까지..), epoch를 늘리며 반복한다. Comment: 학우분들과 함께 공부한 내용에 대해 정리해나가는 경험이 뿌듯했습니다.
소통하며 서로 도와 공부하는 값진 경험이었습니다. |
|
[Final OK by SGLee] [hw-7주차] AI는
어떻게 발전하여 왔는가? |
|
[Final
OK by SGLee] [hw-7주차] AI는 어떻게 발전하여 왔는가? 추가: 자연어처리 란?(출처:https://wikidocs.net/21667) 자연어(natural language)란 우리가 일상
생활에서 사용하는 언어를 말합니다. 자연어 처리(natural
language processing)란 이러한 자연어의 의미를 분석하여 컴퓨터가 처리할 수 있도록 하는 일을 말합니다. 자연어 처리는 음성 인식, 내용 요약, 번역, 사용자의 감성 분석, 텍스트
분류 작업(스팸 메일 분류, 뉴스 기사 카테고리 분류), 질의 응답 시스템, 챗봇과 같은 곳에서 사용되는 분야입니다. 최근 딥 러닝이 주목을 받으면서, 인공지능이 IT 분야에서 중요 키워드로 떠오르고 있습니다. 자연어 처리는 기계에게 인간의
언어를 이해시킨다는 점에서 인공지능에 있어서 가장 중요한 연구 분야이면서도, 아직도 정복되어야 할 산이
많은 분야입니다. |
|
박은아(2016****73)8월 27일 오전 3:15 AI가 20세기부터 현재까지 발전해 온 방향과 딥러닝의 의미와
개념에 대해 자세히 알 수 있었습니다. 시리나 빅스비를
잘 활용하고 있는 입장에서 자연어 처리가 앞으로 얼마나 발전할 지 기대가 되네요! 좋은 글 감사합니다. |
|
수강후기, 생명과학과 박은아 |
|
작성자 : 박은아(2016****73)작성일 : 8월 28일 오전 00:44 조회수 : 14 7주간의 도전학기 수업이 어느덧 끝나갑니다. 졸업 전 마지막 여름방학을 알차게 보내고 싶어 본 과목을
신청했던 기억이 납니다. 이번 여름방학은 ‘인공지능을 위한 기초수학’ 강의 덕분에 식견이 넓어지고 자신감을 키우는 시간이었습니다. 그동안 수업을 들으며 팀플 과제는 몇 번 경험해봤지만 이 수업만큼 수강생의 참여도가 높은 수업은
처음이었습니다. 이런 수업 방식에 적응하기까지 시간이 조금 걸렸지만 학우분들과 소통하며 문제를 해결하고 토론하는
과정이 점차 즐거웠습니다. 도전학기 기간 동안 자격증 등 다른 공부도 병행해야 해서 더 열심히 참여하지 못한 것이 아쉽습니다. 짧은 시간이었지만 코딩에 대한 자신감도 얻고 수학 지식도 쌓아가는 값진 경험을 했습니다. 7주간 함께 달려온 학우분들과 교수님, 조교님께 감사드립니다. 건강 유의하시고, 무더운
여름 잘 보내시길 바랍니다! |
[Final
OK by SGLee] [수정본] 추가답변 및 Re-finalized by 유가이 올렉산드르, Finalized by 김범준 [1주차HW-질문] 일차독립
[1주차HW-질문] 일차독립
질문 by 김범준
답변 by 이상구 교수님
Finalized OK by 김범준 and SGLee
추가답변 및 Re-Finalized by 유가이 올렉산드르
1. 정사각행렬이 가역행렬이면 열들은 일차독립입니다. <--- OK
2. 그 이유는 가역행렬과 det(a)≠0은 서로 필요충분조건 관계에 있는데, 이는 행렬식을 이용한 일차독립 판정법 또한 det(a)≠0과 일차독립은 필요충분관계에 있기 때문입니다. <--- OK
3. 이와 마찬가지로 정사각 행렬이 비가역행렬이면 열들이 일차종속임 또한 알 수 있습니다. <--- OK
Q
1. 그렇다면, 일차독립을 구할때는 반드시 정 사각행렬을 만들어 구하는 방법을 써야 하는 건가요?
<--- Q1 에 대한 답. 일차독립 개념은 ... 아래 < 일차독립 정의>에서 보듯이,
정사각행렬의 열(column) 뿐 아니라 ... 벡터공간 안의 일반적인 벡터 들의 집합에 적용되는 개념 입니다.
http://matrix.skku.ac.kr/knou-knowls/CLA-Week-4.html

Q 2. 아니면 주어진 벡터들이 일차독립인지 아닌지 판별할 때, 정사각행렬을 만들지 않고도 판별하는 방법이 있나요?
<--- Q2 에 대한 답. 물론이지요, 일차독립의 정의 를 다시 읽어보시면 바로 이해 되실 것 입니다.
[정의대로 일차결합을 만들어 m by n 행렬 A 에 대하여, 동차 선형연립방정식 Ax = 0 의 해가 zero 벡터 뿐 임을 보이면 됩니다.]
Q 3. 추가질문
이제 벡터값이 주어지면 일차독립인지 여부를 확인하는데는 문제가없습니다. 하지만, 온라인교재를 찾아보아도 sage를 통해 A.ncols() ==
len(A.pivots())같이 행렬을 이용한 풀이방식밖에 찾지 못하였습니다. 1차원 벡터가 주어졌을때는 일차독립인지 종속인지 구별할 필요가 없는것인가요?
<----
Q3 에 대한 답. 일차독립의 정의를 보시면 이해할 내용인데,
일차독립 정의 2.
m by n 행렬 A에 대하여 Ax = 0 이 x=0 을 유일한 해로 갖는다면 A의 n개의 column
vector 들은 일차독립이다.
이 경우 직사각형행렬 A의 column
vector 들은 일차독립이다.
따라서 주어진 벡터들을 column vector 들 로 하는 행렬 A 를 만들고,
Ax = 0 이 x=0 을 유일한 해로 갖는것을 보이면, column
vector 들이 일차독립 인것을 보이는 것이고, 영아닌 다른 해를 가지면 일차종속이 되는 것 입니다.
Comment : 모두 이해하였습니다^^ 감사합니다^^
Q1. 추가답변 및 예제:
아래 정리(Theorem)를 예로 봅시다. (편리성을 위해 정리 1라고 합시다.)
Characterization of
Linear Dependent Sets:
An indexed set, let’s call it S for
example, S = {v1, … , vp} of two or more vectors is linearly
dependent(일차종속) ó(if and only if) at least one of the
vectors in S is
a linear combination(선형조합) of the others. In fact, if S is
linearly dependent and v1 ≠ 0, then some vj (with j
> 1) is a linear combination of the preceding vectors(선행 벡터/이전 벡터), v1,
… ,vj-1.
주의: 1) 이 정리는 어떤 집합 안에 일차종속인 벡터가 존재한다고, 그 집합
안의 모든 벡터들이 다른 벡터들의 1차결합이라는 의미는 아닙니다. (일부는 일차독립일 수 있으며, 이 말은 그 집합 안의 어떤 (일차종속인) 벡터는 다른 벡터들의 일차결합으로 표현이 가능하다는 의미입니다.)
2) 어떤 집합 안에 일차종속인 벡터가 존재한다고 해도 , 일부는 일차독립일 수 있습니다.)
예제 (정사각행렬을 만들지 않고, 일차독립을 보이는 예의 풀이):
Problem Statement:
Let u = [3 1 0]T and v = [1 6 0]T (더 나은 시각화를 위해 전치행렬 (Transpose)을 사용함).
평행이 아닌 두 벡터 u와 v 가 span 하는 집합 span {u, v} 을 설명하고
{u, v, w}가 일차종속 집합인 경우에, 벡터 w가 스팬 span {u, v}에 있는 이유를 설명하십시오.
Solution
ð 따라서 w는 스팬 {u, v} 안에 있습니다. 아래 그림 참조하십시오.

이것은 위에서 해집합(솔루션)의 대략적인 시각화입니다. 이 덕분에 1차 종속 벡터와 1차 독립 벡터의 차이점에 대한 설명이 더 명확해지기를 바랍니다.
► 위 예제는 1차 (일차) 독립적인 u 및 v를 사용하여 R3에 모든 집합 {u,
v, w}을 일반화합니다.
► 세트 {u, v, w}는 w가 u와 v에 의해 스팬 된 평면에 있는 경우에만(if and
only if ó) 1차
종속입니다.
·
Q2. 추가답변 및 예제 (정사각행렬을 만들지 않고도 판별하는 방법)
·
또 하나의 정리(Theorem)를 예로 봅시다.
(편리성을 위해 정리 2라고 합시다.)
If a set contains more vectors than there are entries in each vector, then the set is linearly dependent(일차종속). That is, any set {v1, … ,vp} in Rn is linearly dependent if p > n. 여기서 p는 세트의 벡터 수이(number of vectors)고 n은 세트의 항목 수(number of entries in the vector)입니다.
여기서는 예제가 아니라 이해하기 쉽도록 이 정리(theorem)에 대한 증거(proof)를 제공합니다.
Proof

주의: 이 정리는 집합의 벡터 수(number of vectors)가 각 벡터의 항목 수(number of entries in each vector)를 초과하지 않는 경우에 대해서는 아무 것도 말하지 않습니다.
간단한 예제:
아래 3 개의 벡터를 봅시다. 이 3 개의 벡터가 일차 종속인가?

벡터 [2 1]T, [4 -1]T, [-2 2]T은 세트에 3 개의 벡터가 있고 각 벡터에 2 개의 성분( 엔트리, entries)만 있기 때문에 위의 «정리 2(Theorem 2)»에 의해 일차 종속이다.
►그러나 벡터 중 어느 것도 다른 벡터 중 하나의 배수가 아님에 유의하십시오 (위 그림 참조).
마지막으로,
또 하나의 정리(Theorem)를 예로 봅시다.
(편리성을 위해 정리 3라고 합시다.)
If a set, let's call it S for example, S = {v1, … , vp} in Rn contains the zero vector, then the set is linearly dependent(일차 종속).
여기서는 예제가 아니라 이해하기 쉽도록 이 정리(theorem)에 대한 아주 간단한 증거(proof)를 제공합니다.
Proof
벡터의 번호를 다시 매기(renumbering the vectors)면 v1 = 0이라고 가정 할 수 있습니다. 그러면 방정식 1v1 + 0v2 + ∙∙∙ + 0vp = 0은 집합 (세트) S가 선형적으로 종속(일차 종속)임을 나타냅니다. ■
Q3. 추가답변 및 예제
저는 이상구 교수님의 매우 자세한 답변을 간략하게 요약하고 이해가 더 쉽게 하기 위해서 아주 간단한 예를 제시하겠습니다.
이제 알다시피 행렬 A의 열은 방정식 Ax
= 0 가 해로 trivial solution인 영벡터 만 갖는 경우에만(if and
only if ó) 일차 독립입니다.
예제:

이 시점에서 3 개의 기본 변수가 있고 자유 변수가(free variables) 없는 것이 분명합니다. 따라서 방정식 Ax = 0에는 trivial solution 만 있으며, 1차독립의 정의에
의하여 A의 열(columns)은 일차 독립입니다.
Comment by 유가이 올렉산드르: 학생 좋은 질문과 이상구 교수님의 자세한 답에 감사합니다. 선형 대수의 일반적인 정리(theorem)들을 사용하고, 다양한 증거(proofs)와 예제를 제공했으며, 정사각행렬을 사용하거나 사용하지 않(직관적으로)고 행렬의 독립성을 판별하는 방법을 가능한 자세하고 쉽게 설명하려고 노력했습니다. 위 내용을 도움이 되길 바랍니다.
3개의 댓글
김범준(2017****99)7월 13일 오후 7:42
그림을 통해 설명해주셔서 한층 심화된 이해가 가능한 것 같습니다.
감사합니다.
유가이올렉산드르(2018****33)7월 14일 오후 2:25
교수님이 저의 문법적으로 잘 못 쓴 것을 수정해주셔서 대단히 감사합니다.
교수님이
수정하셨던
것을 저는 다시 수정했고 올렸습니다.
이상구(LEE SANGGU)7월 14일 오후 3:07
Wonderful^^ Dear Yugai, You can write your
Question or answer in English. You are a good student^^
[Final OK by TA] Final [HW (1주차 배운 내용 요약 1] 나종진 + 유가이 : 다항함수의 개형을 그리기 + [HW] 질문 Q4. 교재 p.110(PDF p.118)와 답 by 유가이올렉산드르, 나종진, 이상구교수님
[열린문제 1] 다른 교재에서 찾은 몇 가지 다항함수(polynomial
function)의 개형을 그리시오.
Solved by 유가이 올렉산드르
For example, I want to try to show a graph drawing method for a fourth-degree polynomial function.
Problem:
Imagine that we have the
following 4th degree polynomial function(4차 다항함수):
f(x) = x4 + x3 – 3x2 – 5x – 2
It is required to draw
a graph of this polynomial function.
Solution
To
get started, let's try to draw a graph manually(by the hand):

Note
that: manually,
we can only approximately predict what the graph of a given polynomial function
of degree 4 will look like.
Now, let's use
Python to plot the same polynomial function of degree 4:
Code(Python):
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(-2.5, 2.5, num=100) #changing the value of
"num" => adjust the accuracy of the graph
fx = []
for i in range(len(x)):
fx.append(x[i]**4 + x[i]**3 - 3*x[i]**2 - 5*x[i] - 2)
plt.plot(x, fx)
plt.grid()
plt.axvline()
plt.axhline()
plt.show()
Result:

Finally, let's use Sage to compare the results.
Code(Sage):
plot(x^4
+ x^3 - 3*x^2 - 5*x - 2 , (x, -2.5, 2.5))
Result:

[HW] 질문 공유,
경영학과 나종진
, Q4. 교재 p.110(PDF p.118)을 보면
A=QR ...
안녕하세요. 경영학과 나종진입니다.
1주차 강의 내용을 예습하면서 정리/ 질문한 내용입니다.
제가 많이 부족하여 이해가 되지 않는 부분을 질문으로 올렸습니다.
혹시 알고계신 분은 설명 부탁드립니다.
1. 점과 평면사이의 거리를 구하는 방법에 대한 질문
http://matrix.skku.ac.kr/2018-album/LA-Sec-1-3-lab.html
정리. [점과 평면 사이의 거리]
점 P0(x0,y0,z0)와 평면 π:ax+by+cz+d=0사이의 거리 D는 다음과 같다.
D=|ax0+by0+cz0+d|a2+b2+c2√

위의 그림에서 P(x,y,z)을 평면 π위의 점이라 하고 v=(x0−x,y0−y,z0−z),
n=(a,b,c)이라고 하면 D=∥projnv∥이다.
http://matrix.skku.ac.kr/CLAMC/chap1.html
(26page)


2. 여인자 전개에 관한 질문
http://matrix.skku.ac.kr/CLAMC/chap4.html
22 page

3. QR분해에서 행벡터와 열벡터의 차이에 대한 질문

4.
QR분해 중 식을 변환하는 과정에 대한 질문
http://matrix.skku.ac.kr/CLAMC/chap7.html
page 60


http://matrix.skku.ac.kr/LA-Lab/7-8/7-8.htm
LA Sec 7.8 QR-Decomposition; Householder transformations (https://youtu.be/gQ7gxTx5f9k)
감사합니다.
인공지능을위한기초수학
[HW]
1주차 나종진
[문제] 그래프 x*sin(1/x) 의 개형을 그리시오.
[문제] 합성함수 sin(e^(1/3)^x) 의 그래프를 그리시오.
1주차 내용 요약 및 질문
1. 스칼라와 벡터에 대해서 배웠다.
2. 노름과 내적을 구하는 법을 배웠다.
2-1. x ∙ y=∥x∥∥y∥cosθ -> x ∙ y=0이면 직교
3. 정사영에 대해서 배웠고 정사영을 이용하여 점과 평면사이의 거리를 구했다.
3-1. 평면의 방정식 : 법선벡터와 한 점을 배웠다.
한 점 P₀(x₀,y₀,z₀)를 지나고 0이 아닌 벡터 n=(A,B,C)에 수직인 벡터들이 이루는 평면π 는 A(x-x₀)+B(y-y₀)+C(z-z₀)=0 이다.
Q1. 정사영을 구하는 공식을 통해 점과 평면사이의 거리를 구하는 방법을 확인해보면 w의 노름을 구하면 된다고 생각했다. 하지만 예제 5번을 보면 p의 노름을 구하는 것과 답이 다르다. 아래 공식을 구하는 식과 p.norm()과의 차이는 무엇인가?
4. 선형연립방정식과 첨가행렬을 배웠다.
5. ERO를 통해 REF와 RREF를 구하는 방법을 배웠고 RREF를 통해 방정식의 해를 구하는 법을 배웠다.
5-1. RREF의 마지막 행이 0인 경우 무수히 많은 해가 존재하며 선행성분이 없는 열에 대해서는 자유변수로 만들어 해를 찾는다.
6. 행렬간의 연산, 전치행렬의 성질 등을 배웠다.
7. 역행렬과 역행렬을 구하는 방법, 역행렬을 통해 방정식의 해를 구하는 방법을 배웠다.
8. 다양한 행렬을 배웠다. (대각선행렬, 단위행렬, 스칼라행렬, 대칭행렬.)
9. 치환행렬과 행렬식을 배웠다.
10. 여인자와 수반행렬을 배우고 이를 통해 가역행렬의 역행렬을 구하는 방법을 배웠다.
Q2. 여인자 전개 시 임의의 3차의 정사각행렬 에 대하여 A*abjA==*가 성립함이 이해가 되지 않습니다.
[실습]
A = random_matrix(ZZ, 3, 3) # 임의의 3x3 정수(ZZ) 행렬 A를 생성!
detA=A.det() # 행렬 A의 행렬식
adjA=A.adjoint() # 행렬 A의 수반행렬
print("행렬 A")
print(A)
print("행렬 A의 수반행렬")
print(adjA)
print("A*adjA
=")
print(A*adjA)
print("행렬 A의 행렬식")
print(detA)
11. 크래머 공식을 이용하여 선형연립방정식의 해를 구하는 방법을 배웠다.
12. 일차독립, 일차종속을 배우고 행렬식이 0이 아니면 일차독립임을 배웠다.
13. 부분공간에 대해서 배웠다.
(예습간 이해 부족으로 부분공간에 대한 참고 동영상을 확인하여 더 공부를 해야된다.
벡터 덧셈에 닫혀있다. 스칼라배에 닫혀있다. 라는 조건만으로는 이해가 되지 않는다. 실제 실습을 해봐야겠다.)
14. 기저와 차원을 배웠다.
(Rⁿ의 기저인 집합 S 와 Rⁿ의 r(>n)개의 벡터 집합 T와의 관계에 대해서 공부해야한다. “각 기저에 속하는 벡터의 개수는 항상 같다.”에 말하는 각 기저는 n의 개수가 같은 집합만을 말하는 것인가? 그렇다면 n보다 작은 갯수의 벡터 집합도 기저인가? 기저가 아닐 수 도 있는 것인가? )
15. Rank-Nullity 정리를 배웠다. rank+nullity=n(col의 개수)
16. W의 직교인 벡터들의 집합을 배웠다.
17. 최소제곱해를 배웠다.
18. QR분해를 배웠다.
Q3. 교재 p.105(PDF p.113)을 확인하면 “m*k행렬 A가 k개의 일차독립인 열들을 가지면 여기에 Gram-Schmidt의 정규직교화과정을 적용하여 얻은 정규직교벡터들을 열로하는 행렬 Q를 만들어 A=QR로 분해가 된다”라고 쓰여있다. 나는 이 부분을 그 위의 Gram-Schmidt의 정규직교화과정(정규화한 직교기저를 행으로 하는 행렬)을 통해 나온 행렬에 transpose()를 하게 되면 행과 열이 바뀌어 Q가 나온다고 생각하였다.
하지만 Gram-Schmidt의 정규직교화과정문제인 예제 5번의 공식을 이용해 QR분해 문제인 예제 6번을 적용하게 되면
이러한 결과가 나오게 된다.
결과가 답과 달라 풀이처럼 w1,w2,w3를 열벡터로 하는 행렬로 풀어보니
이렇게 올바른 답이 나오게 된다.
어찌해서 이런 차이가 나오는지 궁금하다.
Q4. 교재 p.110(PDF p.118)을 보면
A=QR
…
9개의 댓글
이상구(LEE SANGGU)7월 12일 오후 4:13
경영학과 나종진 군,
질문 아주 좋습니다.
위에서 구체적으로 이해가 안되는 부분은 어디인가요?
이상구(LEE
SANGGU)7월 12일 오후 4:15
그리고 질문은 한번에 하나씩
(구체적으로
... 어디에서 어디로 가는 단계가 이해가 안 간다고 정확하게)
질문 하면,
누구라도 답을 주기가 훨씬 쉬울 것이고,
또 본인도 이해가 쉽고,
동시에 참여 회수도 공평하게 반영될 것 이랍니다.
이상구(LEE
SANGGU)7월 12일 오후 4:27
Q2. 여인자 전개 시 임의의
3차의 정사각행렬
A=[a_ij]에 대하여
A*adjA = |A|*In 가 성립함이 이해가 되지 않습니다. <--- 답 ^^ 행렬식의 정의와 성질에서 자연스럽게 따라 나오는 성질
[Laplace 여인자 전개]
입니다.
위의 증명 또는
http://matrix.skku.ac.kr/sglee/linear/ocu/20302.html 을 한번 읽어 더 보시고
... 그래도 이해가 안되면 다시 한번 물어 보세요^^
이상구(LEE
SANGGU)7월 12일 오후 4:33
Q1. 정사영을 구하는 공식을 통해 점과 평면사이의 거리를 구하는 방법을 확인해보면
w의 노름을 구하면 된다고 생각했다.
하지만 예제
5번을 보면
p의 노름을 구하는 것과 답이 다르다.
아래 공식을 구하는 식과
p.norm()과의 차이는 무엇인가?
<--- 위의
26쪽 그림을 보시면 최단거리는
Projection of x onto normal vector n 인 p 의
norm 이 바로 그 벡터에서 평면까지의 최단 거리이므로 우리가 구하는 최단거리는
p 의
norm 입니다.
이상구(LEE
SANGGU)7월 12일 오후 4:36
Q3. 교재
p.105(PDF p.113)을 확인하면 “m*k행렬 A가
k개의 일차독립인 열들을 가지면 여기에
Gram-Schmidt의 정규직교화과정을 적용하여 얻은 정규직교벡터들을 열로하는 행렬 Q를 만들어 A=QR로 분해가 된다”라고 쓰여있다.
<--- 맞습니다.
자세히 들어가면 기초수학을 조금 넘어서니까 지금은 우선은
A 의
column vector 들을 Gram-Schmidt의 정규직교화과정(정규화한 직교기저를 행으로 하는 행렬)
하는 과정으로 이해 하시면 됩니다.
Math for Big Data, Lecture 5, QR Decomposition, https://youtu.be/gQ7gxTx5f9k (이 강의는 대학원생 대상으로 수준이 약간 높으나 아주 자세히 모든 과정을 설명해 준 것입니다.
다 이해 못하셔도 되니까 전혀 부담 느끼지 마세요)
위에 소개한
QR 분해 에 대한 전체적인 글을 다시 한번 읽고 대략 이해 하시면 합니다.
그리고 질문을 다듬어서 한번 더 질문해 주세요^^
이상구(LEE
SANGGU)7월 12일 오후 4:41
Q4. 교재
p.110(PDF p.118)을 보면 A=QR A^T Ax=A^T b <=> 〖(QR)〗^T
(QR)x=〖(QR)〗^T b <=> R^T Q^T (QR)x=R^T Q^T b <=> R^T Rx=R^T Q^T
b <=> Rx=Q^T b 이 식에서 R^T Q^T (QR)x=R^T Q^T b <=> R^T
Rx=R^T Q^T b <--- 답^^ (AB)^T = B^T A^T 이고 직교행렬
Q 의 경우,
Q^T Q = I (항등행렬)
이므로
, 마지막 줄의 항등식 양 변이 같아지는 것입니다.
나종진(2017****17)7월 13일 오후 5:10
감사합니다.
다시 한번 확인한 후 이해가 안되는 부분은 다시 질문드리겠습니다.
나종진(2017****17)7월 13일 오후 11:56
추가 질문입니다.
QR분해는 보내주신 유튜브를 보고 열벡터를 정규직교화과정으로 하는 것이 이해가 되었습니다.
말씀해주신대로 다 이해하기는 어려웠습니다.
^^ 교재에서 나와있는 내용을 통해 열심히 공부해보겠습니다.
추가 질문은
Q2. 여인자 전개에 관한 질문입니다.
보내주신 사이트로 들어가서 정리
2.12번 증명을 확인해보니 사진 화질이 좋지않아 잘 보이지 않았습니다.
A*adjA에서
i와
j가 같을 때
|A|가 되는 것은 이해가 됩니다.
하지만 대각이 아닌 부분인
i와
j가 다를 때는 왜
0이 되는지 궁금합니다.
이상구(LEE
SANGGU)7월 15일 오전 11:51
그 부분인
Laplace 여인자 전개로 답은 위에 주었습니다.
행렬식의 성질 중 두 행이 같으면 행렬식의 값이
0 이다 는 성질을 이용한 것입니다.
[Final OK by TA and
SGLee] Final by 천가영, 유가이 and SGLee [HW] 벡터에 관한 질문 by 천가영 <- 답변 by 유가이
[HW] 벡터에 관한 질문
질문 by 천가영
답변 by 유가이 올렉산드르
Final
by 유가이 and SGLee
벡터를 배우게 된 것은 이번 수업이 처음이라
궁금한 것이 생겨서 질문드립니다.
1. 벡터는 크기와 방향을 갖는 유향선분 - 2차원, 3차원 공간의 벡터는 화살표로 표현 가능
-> 1차원 벡터도 존재하나요? (답: 존재합니다)
만약 존재한다면 1차원 벡터는 화살표로 표현 불가능한가요? (답: 화살표로 표현하지 못하는 벡터들도 존재합니다)
아니면 1차원은 공간으로 간주되지 않아서 그런 것인가요? (답: 아닙니다. 1차원 벡터 공간도 존재합니다)
2. (R^n 안의) 벡터 X의 노름은 원점에서 점 P(x1, x2, ... , xn)에 이르는 거리로 정의됨을 의미한다.
-> 아래의 그림과 같이 시점이 원점이 아닌 벡터는 두 벡터의 합으로 밖에는 표현할 수 없나요?
(답: 아닙니다. 자세한 설명은 아래를 보세요^)

************
Answer #1:
먼저 차원에 대해서 간단하게 설명하고 예를 들겠습니다.
<In mathematics, the dimension of an
object is, roughly speaking, the number of degrees of freedom of a point that
moves on this object. In other words, the dimension is the number of
independent parameters or coordinates that are needed for defining the position
of a point that is constrained to be on the object. For example, the dimension
of a point is zero; the dimension of a line is one, as a point can move on a
line in only one direction (or its opposite); the dimension of a plane is two,
etc. Note: The dimension is an intrinsic property of an object, in the sense
that it is independent of the dimension of the space in which the object is or
can be embedded. For example, a curve, such as a circle is of dimension one,
because the position of a point on a curve is determined by its signed distance
along the curve to a fixed point on the curve. This is independent from the
fact that a curve cannot be embedded in a Euclidean space of dimension lower
than two, unless it is a line.>
차원(次元)은 수학에서 공간 내에 있는 점 등의 위치를 나타내기 위해 필요한 축의 개수를 말한다.
0차원 점이 움직여 1차원 선이 되고, 선이 움직여 2차원 면이 되고,면이 움직여 3차원 입체가 되고, 입체가 움직여 4차원 초입체가 된다.
위의 모든 것을
이해가 조금 더 쉽게 하도록 시각화하려고 노력할 것입니다.
1차원 벡터공간 안의 모든 벡터들은 1차원 벡터들입니다.
예를들어 (R상의) 실수집합 R 은 1차원 벡터공간의 예입니다.
이 R 의 모든 원소는 1차원벡터입니다.
아래 그림을 참조하세요.

Figure 1
=> 따라서 1차원 공간이 존재하고,
그 안에 1차원 벡터들이 존재합니다.
벡터공간에 대한 개념 http://matrix.skku.ac.kr/LA-K/Ch-9/ http://matrix.skku.ac.kr/LA/Ch-9/
http://matrix.skku.ac.kr/LA-Lab/9-1/9-1.html
을 먼저 읽어보세요.
1차원 벡터공간 안의 모든 벡터들은 1차원 벡터들입니다.
예를들어 (R상의) 실수집합 R 은 1차원 벡터공간의 예입니다.
이 R 의 모든 원소는 1차원벡터입니다.
행렬들의 집합도 벡터공간을 이룹니다. 이 경우 성분인 행렬들이 벡터 입니다.
![]()
Let
be
the set of all
matrices
with real entries. That is,
.
When
, we
denote
by
.
If
is
equipped with the (usual) matrix
addition and the scalar multiplication,
then
form
a vector space
over
.
The zero vector is the zero
matrix
and
for each ![]()
, the
negative vector is
.
Note that each
vector in
means
an
matrix
with real entries. ■
![]()
Let
be
the set of all continuous functions from
to
. That
is,
is continuous}
Let
and
a scalar
,
define the addition and the scalar multiple as
,
.
Then
forms
a vector space
over
.
The zero vector is
(zero
function) and for each
,
is
defined as
.
Vectors in
mean
continuous functions from
to
. ■
![]()
Let
be
the set of all polynomials of degree at most
with
real coefficients. In other words,
![]()
Let
and
a scalar
.
The addition and
the scalar multiplication are defined as
![]()
.
Then
forms
a vector space
over
.
The zero vector
is
zero
polynomial and each
has
the negative vector
defined
as
.
Vectors in
means
polynomials of degree at most
with
real coefficients.■
https://twlab.tistory.com/m/15
예제:
For the
vectors in 1D I'm
assume that my dimension is a line. If it’s a line then I can put a coordinate
system along that line. In that coordinate system, let’s call it x, we have positive x-direction, negative x-direction and origin (See
Figure 2.1 below). In one direction vectors can only point one of two
directions, they can point either in the positive x or negative x direction.

Figure
2.1
Let's assume that we have a positive vector a,
and a negative vector b (see
Figure 2.2).

Figure
2.2
Let
the vector a has a magnitude of 2m and
the vector b has a magnitude of -3m.
(Little note: In kinematics, the simplest motion is motion in one-dimensional
space. Some examples of one-dimensional motions are: a car moving on a straight
road; a person walking down a hallway; a sprinter running on a straight race
course.)
As
you can see from the example above, our a and b have both size (2m and -3m)
and direction (positive and negative).
Please note, in our case, the sign in front of the value indicates
the direction.
Thus,
we can conclude that a and b are vectors in one-dimensional space. ■
All
operations on vectors are possible here. For example, the addition of vectors.
Using the “Tales to tip” method, we add the vector a to vector b (see
figure 2.2).

--
-- -- -- -- --
Answer #2. 네, 맞습니다. 시점이 원점이 아닌 벡터도 다양한 방법으로 표현하면 됩니다.
When we think of
a point in Rn as
a vector, we will usually write it vertically, like a matrix with one column:

We will also write 0 for
the zero vector.
Why make the distinction between points
and vectors? A vector need not start at the origin: it
can be located anywhere. In other words, an arrow is
determined by its length and its direction, not by its location. For instance,
these arrows all represent the vector (1, 2).

However, unless
otherwise specified, we will assume that all vectors start at the origin.
Remark:
Note Another way to think about a vector
is as a difference between two points, or the arrow from one point to another.
For instance, [1 2]T is the
arrow from ( 1, 1 ) to ( 2, 3 ) .

예제 1:

예제 2 (Vectors with Initial Points NOT
at The Origin):
For example, consider a vector that has its initial point at P(2,2) and terminal point at Q(6,3). To draw this
vector, we can plot these coordinates and connect them as a vector.
Alternatively we can denote this vector with a general set of components:
vector PQ = (xQ − xP, yQ − yP)
For our
example, vector PQ = (4, 1), and the following
graphic illustrates our vector in two ways:
■
Reference:
for more information with examples, you can visit the following site: https://textbooks.math.gatech.edu/ila/vectors.html
(Please
note that in the new I-campus there is no way to directly insert some
mathematical notation, matrices, vectors, etc., so I tried to replace
everything with words and accessible characters.)
주로 영어로 답변을 드렸는데 죄송합니다. 도움이 되면 좋겠습니다.
벡터의 노름 은 아래와 같이 정의 됩니다.
http://matrix.skku.ac.kr/LA/Ch-1/
https://leebaro.tistory.com/entry/norm%EB%85%B8%EB%A6%84%EC%9D%98-%EC%A0%95%EC%9D%98
행렬도 벡터의 예이고 노름을 갖습니다.
연속함수도 벡터의 예이고 노름 을 갖습니다.
벡터(vector): 속도, 위치이동, 힘
- 크기뿐만 아니라 방향까지 지정하지 않으면 완전히 표현할 수 없는 양
벡터는 크기와 방향을 갖는 유향선분 - 2차원,
3차원 공간의 벡터는 화살표로 표현 가능

http://matrix.skku.ac.kr/LA-K/Ch-1/LA-Lab-kor-Ch-1.html
시작점과 끝점이 같아서 크기가
인 벡터를 영벡터라 한다(영벡터는 크기가
이므로 방향은 임의의 방향으로 한다).


좌표평면
에 서 원점을 시작점으로 하는 모든 벡터는 끝점에 의해 크기와 방향이 결정된다. 그런데 벡터는 크기와 방향이 같으면 시작점에 관계없이 항상 동일한 벡터로 간주하므로 (앞으로 원점을 항상 시작점으로 생각하기로 약속하면) 모든 벡터는 점의 좌표를 이용하여 나타낼 수 있다.
시점이 원점이 아닌 벡터는 원점으로 옮겨놓고 norm 노름을 구하시면 됩니다
Finalized by 유가이 올렉산드르 2-1강에 대해 질문 by 이상현, 답변 by 이상구 교수님
[HW] 2-1가에 대해 질문 (Gauss-Jordan 소거법)
질문 by 이상현
답변 by 이상구 교수님
Finalized by 유가이 올렉산드르
Q: Gauss-Jordan 소거법을 프로그램으로 하지않고 직접 해보고 싶습니다. 방법을 알려주세요.
A: 10차 행렬 을 가우스 소거법 http://matrix.skku.ac.kr/sglee/linear/ocu/20104.html
... 손으로 구하는 과정은 ... 이 인공지능 수학에서는 이해하는 것이 골이고, 손으로 직접 계산하고 는 것은 선택입니다.
축가 답변:
Gauss-Jordan 소거법을 사용하기 전에 다음 개념을 명확하게 이해해야 합니다.
►
Definition(정의):
Gauss-Jordan Elimination is an algorithm that can be used to solve systems of linear equations and to find the inverse(역행렬) of any invertible matrix. It relies upon three elementary row operations one
can use on a matrix:

►
Row-echelon form(행 사다리꼴/REF)과 Reduced row echelon form(기약 행 사다리꼴/RREF)
● mxn 행렬 E가 다음 성질을 만족할 때, 행 사다리꼴(Row-echelon form)이라고 한다.
(i) 성분이 모두 0인 행이 존재하면 그 행은 행렬의 맨 아래에 위치한다.
(ii) 각 행에서 처음으로 나타나는 0이 아닌 성분은 1이다. 이때, 이 1을 그 행의 선행 성분(leading
entry)이라고 한다.
(iii) i 행과 i+1 행 모두에 선행성분이 존재하면 (i+1) 행의 선행성분은 i 행의 선행 성분보다 오른쪽에 위치한다.
● 또, 행렬 E 가 행사다리꼴이고 아래의 성질도 만족하면 E를 기약 행 사다리꼴 (reduced
row echelon form)이라고 한다.
(iv) 어떤 행의 선행성분을 포함하는 열(column)의 다른 성분은 모두 0이다.

Matrices A and B are in
reduced-row echelon form, but matrices C and D are
not. C is
not in reduced-row echelon form because it violates conditions two and
three. D is
not in reduced-row echelon form because it violates condition four (Note
that, D is
in Row-echelon form). In addition, the elementary row operations can be used to
reduce matrix D into
matrix B.
► Steps for
Gauss-Jordan Elimination(Gauss-Jordan 소거법)
► 이 Gauss-Jordan 소거법 하는 방법을 이해하기 쉽도록 간단한 예제를 풀어 보겠습니다.

*Note:
참고 문헌:
[1] http://matrix.skku.ac.kr/sglee/linear/ocu/20104.html
[2] https://online.stat.psu.edu/statprogram/reviews/matrix-algebra/gauss-jordan-elimination
1개의 댓글
이상구(LEE SANGGU)7월 18일 오후 5:51
다른 학생은 여기에 본인 생각을 보태 보세요^^
add your comment
[Final OK by SGLee] Finalized by 한수현, 유가이 올렉산드르, 박지수] [HW-해공간을 구하는 법, f Kernel(Null Space), Right Null Space, Left Null Space
[Final OK by SGLee] Finalized
by 한수현, 유가이 올렉산드르, 박지수] [HW-해공간을 구하는 법, f Kernel(Null Space), Right Null Space, Left Null Space
Final OK by SGLee [HW-해공간을 구하는 법, finalized by 한수현,
re-finalized by 유가이 올렉산드르] Kernel(Null Space), Right Null Space,
Left Null Space, 질문 by 박지수, 답변
[HW] 해공간을 구하는 법, Span <(-3, 1, 0, 0), (-5, 0, -2,
1)>이 해공간, Kernel(Null Space), Right Null Space, Left Null Space
질문 by 박지수
답변 및 Finalized by 한수현
Final OK by SGLee
추가 답변 및 Re-finalized by 유가이 올렉산드르
Q:


교재 p92 예제2 답이 나오지 않아서 제가 무엇을 잘못하고 있는지, 어떻게 푸는 것인지 질문드립니다.
A:
Final. 해공간, 박지수 학우님의 질문에 대한 답. Span 인 <(-3, 1, 0, 0), (-5, 0,
-2, 1)>이 해공간 입니다.

풀이는 이런 식으로 하면 될 것 같습니다.
해공간을 표현하는데 사용하는 두 벡터는 해공간에 속해있는 무수히 많은 벡터 중 두 개를 끌어오면 되는 것이기 때문에 해공간의 표현은 다양하게 할 수 있습니다.
저 마지막 식에서 (x2, x4)가 (3, -2)일 때 해는 (1, 3, 4, -2)이고, (5, -3)일 때 해는 (0, 5, 6, -3)이므로 제가 구한 span(S)에는 예제 답에 나와있는 두 해가 포함 되어있으므로 제가 쓴 <(-3, 1, 0, 0), (-5, 0, -2, 1)>도 해공간의 표현 중 하나임을 알 수 있습니다.
박지수 학우님도 저와 같은 답이 나오셨던데, 그 답도 맞다고 보면 될 것 같습니다.
추가 답변:
► Definitions
● Subspace
A subspace of a vector V is a subset H of V that has three properties:
(1) The zero
vector of V is
in H.
(2) H is closed
under vector addition. That is, for each u and v in H, the sum u + v is
in H.
(3) H is closed under
multiplication by scalars. That is, for each u in H and each
scalar c,
the vector cu is
in H.
Note that, properties (1), (2), and (3) guarantee
that a subspace H of V is itself
a vector space, under the vector space operations already defined in V.
Remark: The best way to test for a
subspace is look first for the zero vector. If 0 is
in H,
then properties (2) and (3) must be
checked. If 0 is
not in H,
then H cannot
be a subspace and thee other properties need not to be checked.
● Null Space
The
null space of an mxn matrix A, written as Nul A, is the set of
all solutions of the homogeneous equation Ax = 0. In set notation,
Nul A = {x : x is in Rn and Ax = 0}
Remark:
A more dynamic description of Nul A is the
set of all x in Rn that are mapped
into zero vector of Rm via the linear
transformation x
-> Ax. See Figure 1 below.

Figure 1
Important Theorem:
The null space of an mxn matrix A is a
subspace of Rn. Equivalently, the set
of all solutions to a system Ax
= 0 of m homogeneous
linear equations in n unknowns
is a subspace of Rn.
Proof:
First, notice that Nul(A) is
a subset of Rn, because A has n columns (Nul(A) ⊆ Rn).
So, we need to check the 3 properties(see above) of a
subspace:
1. It’s
clear that 0 is
in Nul(A).
2. Let u and v be any
two vectors in Nul(A).
Then we have:
3. Finally, if c is
any scalar, then:
Thus, Nul(A) is
a subspace of Rn. ■
► 위에 있는 예제2의 결과를 다시 한 번 살펴봅시다.
After we decompose the vector giving the general solution into a
linear combination of vectors where the weight are the free variables, we
obtain the following:

Figure 2
Note that, every linear
combination of u and v is an element
of Nul A and
vice versa. Thus {u,
v} is a spanning set for Nul A.
Two points should
be made about the solution of this Example 2 that apply to all problems of this
type where Nul
A contains nonzero vectors.
To consolidate the material, I will
show an example of how you can easily determine whether a given vector x, for example, is in Nul A, using the given matrix from
Example 2.


This means all four vectors x are in the null space of A.
Interesting fact #1:
► Right kernel(null space) vs Left kernel(null space)
The usual kernel(null space) is
what we are calling the “right
kernel”. The "left
kernel" is the cokernel and can be computed as
the kernel of the
matrix's transpose.
Left null space:
The left null space, or
cokernel, of a matrix A consists
of all column vectors x such
that xTA = 0T, where T denotes
the transpose of a matrix. The left null space of A is the
same as the kernel of AT. The left null space
of A is
the orthogonal complement to the column space of A, and is dual
to the cokernel of the associated linear transformation. The kernel, the row
space, the column space, and the left null space of A are the
four fundamental subspaces associated to the matrix A.
Sage example of right and
left kernel:

Interesting fact #2:
► Sage library vs Python Sympy library
I'm not sure which library Sage uses,
however, for example, the Numpy math library in Python uses the exact same
method for finding the Null Space matrix that we usually use when solving manually.
Note that, the both results are correct (see the explanation
above), but the method using the Sympy library seems to me more convenient.
Below I have compared the results from Sage and Python Sympy.
Sage:

Python “Sympy”:

[참고]:
[1] https://en.wikipedia.org/wiki/Kernel_(linear_algebra)
[2] https://www.geeksforgeeks.org/null-space-and-nullity-of-a-matrix/
1개의 댓글
김호연(2020****32)7월 22일 오후 11:25
좋은 내용 알아갑니다.
감사합니다~~
[Final
OK by TA] [Final] Q by 김진웅 A by 유가이올렉산드르, 이상구 F
by 김진웅 [HW 질문] 서로 같은 고유값에 대응하는 고유벡터들 차원
(JCF)
[HW 질문] 서로 같은 고유값에 대응하는 고유벡터들 차원
질문
by 김진웅
답변
by 유가이올렉산드르, 이상구
Finalized
by 김진웅
어떤 행렬 A 와 B 가 주어졌을 때 ...
서로 같은 (중근의) 고유값에 대응하는 (일차독립인)
고유벡터들이 이루는
부분공간 (eigenspace) 의 차원이 다를 때가 있는데 ...
어떻게 구분하여 알 수 있나요?
A 의
닮은 대각선행렬
: ![]()
B 의
닮은 대각선행렬 :
라는 의미는?
무엇인가요?
유가이올렉산드르(2018****33)7월 21일 오전 2:58
Let's try to analyze the given example.
The first matrix "D = ([[1, 0], [0,
1]])" has two eigenvalues (1 and 1) but they are obviously not distinct.
Since A is the identity matrix, Av=v for any vector v, i.e. any vector is an
eigenvector of A. We can thus find two linearly independent eigenvectors (say
<-2,1> and <3,-2>) one for each eigenvalue.
But, the second matrix "D = ([[1, 0],
[1, 1]])" also has non-distinct eigenvalues of 1 and 1. All eigenvalues
are solutions of (A-I)v=0 and are thus of the form <t,0>. Hence, in this
case there do not exist two linearly independent eigenvectors for the two
eigenvalues 1 and 1 since <t,0> and <s,0> are not linearly
independent for any values of s and t.
Remark 1: Every eigenvalue with multiplicity
= n will be associated with n different (as in linearly independent)
eigenvalues.
Multiplicity is how many "times" it
shows up as an eigenvalue. It is like when you find only one solution to a
second degree equation, which always has two roots. This solution has a
multiplicity = 2.
Remark 2: If a matrix has more than one
eigenvector the associated eigenvalues can be different for the different
eigenvectors.
Geometrically, the action of a matrix on one
of its eigenvectors causes the vector to stretch (or shrink) and/or reverse
direction.
이상구(LEE SANGGU)7월 21일 오전 4:17
Good.
1. 답은 Ax =
lamda x 의 해공간의 차원 은 2 이고,
Bx = lamda x 의 해공간의 차원은 1 이 라는 의미입니다.
즉, A 의 고윳값 1은 고유공간의 차원은 2 이고,
B의 고유공간의 차원은 1 이라는 의미입니다.
고유공간(eigenspace) 에 대하여 좀 더 알아봅시다.
2. 더 자세히 설명하자면
행렬에 대응하는 고유값들은 여러분들이 이미 알고 있는 (대수적) 중복도를 가질 수 있습니다.
지금 물어본
그리고 유가이 군이 아주 자세히 준 설명은 , 고윳값에 대한
기하적 중복도
(Geometric multiplicity) 라는 새 개념 입니다.
1. 고윳값에 대응하는 기하적중복도는 그 고윳값에 대응 하는 일차독립인 고유벡터들의 개수 를 의미 합니다. 또 고윳값 lamda 에 대해 Ax = lamda x 의 해공간의
차원도 lamda 의 기하적 중복도 와 일치 합니다. 그래서 기하적 중복도는 연립 방정식을 풀어서 구하면 됩니다.
3. 즉 위의 둘이 기하적 중복도에 대한 같은 정의 입니다.
4. 여러분들은
지금 단계에서는 대충 그렇게만
알고 지나가시고, 보통 선형대수학
입문의 9장 Jordan 표준형 http://matrix.skku.ac.kr/JCF/ 배울때
Jordan 표준형을 구하라는
문제를 풀면서
자동으로 각 고윳값의 기하적 중복도를 한눈에 확인 합니다.
더 자세한 내용은
JCF 에서 천천히
배우면 됩니다.
5. JCF 은 명령어 하나로 쉽게 구하도록 만들어 두었습니다. http://matrix.skku.ac.kr/JCF/
5. 그것을 보시면 각 고윳값에 대응하는 Jordan block 의 개수가 그 고윳값의 기하적 중복도 임을 너무 쉽게 알 수 있습니다.
인공지능 기초수학
에서는 그 정도 만 아시면 됩니다.
스스로
진지하게 인공지능에 필요한 수학 내용을 스스로
깨우쳐가는 좋은 질문과 답을 하는 여러분들을
Respect
합니다. ^^
Final comment:
위에 D_1 의 고유값 1은 대수적 중복도가 2, 기하적 중복도가 2이고,
밑에 D_2의 고유값 1은 대수적 중복도가 2, 기하적 중복도가 1인 것이군요.
기하적 중복도라는 새 개념이 있다는 것과 JCF를 배우면 기하적 중복도를 알 수 있다는 것을 알았습니다.
모두 좋은 답변들 감사드립니다.
|
|
http://matrix.skku.ac.kr/la-lab/8-2/8-2.htm
http://matrix.skku.ac.kr/sglee/03-Note/GeneralizedEV-f.pdf
http://matrix.skku.ac.kr/knou-knowls/cla-week-11-sec-8-2.html

|
|


이전
다음
5개의 댓글
유가이올렉산드르(2018****33)7월 21일 오전 2:58
Let's
try to analyze the given example. The first matrix "D = ([[1, 0], [0,
1]])" has two eigenvalues (1 and 1) but they are obviously not distinct.
Since A is the identity matrix, Av=v for any vector v, i.e. any vector is an
eigenvector of A. We can thus find two linearly independent eigenvectors (say
<-2,1> and <3,-2>) one for each eigenvalue. But, the second matrix
"D = ([[1, 0], [1, 1]])" also has non-distinct eigenvalues of 1 and
1. All eigenvalues are solutions of (A-I)v=0 and are thus of the form
<t,0>. Hence, in this case there do not exist two linearly independent
eigenvectors for the two eigenvalues 1 and 1 since <t,0> and <s,0>
are not linearly independent for any values of s and t. Remark 1: Every
eigenvalue with multiplicity = n will be associated with n different (as in
linearly independent) eigenvalues. Multiplicity is how many "times"
it shows up as an eigenvalue. It is like when you find only one solution to a
second degree equation, which always has two roots. This solution has a
multiplicity = 2. Remark 2: If a matrix has more than one eigenvector the
associated eigenvalues can be different for the different eigenvectors.
Geometrically, the action of a matrix on one of its eigenvectors causes the
vector to stretch (or shrink) and/or reverse direction.
이상구(LEE
SANGGU)7월 21일 오전 4:17
Good.
1. 답은
Ax = lamda x 의 해공간의 차원 은 2 이고, Bx = lamda x 의 해공간의 차원은
1 이 라는 의미입니다.
즉,
A 의 고윳값
1은 고유공간의 차원은
2 이고,
B의 고유공간의 차원은
1 이라는 의미입니다.
고유공간(eigenspace)
에 대하여 좀 더 알아봅시다.
2. 더 자세히 설명하자면 행렬에 대응하는 고유값들은 여러분들이 이미 알고 있는
(대수적)
중복도를 가질 수 있습니다.
지금 물어본 그리고 유가이 군이 아주 자세히 준 설명은
, 고윳값에 대한 기하적 중복도
(Geometric multiplicity) 라는 새 개념 입니다. 1. 고윳값에 대응하는 기하적중복도는 그 고윳값에 대응 하는 일차독립인 고유벡터들의 개수 를 의미 합니다.
또 고윳값
lamda 에 대해
Ax = lamda x 의 해공간의 차원도 lamda 의 기하적 중복도 와 일치 합니다.
그래서 기하적 중복도는 연립 방정식을 풀어서 구하면 됩니다.
3. 즉 위의 둘이 기하적 중복도에 대한 같은 정의 입니다.
4. 여러분들은 지금 단계에서는 대충 그렇게만 알고 지나가시고,
보통 선형대수학 입문의
9장
Jordan 표준형
http://matrix.skku.ac.kr/JCF/ 배울때
Jordan 표준형을 구하라는 문제를 풀면서 자동으로 각 고윳값의 기하적 중복도를 한눈에 확인 합니다.
더 자세한 내용은
JCF 에서 천천히 배우면 됩니다.
5. JCF 은 명령어 하나로 쉽게 구하도록 만들어 두었습니다.
http://matrix.skku.ac.kr/JCF/ 5. 그것을 보시면 각 고윳값에 대응하는
Jordan block 의 개수가 그 고윳값의 기하적 중복도 임을 너무 쉽게 알 수 있습니다. 인공지능 기초수학 에서는 그 정도 만 아시면 됩니다.
스스로 진지하게 인공지능에 필요한 수학 내용을 스스로 깨우쳐가는 좋은 질문과 답을 하는 여러분들을
Respect 합니다.
^^
김진웅(2015****73)7월 21일 오후 12:02
위에
D_1 의 고유값
1은 대수적 중복도가
2, 기하적 중복도가
2이고,
밑에
D_2의 고유값
1은 대수적 중복도가
2, 기하적 중복도가
1인 것이군요.
기하적 중복도라는 새 개념이 있다는 것과
JCF를 배우면 기하적 중복도를 알 수 있다는 것을 알았습니다.
모두 좋은 답변들 감사드립니다.
이상구(LEE
SANGGU)7월 21일 오후 6:50
이 질문은 대학원 입학 구술시험 이나 연구소에서 사람 뽑을 때
... 선형대수학을 배웠다는 학생들에게 물어보면
... 제대로 배웠는지
... 대충 배웠는지를 확인할 수 있는 질문 중 하나 입니다^^
이상구(LEE
SANGGU)7월 22일 오후 9:25
여러분의 이해 수준이 상당히 높습니다.
1개의 댓글
채희준(2016****00)7월 27일 오전 11:04
17년도에 선형대수학을 배우면서 대수적 중복도에 대해서는 이해했으나 기하적 중복도, 고유공간에 대해서는 굉장히 어려워했던 기억이 납니다. 당시에는 좋은 성적을 받는 것이 중요하다 생각해 제대로 이해하지 않은 상태로 그냥 지나갔었는데... 이 질문과 답변을 통해 제대로 이해할 수 있었습니다. 감사합니다.
[Final
OK by TA] [HW] 열공간, 해공간, 영공간 사이의 관계, 질문 by 김진웅, 답변 by 장환승, 추가답변 및
Finalized by 유가이 올렉산드르
Finalized by 유가이 올렉산드 [HW 질문] 열공간, 해공간, 영공간 사이의 관계
질문 by 김진웅
답변 by 장환승
추가답변 및 Finalized by 유가이 올렉산드르
Q: 행렬 A와 열공간 Row(A), 행공간 Col(A), 영공간 Null(A) 사이의 관계
의 증명을 알고 싶습니다.
참고: http://matrix.skku.ac.kr/LA-Lab/7-2/7-2.htm

http://matrix.skku.ac.kr/LA-K/Ch-7/
|
|
주어진
행렬의
기본
공간들
사이의
관계 |
||
|
|
|
|
|
|
|
● ● Row( ● Col( |
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
http://matrix.skku.ac.kr/nla/rank-review/Reciew-rank.htm
Main Theorem Let
TFAE
(1) A가 invertivle
(2) det A
0
(3) A ~
(row equivalent)
(4) A는 Elementary matricces의 product
(5) PA=LDU with all
0
(6) Ax=b has a solution ![]()
(7) N(A)={0}
(8) A의 col's가 가 L.I
(9) C(A) =![]()
(10) A has a left inverse
(11) rank A = n
(12) A의 row's가 L.I
(13) R(A)=![]()
(14) A has a right inverse
(15)* L.T A :
via A(x)=Ax 가 단사
(16)* 위의 L.T가 전사
(17)* 0은 A의 고유값이 아니다,
A:
u라는 벡터가 Null(A)에 속하는 벡터라고 하고
v라는 벡터는 Row(A)에 속하는 벡터라고 하면,
AT = [w1 w2 ... w(n)] 이라고 하면 (크기가 n)
v = a1w1 +
a2w2 +
.... + anwn
v = (AT)a
aT = [a1 a2 .... an]
u*v(내적) = (uT)v = (uT)(AT)a = ((Au)T)a = (0T)a = 0
따라서 Row(A)⊥ = Null(A) 입니다.
T 는 transpose 를 의미합니다.
추가 답변:
► 아래에 증명에도 참고하세요.
1) Prove that, Row(A)⊥ =
Null(A)
Prove:


2) Prove that, Col(A)⊥ = Null(AT)
Prove:

[Final OK by SGLee] [HW] 1주차 강의 내용 요약 및 정리 + Sage과 Python 실습(비교), 내용 요약 및 정리 by 박진형, 코딩실습 및 Finalized by 유가이 올렉산드르
[Final OK by SGLee]
[HW] 1주차 강의 내용 요약 및 정리 + Sage과 Python 실습(비교), 내용 요약 및 정리 by 박진형,
코딩실습
및 Finalized by 유가이 올렉산드르
http://matrix.skku.ac.kr/KOFAC/ 에서 바로 따라서 실습해 보시면 같은 결과가 나오는 것을 알게 되실 것입니다. 여기서 행렬의 성분들과 크기를 을 바꾸어 실습하셔도 됩니다.
1주차 강의 내용 요약 및 정리 + Sage과 Python 실습
내용 요약 및 정리 by 박진형
코딩실습 및 Finalized by 유가이 올렉산드르
1주차 강의 들으며 내용 정리한 것들입니다. 선형대수학은 처음 접해보는 과목인지라 이해하기가 상당히 까다로웠습니다만 예제를 통해 이해를 하며 천천히 공부하니 점점 이해가 되었습니다. 특히 QR 분해 파트가 이해가 잘 안 갔는데, 예제들을 풀어 보면서 이해할 수 있었습니다.
0-0강 및 0-1강의 내용 요약 및 정리:



1-1강의 내용 요약 및 정리:

2-1강의 내용 요약 및 정리:




[Math-Coding-HW]
1주차 코딩실습 (Sage과 Python):
SageMath
code:
A = random_matrix(ZZ,
12, 12) # 임의의 12x12 정수(ZZ) 행렬 A를 생성
print("A =
")
print(A)
Output:

Python
code:
import numpy as np
# Create a 12x12
matrix consisting of integers ranging from 0 to 50
A =
np.random.randint(0,50,size = (12,12)) #
print("A =
")
print(A)
Output:

Sage
code:
A = matrix([[1, -1,
-4, 0, 7, -4, 1, 1, 0, -2, -1, 2],
[-1,
0, 0, 1, -1, -1, -1, 1, 0, -6, 1, 1],
[-1,
6, 1, 2, 1, 0, -1, -1, 34, 3, 3, -1],
[1,
-1, -27, 45, -1, 1, -1, 0, 1, -5, -1, 29],
[1,
-2, 1, 0, 1, 4, 0, 0, -1, -2, -1, -1],
[5,
0, 0, -1, -1, 1, 0, 14, -1, 0, -1, -1],
[0,
-1, -8, 1, -1, -1, 3, 0, -5, 6, 0, 0],
[0,
-2, -1, 4, 0, -4, 10, 4, 1, 1, 1, 2],
[-1,
0, 0, 0, -13, 0, -1, 0, -4, -3, -8, 0],
[-1,
-1, -1, 0, 0, 0, -3, 1, 3, 43, -1, 1],
[1,
0, 0, -1, -30, 2, 2, -3, 0, -2, -1, 0],
[0,
-2, 0, -3, -3, 1, -1, -1, 3, 1, 0, 1]])
print("A =")
print(A)
print("RREF(A)
=")
print(A.rref()) #A의 RREF 구하기
Output:

Python code:
import numpy as np
from sympy import *
A = Matrix([[1, -1, -4, 0, 7, -4, 1, 1,
0, -2, -1, 2],
[-1,
0, 0, 1, -1, -1, -1, 1, 0, -6, 1, 1],
[-1,
6, 1, 2, 1, 0, -1, -1, 34, 3, 3, -1],
[1,
-1, -27, 45, -1, 1, -1, 0, 1, -5, -1, 29],
[1,
-2, 1, 0, 1, 4, 0, 0, -1, -2, -1, -1],
[5,
0, 0, -1, -1, 1, 0, 14, -1, 0, -1, -1],
[0,
-1, -8, 1, -1, -1, 3, 0, -5, 6, 0, 0],
[0,
-2, -1, 4, 0, -4, 10, 4, 1, 1, 1, 2],
[-1,
0, 0, 0, -13, 0, -1, 0, -4, -3, -8, 0],
[-1,
-1, -1, 0, 0, 0, -3, 1, 3, 43, -1, 1],
[1,
0, 0, -1, -30, 2, 2, -3, 0, -2, -1, 0],
[0,
-2, 0, -3, -3, 1, -1, -1, 3, 1, 0, 1]])
# Use sympy.rref() method
A_rref = A.rref()
print("A =")
print(format(A))
print("The Row echelon form of
matrix A and the pivot columns:")
print(format(A_rref))
Output:

SageMath code:
A = matrix([[1, -1, -4, 0, 7, -4, 1, 1,
0, -2, -1, 2],
[-1,
0, 0, 1, -1, -1, -1, 1, 0, -6, 1, 1],
[-1,
6, 1, 2, 1, 0, -1, -1, 34, 3, 3, -1],
[1,
-1, -27, 45, -1, 1, -1, 0, 1, -5, -1, 29],
[1,
-2, 1, 0, 1, 4, 0, 0, -1, -2, -1, -1],
[5,
0, 0, -1, -1, 1, 0, 14, -1, 0, -1, -1],
[0,
-1, -8, 1, -1, -1, 3, 0, -5, 6, 0, 0],
[0,
-2, -1, 4, 0, -4, 10, 4, 1, 1, 1, 2],
[-1,
0, 0, 0, -13, 0, -1, 0, -4, -3, -8, 0],
[-1,
-1, -1, 0, 0, 0, -3, 1, 3, 43, -1, 1],
[1,
0, 0, -1, -30, 2, 2, -3, 0, -2, -1, 0],
[0,
-2, 0, -3, -3, 1, -1, -1, 3, 1, 0, 1]])
print("A =")
print(A)
print
I = matrix.identity(12)
AI = A.augment(I).rref() #첨가행렬 [A : I]의 RREF 구하기
print("RREF [A : I] =")
print(AI)
print
A2 = AI.submatrix(0, 12, 12, 12) # A.submatrix(a, b, c, d)
#행렬의 (a+1, b+1) 성분부터 c개의 행,
d개의 열로 이루어진 부분행렬 구하기
print("inverse of A =")
print(A2)
Output:


Python code:
from sympy import *
A = Matrix([[1, -1, -4, 0, 7, -4, 1, 1,
0, -2, -1, 2],
[-1,
0, 0, 1, -1, -1, -1, 1, 0, -6, 1, 1],
[-1,
6, 1, 2, 1, 0, -1, -1, 34, 3, 3, -1],
[1,
-1, -27, 45, -1, 1, -1, 0, 1, -5, -1, 29],
[1,
-2, 1, 0, 1, 4, 0, 0, -1, -2, -1, -1],
[5,
0, 0, -1, -1, 1, 0, 14, -1, 0, -1, -1],
[0,
-1, -8, 1, -1, -1, 3, 0, -5, 6, 0, 0],
[0,
-2, -1, 4, 0, -4, 10, 4, 1, 1, 1, 2],
[-1,
0, 0, 0, -13, 0, -1, 0, -4, -3, -8, 0],
[-1,
-1, -1, 0, 0, 0, -3, 1, 3, 43, -1, 1],
[1,
0, 0, -1, -30, 2, 2, -3, 0, -2, -1, 0],
[0,
-2, 0, -3, -3, 1, -1, -1, 3, 1, 0, 1]])
inverse = A.inv() # calculate the
Inverse of A
print("Inverse of A =")
print(inverse)
Output:

A = matrix([[1, -1, -4, 0, 7, -4, 1, 1,
0, -2, -1, 2],
[-1,
0, 0, 1, -1, -1, -1, 1, 0, -6, 1, 1],
[-1,
6, 1, 2, 1, 0, -1, -1, 34, 3, 3, -1],
[1,
-1, -27, 45, -1, 1, -1, 0, 1, -5, -1, 29],
[1,
-2, 1, 0, 1, 4, 0, 0, -1, -2, -1, -1],
[5,
0, 0, -1, -1, 1, 0, 14, -1, 0, -1, -1],
[0,
-1, -8, 1, -1, -1, 3, 0, -5, 6, 0, 0],
[0,
-2, -1, 4, 0, -4, 10, 4, 1, 1, 1, 2],
[-1,
0, 0, 0, -13, 0, -1, 0, -4, -3, -8, 0],
[-1,
-1, -1, 0, 0, 0, -3, 1, 3, 43, -1, 1],
[1,
0, 0, -1, -30, 2, 2, -3, 0, -2, -1, 0],
[0,
-2, 0, -3, -3, 1, -1, -1, 3, 1, 0, 1]])
print("A =")
print(A)
dA = A.det() # 행렬식 구하라
adjA = A.adjoint() # 수반행렬 구하기
print()
print("inverse of A = (1/dA)*adjA =")
print((1/dA)*adjA) #수반행렬을 이용한 역행렬 구하기
Output:

Python code(for determinant and
inverse):
import numpy as np
from numpy import linalg