2021, Winter semester

PBL report (Midterm/Final) Form

Introductory Mathematics for Artificial Intelligence

Professor: Sang-Gu LEE

2021 Winter Math4AI <2st Quiz/Midterm> Exam 2 (80 pts)

Due Day :  Dec. 23, 2021  (in HW box in LMS)

Name/Major/Year(학년): Ng Zhi Wei/Software/Nam상현/Ko재윤/전자전기/2,3학년

E-mail: ***@hotmail.com,***@naver.com, ***@skku.edu

[PBL report Form Download(보고서 양식 다운로드)]

Korean (HWP) : http://matrix.skku.ac.kr/PBL/PBL-Report-Form-Korean.hwp  <- Modify this for this semester

English (MS Word) : http://matrix.skku.ac.kr/PBL/PBL-Report-Form-English.docx <-- Modify this form for your semester

We have learned Basic Mathematics(행렬도함수통계)

http://matrix.skku.ac.kr/intro-math4ai/W1/
http://matrix.skku.ac.kr/intro-math4ai/W2/

http://matrix.skku.ac.kr/intro-math4ai/W3/
http://matrix.skku.ac.kr/intro-math4ai/W4/
http://matrix.skku.ac.kr/intro-math4ai/W5/

http://matrix.skku.ac.kr/intro-math4ai/W6/
http://matrix.skku.ac.kr/intro-math4ai/W7/

http://matrix.skku.ac.kr/intro-math4ai/W8/ 
http://matrix.skku.ac.kr/intro-math4ai/W9/ 

http://matrix.skku.ac.kr/intro-math4ai/W10

http://matrix.skku.ac.kr/intro-math4ai/W11/ 
http://matrix.skku.ac.kr/intro-math4ai/W12/ 
http://matrix.skku.ac.kr/intro-math4ai/W13/ 
http://matrix.skku.ac.kr/intro-math4ai/W14/ 

 

To understand and can talk about the following concepts in 14 weeks(days) in this semester.

1. SVD(Singular Value Decomposition)

2. GDM(Gradient Descent Method)

3. Data and Covariance Matrix

4. PCA(Principal Components Analysis)

5. Rank Reduction and the role of SVD in PCA

6. BP(Back-Propagation) algorithm in ML(Machine Learning) and ANN(Artificial Neural Network)

 

*Sample Students HW/Report [예시, 이전 학기 학생들의 질문/답변/활동 기록] 

Math4AI-Summary :  http://matrix.skku.ac.kr/Math4AI-Summary/

2021 Fall PBL report by two Freshmen (English) : http://matrix.skku.ac.kr/2021-Math4AI-Fall-PBL/

2021 Summer PBL report (English) : http://matrix.skku.ac.kr/2021-Final-PBL-E/

2021 Summer PBL report (Korean) :http://matrix.skku.ac.kr/2021-Final-PBL/

2020 Fall PBL report (Korean) : http://matrix.skku.ac.kr/2020-Math4AI-PBL/ Basic Math for AI)

 

Sample 1 (도전학기 7주차 기말보고서) http://matrix.skku.ac.kr/2020-Math4AI-Final-pbl2/

Sample 2 (도전학기 7주차 기말보고서) http://matrix.skku.ac.kr/2020-math4ai-final-pbl/

Sample 3 (도전학기 4주차 중간보고서) http://matrix.skku.ac.kr/2020-Mid-PBL-2/

Sample 4 (도전학기 4주차 중간보고서) http://matrix.skku.ac.kr/2020-Mid-PBL-1/

English (Linear Algebra) English :  http://matrix.skku.ac.kr/2018-album/LA-PBL.htm (선형대수학)

English (Linear Algebra) (Korean PDF file):  http://matrix.skku.ac.kr/2015-album/2015-F-LA-Sep-Record.pdf

Calculus 1 PBL report http://matrix.skku.ac.kr/Cal-Book1/Calculus-1/ (미적분학 1)

Calculus 2 PBL report http://matrix.skku.ac.kr/Cal-Book1/Calculus-2/ (미적분학 2)

[ We could practice the our codes in http://matrix.skku.ac.kr/KOFAC/

 {High School Math Review} Math Lab Review (실습실)

 9th grade Math (수학)    http://matrix.skku.ac.kr/9th-Grade/  

 10th grade Math  (1  수학)    http://matrix.skku.ac.kr/10th-Grade/  

11th grade Math 1 (2, 수학 1)   http://matrix.skku.ac.kr/11th-Grade-1/  

 9th grade Math 2  (2, 수학 2)   http://matrix.skku.ac.kr/11th-Grade-2/  

 9th grade Math, Calculus  (3, 미적분)   http://matrix.skku.ac.kr/12th-Grade-1/  

 9th grade Math, Statistics  (3, 확률통계http://matrix.skku.ac.kr/12th-Grade-2/  ]

[Start to fill out the followings]

General Academic Knowledge  (10 points)

 (1) State more than 10 Math Definitions and concepts what you learned in the first 14 weeks (days).

http://matrix.skku.ac.kr/intro-math4ai/  

 

1.    Polynomial functions: A function f(x) that is a polynomial of x is called a polynomial function. Most well-known polynomial functions are as follows. Linear function, quadratic function, nth order polynomial.

2.    Rational functions: Rational functions f(x) are functions of x that are rational P(x)/Q(x) where P(x) and Q(x) are polynomials.

3.    Vector and scalar: A quantity which does not depend on direction is called a scalar quantity. Vector quantities have two characteristics, a magnitude and a direction. Scalar quantities have only a magnitude.

4.    Rules for Matrix Operations: A + B = B + A, 1A = A, (ab)C = aC + bC, …

5.    Classification: Classification is the problem of identifying to which category a new data belongs, based on the given data's characteristics.

6.    Gauss-Jordan elimination: Gaussian elimination is an algorithm for solving systems of linear equations. When we solve a system of linear equations using Gaussian elimination, the final form (of the augmented matrix) on the left side of the equation becomes the identity matrix.

7.    Least Squares Problem: Least-squares problems fall into two categories: linear or ordinary least squares and nonlinear least squares, depending on whether or not the residuals are linear in all unknowns. The linear least-squares problem occurs in statistical regression analysis; it has a closed-form solution.

8.    SVD: The SVD (singular value decomposition) always exists for any sort of rectangular or square matrices. It is the key feature of SVD. The singular value decomposition of m x n matrix A is the matrix factorization in the form of A = U x Sigma x V^T, where U is an m x m orthogonal matrix, V is an n x n orthogonal matrix, and sigma is an m x n rectangular (generalized) diagonal matrix with non-negative real numbers on the main diagonal.

9.    Limits of Functions: An optimal solution is a solution in which a function defined in a set has a maximum or minimum value. The problem of finding an optimal solution involves generalized concepts and operations of derivatives. Techniques used to find an approximate solution help when we find an optimal solution. 

10. Local Maximum and Minimum: The derivative can be used to determine whether a function increases or decreases based on the sign of slope at a point (or on a given interval). There might be a changing point of the slope (e.g, decreasing to increasing, increasing to decreasing). We call it a critical point, and the derivative of the function will be zero at a critical point. The second derivative can be used to determine whether a given function has a local maximum or minimum value at a critical point. Using the second derivative, we can 'check that a function has the absolute maximum or minimum on a given interval'.

 

1.     Function : The relationship in which the value of the two variables  and  is uniquely determined according to the value is called a function 

2.     Domain : For a function  , the domain of  is the set  which all of the input of the function is constrained.

3.     Range : is called the range of  where  is a co-domain of .

4.     Polynomial function : A function  that is a polynomial of  is called a polynomial function.

5.     Rational function : ational functions  are functions of  that are rational  where  and  are polynomials.

6.     Vector operations :

(1) Scalar multiplicationFor a scalar  and a vector  in 

,      ]

(2) Vector additionFor two vectors  and  in ,

,   []

7.     Transpose of a matrix : The transpose of a matrix is simply a flipped version of the original matrix. For example, 텍스트, 시계이(가) 표시된 사진

자동 생성된 설명.

8.     Diagonal matrix : A diagonal matrix is a matrix in which the entries outside the main diagonal are all zero.

9.     Symmetric matrix : A symmetric matrix  is a square matrix that is equal to its transpose.

10.  Inverse matrix : An  matrix  is called invertible (also nonsingular) if there exists an  matrix  such that . If this is the case, then the matrix  is uniquely determined by  and is called the inverse of , denoted by .A square matrix that is not invertible is called singular (noninvertible). In this case, there is no , such that .

11.  Norm : For a vector , the size of  is called a 'norm and defined by     (norm, 2-norm).

The distance of  and  can be written as

 .

12.  Cosine Similarity :  Using the angle (theta, ) of two vectors to measure the similarity between two data. The angle between two vectors can be defined with an inner product and we can measure the similarity with the cosine value of  by using an inner product.

그림입니다.

13.  Inner product : The inner product between two vectors 

 and  is defined as follows:

      

Also,  .

So,  and    ().

This  is called the angle between two vectors.

14.  Augmented matrix : Any system of linear equations can be expressed in the form of matrices.

 And it is possible to express as :
   , Ax=b.

The matrix  is called the coefficient matrix of the given system of linear equations . In linear algebra, an augmented matrix is a matrix obtained by appending the columns of two given matrices, Given the matrices  and  where the augmented matrix 

테이블이(가) 표시된 사진

자동 생성된 설명.

15.  Gauss-Jordan Elimination : Gaussian elimination is the process of simplifying the augmented matrix  as shown above to find the RREF of  by changing(simplifying or replacing) the coefficient matrix to RREF(), diagonal matrix, or identity matrix.

16.  Least Square Problem : The least-squares method can be used to find out a straight line that best represents the given data.

묶음 개체입니다.

17.  Projection :

  

18.  LU decomposition : For a square matrix -decomposition refers to the factorization of ,  with proper row and/or column orderings or permutations, using a product of two factors. Two factors are a lower triangular matrix  and an upper triangular matrix .  In the mathematical expression, . If  is decomposed as , the linear equations  can be written as , Then we can solve  and then solve the equation  for finding  of .

19.  QR decomposition : The -decomposition is the factorization of a matrix  into a product  with an orthogonal matrix  and an upper triangular matrix .

20.  SVD(Singular Value Decomposition) : The singular value decomposition of  matrix  is the matrix factorization in the form of , where  is an orthogonal matrix,  is an orthogonal matrix, and  is an  rectangular (generalized) diagonal matrix with non-negative real numbers on the main diagonal.

21.  Limits of Functions : The function has a limit L at an input p, if f(x) gets closer and closer to L as x moves closer and closer to p. "As  approaches  converges to " and denoted by . This  is called the limit of . We say  diverges if the limit does not exist.

22.  Derivative : For a point  in the domain of the function , if the following limit

exists, then the function  is said to be differentiable at . This limit value is called the derivative(differential coefficient) of function  at  and is denoted by .

23.  Differentiable : When  is differentiable at every point  in an interval,  is called differentiable in that interval.

24.  Local maximum and Minimum : A function  has a local maximum (resp. a local minimum at  if  satisfies  (resp. ) for all  in a neighborhood of .

25.  Extreme point : A local maximum or local minimum is called an extreme value, and a point at which a function has a local maximum or local minimum.

26.  Critical point : A point  where  the  is zero or does not exist.

27.  Fermat’s theorem : If  has an extreme value at , then  or  does not exist.

 

(2) State more than 10 things that you know/can/find ...  after you studied the first 14 weeks (days).

 

1.    Sketch graphs of polynomial functions

2.    Make a composite function

3.    Find solutions of equations

4.    Perform matrix operation by applying operations on vectors and matrices

5.    Check inverse and transpose of a matrix

6.    Find inner product and angle of two vectors

7.    Find system of linear equations

8.    Find SVD of a matrix

9.    Find derivative of a differentiable function using while loop

10.  Find local maximum, local minimum, absolute maximum, and absolute minimum of a function

 

1. How to use Sage

Sage를 이용하여 직관적으로 알기 어려운 그래프 모양과 함수의 근을 빠르게 알 수 있고, matrix RREF form 계산이나 decomposition matrix에 대한 계산도 빠르게 하는 법을 새롭게 알게 되었습니다. 이를 통해 복잡해 보이는 함수 또는 matrix에 대해서 자신감을 가지게 되었습니다.

 

2. About similarity

Distance similarity란 데이터 값들 간의 Euclidean distance를 구해, 그 스칼라값으로 similarity를 판단하는 방법입니다. point A(a1, a2), point B(b1, b2) Euclidean distance는 공식으로 { (a1-b1)^2 + (a2-b2)^2 }으로 나타낼 수 있습니다.

Cosine similarity란 데이터 값들 사이의 각도를 구해, 그 값으로 similarity를 판단하는 방법입니다. 두 데이터 벡터 사이의 각도를 구하기 위해 내적의 특성을 이용할 수 있는데, DRW000046344993= (inner product with vector a and b) / |a||b| 로 나타낼 수 있습니다. 두 가지 similarity 방식으로 데이터 간의 유사도를 판단하는 방법들에 대해서 새롭게 알게 되었습니다.

 

3. About Transpose form and inverse form of matrix

Transpose의 특성 중 (AB)^T = B^T*A^T 라는 특성과, Inverse의 특성 중 (kA)^(-1) = (1/k)*A^(-1), (AB)^(-1) = B^(-1) * A^(-1) 이라는 특성, 그리고 두 가지가 혼합된 (A^T)^(-1) = (A^-1)^T라는 특성 모두 일반 다항식 또는 일반 matrix 연산에서는 볼 수 없는 특성이기에 처음에는 낯설게 느껴졌습니다. 하지만 Discussion을 반복하고, Comment를 남기는 과정에서 위 특성들에 대해 이해하고 암기하게 되었습니다.

 

4. RREF using Gauss-Jordan Elimination

RREF form에 대해서 pivot point 등의 개념을 이용하여 설명하는 방식으로 이해하고 있었습니다. 강의를 통해 RREF form Augmented matrix form에서 Gauss-Jordan elimination을 통해 기존 coefficient matrix 부분을 identity matrix 꼴로 나타날 때까지 행해준다면, RREF form이 된다는 사실에 대하여는 처음 알게 되었습니다.

 

5. Projection

Projection of x onto a ta (where t=(inner product with a and x) / (inner product with a and a) ) 로 표현가능합니다. 그동안은 단순한 기하학적 의미만 알고 있었는데, 식과 같이 이해하다보니, projection least-squared problem을 이해시키는데 큰 도움을 주었다고 생각합니다.

EMB000046344984

6. LU decomposition, QR decomposition

LU decomposition이란 square matrix lower triangular matrix upper triangular matrix decompose 시킨 것입니다.

QR decomposition이란 mxn matrix orthogonal matrixupper triangular matrix decompose 시킨 것입니다.

이 두가지 decomposition에 대하여 처음 알게 되었고, 어떤 함수든지 특정한 form으로 decompose 된다는 것에서 신기함을 느꼈습니다

LU decomposition 

EMB000046344985
 

EMB000046344986
 


7. SVD (Singular Value Decomposition)

SVD mxn matrix mxm orthgonal matrix, mxn diagonal matirx, nxn orthogonal matrix decompose 한 것을 뜻합니다. decomposition에 대한 개념에 대해서도 처음 알게 되었지만, QnA를 통해 SVD의 데이터 압축이라는 특성에 대해서도 새롭게 알게 되었습니다.

 

EMB000046344987

8. Fermats Theorem

만약 함수 f(x)가 범위 ( a, b ) 내에서 extreme value를 가지고 있다면, 그 지점에서 f(c)=0 이거나 f(c)가 존재하지 않다는 이론입니다. 함수가 local maximum 또는 local minimum을 가진다면 그 지점에서 미분함수의 값이 0이거나 뾰족한 함수일 것이라는 것은 추론이 가능했지만, 이름이 있는 이론이라는 사실은 처음 알게 되었습니다.

 

9. Gradient Descent Method (GDM)

Gradient Descent Method (GDM)란 함수의 local minimum을 구하기 위한 방법 중 하나입니다. 함수의 기울기가 tolerance DRW000046344999보다 작아질 때까지 x
EMB000046344988

진행시켜가며 연산하는 방법입니다. 이 방법은 least-squares method를 구하는 다른 방법들과 다르게, 두 개 이상의 variable을 가진 함수의 least-squares도 간편하게 구할 수 있습니다.

 

1.     Find the Euclidean distance by Norm : The Euclidean distance of  and  can be written as

                         i.         .

2.     Cosine similarity : We can measure similarity if we are only interested in patterns or directions of data, by the angle between two vectors.

                         i.          ->

3.     동차선형연립방정식과 수반동차연립방정식 : Ax=0에서 x=0인 해를 자명한 해(trivial solution), x0인 해를 자명하지 않은 해(nontrivial solution)이라 한다. 선형연립방정식 Ax=b에 대하여 Ax=0
A
x=b 수반동차연립방정식 (associated homogeneous system of linear equations)이라고 한다.

4.     Gauss-Jordan elimination : With using Elementary Row Operations, it is the process of simplifying the augmented matrix  as shown above to find the RREF of  by changing(simplifying or replacing) the coefficient matrix to RREF(), diagonal matrix, or identity matrix.

5.     RREF : Reduced Row Echelon Form - using three operations of the Gaussian elimination in the above example. These three operations are called Elementary Row Operations.

6.     Least Squares Problem : Linear functionAu=ymatrix form으로 변환 후,    을 찾음으로서 least-squares line을 찾을 수 있다.

7.     LU-decompostion : 행렬 Alower triangular matrixLupper triangular matrixU로 분해함으로서 Ax=LUx=y가 되므로 Ux=y를 토해 x를 구할 수 있다.

8.     SVD : 행렬 A꼴로 분해함으로서 어떤 size의 행렬이든 대각화가 가능하며, 데이터 압축 등에 응용할 수 있다.

9.     Limit of function : 함수 f(x) right-hand limitleft-hand limit  가 같은 값으로 존재한다면, x=a에서 f(x)의 극한이 존재한다고 할 수 있다.

10.  Continuousdifferentiable간의 관계 : f(x) x=a에서 미분 가능하다면 x=a에서 continuous하지만, 역은 성립하지 않는다.

               

                     묶음 개체입니다.

 

11.  Tangent line of the function : f(x) x=a에서 미분 가능할 때, (a, f(a))에서의 tangent liney=f’(a)(x-a)+f(a)이다.

12.  Fermat’s theorem : f(x)(a,b)구간 사이에서 extreme value를 갖고 있을 때, f’(c)=0혹은 f’(c)는 존재하지 않는다.

 

C. State your meaningful Comment/Answer/Discussions in Discussion/QnA.

 

Open Problem 1

Open Problem 2

Open Problem 3

    

   Open Problem 4

  

Open Problem 5

Open Problem 6

 

Open Problem 16

Day 7 Open Problem 1

[Final OK by SGLee] open problem 4 solution by 정운섭, 황세진, 응즈웨이 (finding solutions to various equation using sage) and question

응즈웨이(2019####51)12 19일 오전 6:16

Thank you for your answer for Open Problem 4. Since the graph will have infinite x solutions as the graph move towards negative infinity, I will look for other x values from interval -5 to -10. Thanks!

Open Problem 14 by 안성

응즈웨이(2019####51)12 21일 오후 1:57

I understood. Thank you very much! :)

Open Problem 15 by 안성

응즈웨이(2019####51)12 21일 오후 1:59

Thank you very much for your contribution! I understood your work. Thanks! :)

ALL Must read This!! [Sample, Re-Finalized OK by SGLee] Open Problem 16 [Re-Finalized by Ng Zhi Wei(응즈웨이), 이규식, 남상현, 이예진, 고윤진, 고재윤, 도경은, 황세윤, 신유정, 박우현, 이예진, 남상현, 도경근, 이규식] (Solutions and Comments) Find SVD of a rectangular 4 by 5 matrix which is bigger than 3 by 3.

Open Problem 1 by 남상

응즈웨이(2019####51)12 21일 오전 00:22

Hi! Thank you very much and your codes work perfectly fine! :) However, just for sharing, I used a while loop to tackle this problem as I find it more efficient that way. If interested, do take a look at my post at "Day 7 Open Problem 1 by Ng Zhi Wei (using while loop)". Thanks!

[News] The Future of Jobs in the Era of AI (인공지능 시대의 진로와 직업)

응즈웨이(2019####51)12 21일 오후 12:52

I am curious if is it possible for a Bachelor degree holder to find an AI-related job in Korea? Or do most AI companies in Korea require a Master or PhD degree as a requirement? Thanks!

 

[Final OK by SGLee] Open Problem 16 Solution by 남상현 (SVD를 동한 데이터 압축의 이해) with 도경근, 고재윤, 황세진, 윤상수, 신유정, 박우현, .남상현, 이규리, 문태의, 이예진

[Final OK by SGLee] Open Problem 16 Solution by 남상현 (SVD를 동한 데이터 압축의 이해) with 도경근, 고재윤, 황세진, 윤상수, 신유정박우현, .남상현, 이규리, 문태의, 이예진  



도경근 학우님과 고재윤 학우님의 Finalized Open Problem 16을 보고 쉽고 정확하게 SVD와 이를 이요한 데이터 압축에 관해 이해할 수 있었으며, 이에 관련하여 좀 더 깊게 생각해 보게 되었습니다. 데이터 압축에 관하여 좀 더 세부적인 개념과 이해를 돕고자 Open Problem 16 finalized해보았습니다.



우선 SVD를 응용하여 데이터의 연산량을 줄여 데이터 압축을 할 수 있는데, 이는 truncated SVD로의 변환을 통해 응용할 수 있습니다.

m x n matrix SVD의 경우, m n보다 작거나 같다면 Σ행렬의 마지막 행에는 singular value의 마지막 값이 들어가게 됩니다.

하지만, m>n이라면 m x n size Σ행렬의 아랫부분에는 0으로 구성된 성분이 들어가게 됩니다. 이를 Full SVD라고 합니다.

(Image by : http://matrix.skku.ac.kr/2020-Math4AI-Final-pbl2/ )

singular value의 갯수를 s라고 합시다. 이 때 Σ행렬은 밑에서부터 m-s 개 만큼의 행이 0으로 구성됩니다. 행렬의 곱을 생각해본다면, U Σ행렬을 곱할 때 이 부분은 제거하여도 상관 없는 부분, 즉 크기가 0인 빈 데이터가 됩니다. 예시를 들면 다음과 같습니다.

테이블이(가) 표시된 사진

자동 생성된 설명

-> 원래 행렬이 5x3 size이며 singular value 3개이므로 S행렬의 아래 두 행이 0이 되었습니다. , U행렬의 오른쪽 두 열을 지우고 계산하더라도 SVD는 같은 값이 나오게 됩니다. 이렇게 하여 빈 데이터를 지운 SVD Thin SVD라고 합니다.

텍스트, 실내, 시계이(가) 표시된 사진

자동 생성된 설명

아직까지는 SVD의 값이 일치합니다. 또한 값이 0singular value가 존재한다면 이 역시 제거할 수 있습니다. 가령 2번째 singular value의 값이 0이라면, S행렬의 2번째 열과 2번째 행이 모두 0으로 구성되어 있으므로, U행렬의 2번째 열을 제거할 수 있고, V^T행렬의 2번째 행을 제거할 수 있습니다.

이렇게 하여 0 singular value까지 모두 지운 SVD Compact SVD라 하며, 아직까지는 빈 데이터 껍데기만 제거하여 실질적으로 데이터 크기가 압축되진 않았습니다.

그리고, 본격적으로 데이터를 압축하는 방법은 Truncated SVD를 이용한 방법입니다. Singular value를 내림차순으로 나열하여 SVD를 만든다면 오른쪽 아래로 내려갈수록 singular value의 값이 감소하며, 이들은 제거되어도 SVD의 값에 큰 영향을 주지 않습니다. 이렇게 하여 0이 아닌 singular value까지 제거해준 SVD Truncated SVD라 부릅니다.

이러한 방법을 데이터 압축에 응용할 수 있으며, singular value를 제거하여 노이즈 역시 감소시킬 수 있습니다.



다음 6x5 행렬을 통해 예시를 만들어 보았습니다.

테이블이(가) 표시된 사진

자동 생성된 설명

우선 Full SVD를 구하면 다음과 같습니다.

테이블이(가) 표시된 사진

자동 생성된 설명

0 singular value는 없으므로, S행렬의 마지막 행만 제거하여 Compact SVD를 구해보았습니다.

테이블이(가) 표시된 사진

자동 생성된 설명

SVD의 값은 데이터 손실 없이 일치하는 것을 확인할 수 있습니다. 이제 5번째 singular value(1.306)를 제거하여 Truncated SVD를 구해보겠습니다.

테이블이(가) 표시된 사진

자동 생성된 설명

테이블이(가) 표시된 사진

자동 생성된 설명

다음 truncated SVD를 통해 데이터를 압축할 수 있습니다. 여기서 데이터를 압축함이라 함은, U, S, V^T 행렬을 일렬로 하여 크기를 구했을 때 그 값이 감소했음을 의미합니다.

, 위와 같은 경우에선 Full SVD에서의 세 행렬이 각각 6x6, 6x5, 5x5 size로서 36+30+25=91Byte라고 할 수 있습니다.

하지만, Truncated SVD의 크기는 6x4+4x4+4x5=60Byte로서, 66% 정도의 메모리만을 사용하였지만 원래의 데이터와 거의 일치함을 확인할 수 있습니다



해당 내용을 visualize하여 이미지 파일을 통해 확인해보고 싶었으나, 아직 sage 코딩에 대한 이해도가 부족하여 직접 해보지 못했습니다

하지만 이는 이상구 교수님의 선형대수학 연구실에서 제공하는 "Matrix Decomposition and Image Processing via MATHEMATICA" 논문을 통해 정확하고 자세히 이해할 수 있었으며, 해당 논문을 통해 학우분들 모두 SVD와 데이터 압축 및 노이즈 캔슬을 쉽게 이해하실 수 있을 거라고 생각합니다.

http://matrix.skku.ac.kr/sglee/03-Note/IP/ImageProcessing.htm



혹시 잘못된 점이나 추가하고 싶으신 점이 있으시다면 지적 부탁드립니다!



Finalized OK by SGLee [Finalized by 도경근, 고재윤 . . . 이예진] Open Problem 16 Solution

저는 도경근 학우님의 open problem 16 solution 글을 보고 굉장히 잘 쓰셨다는 생각이 들었고, 새로운 내용에 대해서 생각해보게 되었습니다. SVD 개념이 

어려우신 학우님들의 도경근 학우님께서 작성하신 내용에 대한 이해를 도와드리기 위하여 이 문제에 대해 finalize 하게 되었습니다.



먼저, 선형 변환 (linear transformation)에 대한 개념이 SVD의 이해에 도움이 될 것이라고 생각하여, 선형 변환에 대해 설명드리겠습니다

선형 변환이란 간단히 말해, 자료의 분포는 동일하게 하되 어떤 변수를 사칙연산을 통해 다른 값으로 변환하는 것을 뜻합니다.

여기서 변수는 vector, 사칙연산은 matrix를 통해 다른 vector값으로변환할 수 있습니다.

http://matrix.skku.ac.kr/2012-Album/13.html 이 링크는 교수님께서 올려주신 자료 중 선형 변환에 해당하는 내용입니다.



이번에는 아래의 2차원 그림에 대해서 살펴보도록 하겠습니다. 검은 원은 선형변환 하기 전의 x vector (x) y vector (y) 의 모습이고, 빨간 원은

coefficient matrix A를 곱한 A*x vector (Ax) A*y vector (Ay)의 모습입니다.

y x에 대하여 90도가 되도록 하는 vector라면, 선형 변환 하기 전의 상태에서 y x에 대해 모든 direction에서 90도를 유지합니다.

하지만, 선형 변환이 일어난 Ax Ay 사이의 각도는 모든 direction에서 90도라고 보장하지 못합니다.

위 그림을 가지고 SVD의 식을 이해할 수 있습니다.



우리는 강의를 통해 SVD 식을 A=U*∑*V^T로 배웠습니다. 위 그림을 가지고 각각의 연산자에 대해 살펴보도록 하겠습니다.

A coefficient matrix      

V는 선형 변환 전 서로 직교하던[ x,y] 열벡터     

U Ax, Ay가 서로 90도를 이루는 direction에서 각각의 단위 열벡터 [u1, u2] ,

scaling factor 역할을 하는 diagonal matrix라고 두겠습니다.

그렇다면 AV=∑U 라는 식은 션형 변환의 관점에서 생각해보면, 변환 전 직교했던 두 벡터가 변환 후에도 직교할 때의 direction을 찾는 식이 됩니다.

V orthogonal matrix 이므로 A=U*∑*V^T 로 나타낼 수 있고, 이는 강의 시간에 배웠던 SVD의 형태가 됩니다.



아래 사진은 도경근 학우님이 작성하셨던 Open Problem 16 solution 입니다.

 

Open Problem 16 (Solution) by 도경근

Open Problem 16

Find the SVD for a matrix from the other textbook by using the codes above.



R을 사용하여 martix svd값을 찾아보고 분석을 해보았습니다.

텍스트이(가) 표시된 사진

자동 생성된 설명

특잇값 분해는 데이터 정보를 압축해주는 기능이 있습니다. 여기서 확인할수 있는 점은 특잇값 벡터 d의 첫번째 두번째 세번째 원소값에 비하여 4번째 원소 값이 비교적 작다는 것을 알수 있습니다.따라서원래 데이터의 3/4만큼의 데이터인 처음 3개의 특잇값과 U, V 1~3열만 사용하여도 원래 데이터에 대한 대표성이 충분하고 정보 손실이 작다고 판단할수 있습니다.

이것이 실제로 그런지 한번 확인 해보기 위해서 처음 3개의 특잇값과 U, V 1~3열만 사용하여 matrix reconstruct 해보았습니다.

보시다시피 원래 데이터와 거의 유사하다는 점을 확인 할 수 있었습니다.



또한 처음 2개의 특잇값과 U, V 1~2열만 사용하여 matrix reconstruct 해보았습니다

이 역시 원래 데이터와 유사하지만 중요할 가능성이 높은 마지막 행의 데이터들이 모두 사라진 모습이 눈에 띕니다.



이번 HW에서는 matrix svd값을 구해보고 그것이 어떤 의미를 가지고, 어떻게 쓰일수 있을지 고민해보는 시간을 가질수 있어서 유익했습니다. 감사합니다.

6개의 댓글

이상구(LEE SANGGU)12 16일 오후 10:30

Very good^^ Share your text code, so others can check your output amd improve it.

도경근(2018####55)12 17일 오후 4:08

m1 <- c(0,0,4,0,0,0,1,0, 0,0,0,2,0,0,5,0, 0,1,0,0,1,1,1, 0,3,1,0,0,0,2,2,1) dim(m1) <- c(4,8) m1 cross_svd <- svd(m1) str(cross_svd) cross_svd$d cross_svd$u cross_svd$v round(cross_svd$u[,c(1,2)] %*% diag(cross_svd$d[c(1,2)]) %*% t(cross_svd$v[,c(1,2)])) round(cross_svd$u[,c(1,2,3)] %*% diag(cross_svd$d[c(1,2,3)]) %*% t(cross_svd$v[,c(1,2,3)])) round(cross_svd$u[,c(1,2)] %*% diag(cross_svd$d[c(1,2)]) %*% t(cross_svd$v[,c(1,2)])) text code 입니다

고재윤(2020####97)12 17일 오후 7:43

학우님의 코딩 방식이 처음보는 방식이어서 처음엔 낯설었는데, text code가 매우 간결하게 써진 것을 보고 놀랐습니다. 제 방식대로 했다면 학우님의 몇 배 길이의 코딩을 했을텐데, 코딩공부도 더 해야겠다는 생각이 들었습니다. 또한, 학우님께서 하신 문제풀이 중 U, V 1,2,3번째 column으로 다시 A 를 조합하여 원래 A와 비교하는 방식이 매우 흥미로웠습니다. 학우님께서 U,V 1,2 번째 column만을 이용하여 A를 재조합 하셨을 때 '중요할 가능성이 높은 마지막 행의 데이터들이 모두 사라진 모습' 이라고 서술해 주셨는데 마지막 행의 데이터가 왜 가장 중요할 가능성이 높은 데이터인지 여쭈어봐도 될까요? 좋은 problem solution 감사합니다!!

이상구(LEE SANGGU)12 17일 오후 8:58

12일 차 rank reduction 에서 배울 내용 입니다^^

고재윤(2020####97)12 17일 오후 10:17

답변 감사합니다 교수님!!

황세진(2015####21)12 17일 오후 11:22

주어진 데이터를 통해 합리적인 추론을 통해 벡터값이 가장 작은 곳을 제외하고 계산했을 때에 원래 데이터에서 손실이 많이 나지 않는 것을 소프트웨어를 통해 간결하게 확인시켜주셔서 한눈에 이해가 되었습니다! 도움이 많이 되었습니다.



도경근 학우님께서는 중요성이 가장 낮은 U V column을 제거하고 재조합한 결과, decomposition 하기 전의 matrix와 비슷한 값이 나옴을

보여주시면서 SVD의 특성에 대해 작성해주셨습니다. 이 방식이 왜 성립하는지 알기 위해 SVD의 식을 다시 살펴보도록 하겠습니다.





아래 사진은 SVD A=U*∑*V^T 을 보다 자세히 서술한 식 입니다

앞서 살펴보았듯이, U*V^T의 성분의 크기는 모두 -1에서 1 사이의 값이기 때문에 ∑가 마치 scaling factor와 같은 역할을 한다고 볼 수 있습니다.

 ∑ diagonal matrix이기 때문에 A σ1*u1*v1^T +σ2*u2*v2^T*+..... 로 쪼개서 나타낼 수 있습니다

이 때 k번째 σ 값이 다른 σ 값들에 비해 작은 값이라면, 그 부분은 A라는 데이터를 이루는데에 중요성이 낮다는 것을 뜻함을 알 수 있습니다.

따라서 중요성이 낮은 부분,  σ 값이 상대적으로 작은 column A를 이루는데 큰 부분을 차지하지 않을 것이고, 이 부분을 제외하고 A를 계산해도

비슷한 값이 나올 것이라고 생각할 수 있습니다.



이런 SVD의 특성을 이용하면 중요성이 낮은 데이터를 제거함으로써, 압축된 데이터를 표현할 수 있을 것입니다

반대로, 중요성이 높은 데이터 몇개를 가지고 원래 데이터를 부분복원 하는 것이 가능할 것 같습니다.

7개의 댓글

이상구(LEE SANGGU)12 18일 오전 5:21

Good job. Great. 다른 학생들도 모두 읽어야 할 여러분 동료의 SVD 설명 내용입니다.

윤상수(2020####53)12 18일 오전 10:42

선형 변환을 함께 설명해주신 것이 이해에 한결 도움이 되는 것 같습니다. 감사합니다.

신유정(2016####90)12 18일 오후 2:35

svd 이해에 막혀 있었는데, 이해하는데 큰 도움이 되었습니다. 감사합니다!

박우현(2016####31)12 18일 오후 2:36

SVD를 이해하는데 도움이 되었습니다 감사합니다

이예진(2017####54)12 18일 오후 4:01

인터넷으로 뒤져가며 어렴풋하게 이해한 선형변환, SVD 등의 내용을 이렇게 한 문서에 일목요연하게 정리해주셔서 정말 도움이 크게 되었습니다. 감사합니다 !

남상현(2018####17)12 18일 오후 5:49

시각적 효과와 더불어서 너무 간결하고 쉽게 SVD에 관해 정리해주신 것 같습니다. 감사합니다!

도경근(2018####55)12 18일 오후 7:17

안녕하세요 학우님. 제가 작성해주신 글을 잘 finalize 해주셔서 감사합니다. 마지막 행의 데이터가 왜 중요하다고 질문을 해주셨는데, 이부분에서는 제가 설명이 부족했던것 같습니다. 제가 하고싶었던 말은 '데이터를 복원했을때 마지막 행이 아예 사라졌다. 이 데이터로 어떤 insight를 뽑아낼건지에 따라서 그 결과에 안좋은 영향이 있을 수 있다' 입니다. SVD 에 대해서 정성스럽게 요약해주시고 추가적인 설명을 해주셔서 감사합니다. 좋은 연말 보내십시오.

9개의 댓글

남상현(2018####17)12 18일 오후 8:29

M = matrix(RDF,[[1, 2, 1, 4, -2],[2, 4, 4, -6, -8], [1, 2, -2, 4, 6], [-2, -1, 1, 4, 3], [-2, 0 ,0, 1, 1], [2, 5, 4, -3, -1]]) U, S, V = M.SVD() # A = U*S*V' # A's SVD Ut = matrix(RDF, [[U[i][j] for j in range(4)] for i in range(6)]) St = matrix(RDF, [[S[i][j] for j in range(4)] for i in range(4)]) Vt = matrix(RDF, [[V[i][j] for j in range(4)] for i in range(5)]) show("U = ") show(Ut.n(digits=4)) show("S = ") show(St.n(digits=4)) show("V = ") show(Vt.n(digits=4)) show("M = ") show(M) show("USV^T = ") show(Ut*St*Vt.transpose().n(digits=4)) Truncated SVD를 구할 때 사용한 코드입니다!

이상구(LEE SANGGU)12 18일 오후 8:42

잘 했습니다. 서로 다르게 생각하는 부분이 있어 보입니다. 결론은 마지막행의 데이터가 특별히 중요하지는 않습니다. 분석에서는 큰 특이값들과 그에 대응하는 singular vectors 가 다른 것 보다 영향을 더 준다 정도로 이해하시고. 더 자세한 것은 12-13 th day 에 배울 rank reduction PCA 에서 SVD 의 이용 에서 배울 것 입니다.

남상현(2018####17)12 18일 오후 8:49

네 감사합니다!

도경근(2018####55)12 18일 오후 9:45

잘 정리해주셔서 감사합니다 학우님. SVD에 대해 이해하는데 도움이 많이 되었습니다.

고재윤(2020####97)12 18일 오후 9:49

설명해주신 모든 내용에 대응되는 예시들을 코딩해주시고, 알맞은 그림으로 식을 표현해주시니 제가 작성한 글보다 SVD에 대해서 더 잘 이해할 수 있는 글인 것 같습니다!! 교수님께서 말씀하신 12-13th day에 배우는 내용에 대해서도 나중에 토론할 수 있었으면 좋겠습니다. 좋은 글 감사합니다!!

이규리(2018####45)12 19일 오전 7:47

SVD를 그저 수학적 개념에서 끝나지 않고 데이터에서는 이를 어떤 식으로 쓸 수 있는지, 어떻게 이해하면 되는지를 자세히 설명해주셔서 이해에 많은 도움이 되었습니다. 감사합니다!

문태의(2016####21)12 19일 오후 4:29

SVD를 이해하는데 큰 도움이 되었습니다! 감사합니다.

정운섭(2018####88)12 20일 오전 00:54

이 부분은 몰랐던 부분인데 이렇게 잘 정리해주셔서 SVD에 대해서 더 깊이 이해할 수 있게 되었습니다! 감사합니다!

이예진(2017####54)12 21일 오후 12:02

덕분에 SVD에 관한 더욱 구체적 이해를 할 수 있었습니다. 감사합니다 !

 

그리고 (첨부한) PBL 보고서에 <자기평가>, <동료평가> + <자신이 QnA에 업로드한 Question and Answer (Reply)를 모아서주어진 첨부 형식에 맞추어 내용을 채워서 Due Day 전에 제출하시오. 양과 질을 평가하여 해당성적을 부여합니다.  [The First or The Best!]

그리고 중간고사와 기말고사에 여러분이 학습하고 PBL 보고서에 제출한 내용을 반영합니다.

 

[HW1] Motivation and Problem 1 (Solution) by 강민지, [자기소개/수강동기/코드실행/학습요약/질문]

작성자  : 강민지(2021####12)작성일  : 12 13 오후 8:33

조회수  : 64

첫 번째로 기억에 남는 글은 강민지 학우님께서 작성하신 글입니다. 강민지 학우님께서는 가장 먼저 open problem solution을 작성해주시고, 교수님께 comment 받은 부분을 정리하셔서 수정해주신 학우님이기 때문에 기억에 남았습니다. 학우님 덕분에 1일차에서도 새로운 것들을 배울 수 있었고, 수업 방식을 이해하는데 큰 도움이 되었다고 생각합니다.

Final OK by SGLee [Re-Finalized by 정운섭, 남상현, 고재윤, 이규식 SGLee (problem 6) ] 가역 가능한 matrix 중에서 is_invertible() 값이 false 나오는 경우에 대하여

작성자  : 정운섭(2018####88)작성일  : 12 16 오후 1:49

조회수  : 34

두 번째로 저의 기억에 남고, 의미있는 정보를 얻었다고 생각되는 글은 정운섭 학우님께서 작성하신 글입니다. 정운섭 학우님께서는 random_matrix 명령어에 랜덤한 유리수 값을 집어넣으려는 과정에서 문제를 겪으시고, 질문 글을 올리셨습니다. 질문 글을 통해 오류의 원인을 알아내셨고, 그 오류를 해결하는데 쓰인 명령어 뿐만 아니라 교수님께서 올려주신 강의 자료에 있는 명령어도 정리하여 Finalize 해 주셨습니다. 정운섭 학우님께서 올려주신 질문 글을 읽고, 제가 직접 코딩해본 결과, 저 또한 같은 오류가 나타난다는 것을 알게 되었습니다. 그래서 저는 단순히 ‘random_matrix’ 명령어는 오직 정수값만 다룰 수 있다고 여기며, 결론을 내려고 하였습니다. 하지만 정운섭 학우님께서는 포기하지 않으시고 finalize까지 완성하셨습니다. 저는 이 글을 통해 단순히 명령어들을 알았을 뿐만 아니라 어렵고 잘 모르겠다고 포기하지 말자, QnA 게시판을 통해 더 좋은 학습 효율을 만들고, 더 많은 내용을 알아낼 수 있다 라는 결심을 하게 되었습니다.

Finalized OK by SGLee [HW4] Problem 10 (Solution) by 윤상수, 고재윤,우건주, 이예진, 이규식, 남상현,

작성자  : 윤상수(2020####53)작성일  : 12 16 오후 4:49

조회수  : 45

세 번째로 기억에 남는 글은 윤상수 학우님께서 작성하신 open problem 10 solution입니다. 윤상수 학우님께서는 cos similarity를 활용할 수 있는 예시로 BMI 지수를 답으로 제시하셨습니다. 저는 cos similarity에 대해 공부하면서, 현실에서 이 이론을 사용할 수 있을 만한 경우를 찾기 힘들다고 생각하던 도중 이 글을 보게 되었습니다. 그 글을 보고 BMI 지수처럼 비율을 결과값으로 나타내는 데이터는 cos similarity를 적용하기 적합한 데이터 종류라는 것을 깨달았고, BMI 지수의 similarity를 예시로 들어 직접 finalize도 하게 되었습니다. 윤상수 학우님께서 작성하신 글을 보고, 제가 생각하고, 정리하는 과정이 제가 처음으로 이번 수업에서 탐구적인 자세를 보여준 것이라고 생각되기 때문에 이 글이 저에게는 meaningful 하다고 생각합니다.

ALL Must read This!! [Sample, Re-Finalized OK by SGLee] Open Problem 16 [Re-Finalized by Ng Zhi Wei(응즈웨이), 이규식, 남상현, 이예진, 고윤진, 고재윤, 도경은, 황세윤, 신유정, 박우현, 이예진, 남상현, 도경근, 이규식] (Solutions and Comments) Find SVD of a rectangular 4 by 5 matrix which is bigger than 3 by 3.

작성자  : 응즈웨이(2019####51)작성일  : 12 19 오후 8:38

조회수  : 71

 

네 번째로 기억에 남는 글은 응즈웨이 학우님께서 finalize 해주신 open problem 16에 대한 내용입니다. open problem 16 SVD에 대한 내용으로 저를 포함한 여러 학우님들께서 이 문제에 대해 finalize 해주셨고, 응즈웨이 학우님께서 마지막으로 4X5 matrix SVD를 구하시면서 지금까지 토론된 내용을 한눈에 볼 수 있도록 모두 정리해 주셨습니다. 저는 다른 학우님들이 SVD와 그 활용에 대해 더 잘 이해하셨으면 하는 마음으로 SVD decomposition 성분에 대해서 설명하고, 데이터 압축의 특성을 갖는 이유등을 설명하며 finalize 하였습니다. 그 결과, 제 글을 읽고 SVD에 대하여 더 토론하시고 finalize 해주신 학우님들이 계셔서 뿌듯함을 느꼈습니다. day 9까지 활동 중, 교수님께서 의도하신 수업 방식을 가장 잘 활용한 것이 이 최종 finalize 된 글이고, 그 과정이라고 생각합니다. 이 글의 구성 성분으로 제가 쓴 글이 학우님들의 토론에 도움이 된 것 같아 뿌듯하고, 기억에 남습니다. 이렇게 토론을 통해 얻은 SVD에 관한 내용은 오랫동안 기억에 남을 것이라고 생각합니다.

[Finalized by 정운섭, SGLee, 김지훈, 고재윤, 우건주, 안성준, 인유진, 윤상수]Open problem 2 solution by 정운섭 (3변수 함수의 Find Gradient 찾는 , Find Critical points 임계점을 찾는법.)

작성자  : 정운섭(2018####88)작성일  : 12 21 오후 5:58

조회수  : 30

open problem 2는 함수를 통해 local maximum, local minimum, absolute maximum, absolute minimum을 찾는 문제였습니다. 정운섭 학우님께서는 복잡한 함수로부터 그래프를 plotting 하시고, critical point를 구함으로써 문제를 푸시고, 결론 부분에 ‘이러한 방법으로 하는 것은 답은 구해지나, 과정이 너무 복잡하고 시간이 오래 걸리는 같습니다. 왜냐하면 모든 df(x)=0 되는 x값에 대하여 하나하나씩 구해보아야 하기 때문입니다.’ 라고 결론내리셨습니다. 저는 GDM은 함수의 local minimum, local maximum을 구하는 또 다른 방법이다 라는 정도만 생각했었는데, 정운섭 학우님의 결론을 읽고 난 후 GDM의 강점에 대해 배우게 되었습니다. 또한 저는 GDM으로부터 또 다른 생각을 할 수 있었습니다. 만약 인간이 계산을 모두 해야한다면, GDM은 도함수로부터 extreme point를 찾는 방법보다 훨씬 비효율적인 방법일 것입니다. 하지만 단순 계산을 빠르게하는 컴퓨터 덕분에, GDM local minimum, local maximum을 찾는 강력한 도구가 될 수 있었다고 생각합니다. 이처럼 저는 인간 기준에서 간단한 수학이 아닌, 컴퓨터의 연산 기준에서 간단한 수학이 앞으로 발전되고 연구될 수학이라는 생각이 들었습니다. 정운섭 학우님께서 공유해주신 open problem 2의 결과 덕분에, 저는 앞으로 어떤 수학을 배워야 할까 라는 생각을 해보게 되었고, meaningful한 글이었다고 생각합니다.

Participation Part (20 points)

Fill in the below for your self-assessment and your project/term paper. 

(A) Briefly describe your contributions through Q&A for yourself and fellow students in our "Basic Math4AI" classe! 

 

(A1) Quantity :

 

- Check your participation numbers in QnA for each week (Saturday to Friday):

*** day5 = Friday+saturday+sunday

QnA 게시판에 고재윤을 검색하여 나온 결과로 채웠습니다.

 

Week(day) 1: 1 Week 2: 3 Week 3: 4 Week 4:  8

Week 5: 3+7+1 =11 Week 6: 3 Week 7: 6 Week 8:    3

Week 9: 2+ Week 10: Week 11: Week 12:

Week 13: Week 14: Week 15:

 

total 41

 

- Total number of sessions (Q: 1 , A: 37 , Others: 3 )

I questioned using comment, so official question number is less than I actually questioned

- Number of online attendances: ( 17 / 17 )

- Off-line attendance and number of absences: ( 2 - webex / 2 - webex ) (0 absence)

· Others Include some announcements or course related posts.

 

-       Check your participation numbers in QnA for each week (Saturday to Friday): 

 

 Week(day)  1: 0(12/13)  Week  2: 5             Week  3: 4              Week  4: 8  

Week  5: 5                 Week  6: 5            Week  7: 3              Week  8: 2  

Week  9: 4                  Week 10: 3            Week 11:                Week 12:    

Week 13:                     Week 14:               Week 15:

 

-       Total number of sessions (Q:   8         ,   A:  28          ,    Others:           )​

-       Number of online attendances:     (     24 / 24 )

-       Off-line attendance and number of absences:  (   2   / 2 )     (0 absence)

·         Others Include some announcements or course related posts.

도경근,  온라인 수업 참여는 출석 점수에 필수이고, Academic activity (1st 질문, 1st comment, 1st 답변, Finalize 문제+ best 풀이, 강좌에 도움이 되는 관련 정보 공유) 를 열심히 하는 것이 보고서와 발표 및 성적에 직접적인 영향이 있다. 응즈웨이,  For the open problems, the compiler can be Python too. It can be R, Python, or SageMath <--- <-- Yes. Use any language and tool that we can use to solve Problems in the Textbook, 김명규,  수업에 좋은 성적을 얻기 위에서는 첫번째로 참여 하거나 요약해서 best 답변을 하는게 중요하다고 들었습니다. 온라인 수업 참여는 출석 점수에 필수이고, Academic activity (1st 질문, 1st comment, 1st 답변, Finalize 문제+ best 풀이, 강좌에 도움이 되는 관련 정보 공유) 를 열심히 하는 것이 보고서와 발표 및 성적에 직접적인 영향이 있다.

 

·          (A2) What you contributed through this course so far (Q & A and/or In-class)?

·          

·         Ng Zhi Wei Self Introduction / Motivation

·         [Question] Open problem 11 by 박우현

·         Problem 1 by Ng Zhi Wei

·         Problem 2 by Ng Zhi Wei

·         Problem 3 by Ng Zhi Wei

·             Problem 14 by 안성준

·             Problem 15 by 안성준

·         Problem 5 by random_matrix() by Ng Zhi Wei

·         Problem 6 by Ng Zhi Wei

·         Problem 1 by 남상현

·         Day 7 Open Problem 1 by Ng Zhi Wei 응즈웨이 (using while loop) [Comment by: 우건주, 고재윤, 남상현, 윤상수]

·         [News] The Future of Jobs in the Era of AI (인공지능 시대의 진로와 직업)

·         Explained SVD in class (2nd WebEx meeting)

·          

1) 수업을 미리미리 들었고, QnA Discussion이 있을 시, 언제든 참여할 수 있게 복습과 예습을 철저히 하였습니다.

2) 학우님들에게 도움이 될 내용이나, 좋은 아이디어라고 생각되는 solution finalize하여 다른 학우님들께 도움이 되도록 하였습니다.

3) 게시글을 올리고 나서 다른 학우님들이 남겨주시는 comment가 힘이 됨을 느꼈습니다. 그래서 다른 학우님들의 글에 comment를 많이 남기려고 노력했고, 모든 글에 comment를 남기게 된다면 질 낮고 양만 많은 분위기가 조성될 것을 염려해 적당한 양만 남기려고도 노력하였습니다.

매일 Q&A 활동에 열심히 참여하고자 노력하였습니다. 주로 open problem의 해결방안을 제시하고 학우분들과 토론하였으며, 내용을 finalize하고 summary하였습니다. Webex 수업 때에도 자발적으로 발표를 하고 열심히 참여하며 다른 학우분들과 소통하고자 노력하였습니다.

 

 (A3) Number of Final OK by SGLee Problems (and/or Completed Discussion/Question) in QnA that your name is included. 

​Number : 24

 

(B)Quality of Your Participation: 

·         (B1) What did you especially remember while you are doing the first part 1, 2, 3, (4, 5-Final).

·         Sketch graphs of polynomial functions

·         Make a composite function

·         Find solutions of equations

·         Perform matrix operation by applying operations on vectors and matrices

·         Check inverse and transpose of a matrix

·         Find inner product and angle of two vectors

·         Find system of linear equations

·         Find SVD of a matrix

·         Find derivative of a differentiable function using while loop

·         Find local maximum, local minimum, absolute maximum, and absolute minimum of a function

·          

·         Final OK 받은 글 중 제목에 내 이름이 있는 글 -> 21

·         Final OK를 받지 않은 글 중 내가 활동에 참여한 QnA

·                                                             ->20

·         ** 미적분학 part는 아직 final OK를 받지 못함

 

·         Final OK by SGLee [Finalized by 신유정, 남상현, 고재윤, 이규식] Open Problem 12

·         작성자 : 남상현(2018####17)작성일 : 12 17일 오후 11:59

·         조회수 : 26

·         Final OK by SGLee [Finalized by 신유정, 남상현, 고재윤, 이규식] Open Problem 12

·         아래 코드에서 해가 무수히 많을 때와 해가 없을 때를 고려하여 보완해 보았습니다.

·         우선 해가 무수히 많을 때, 첨가 행렬의 마지막 행은 0이 됩니다.

·         또한 해가 존재하지 않을 때에는, 첨가 행렬의 마지막 행에서 마지막 열을 제외한 성분이 모두 0이 됩니다.

·         이를 고려하여 if문을 통해 코드를 보완해 보았습니다.

·         텍스트이(가) 표시된 사진

자동 생성된 설명

이 때 실행 결과는 3가지로 나뉘어집니다.

1. 해가 무한히 많을 때

테이블이(가) 표시된 사진

자동 생성된 설명

2. 해가 존재하지 않을 때

텍스트이(가) 표시된 사진

자동 생성된 설명

3. 해가 하나만 존재할 때

텍스트이(가) 표시된 사진

자동 생성된 설명

2016 신유정 open problem12

작성자 : 신유정(2016####90)작성일 : 12 17일 오후 8:35

조회수 : 17

손목시계, 시계, 게이지이(가) 표시된 사진

자동 생성된 설명

BigBook-LinearAlgebra-2015.pdf 50P  예제2

A = matrix([[1, 1, 2], [1, 2, 3], [1, 1, -5]])  # coefficient matrix 
b = vector([-3, -4, -6])  # vector
print("x =", A.solve_right(b))

먼저 matrix를 만들고 그에 상응하는 vector 를 만들어 줍니다.

solve_right함수를 이용해 A,b에 맞는 답을 찾아줍니다

답은

            ('x =', (-17/7, -10/7, 3/7)) 인 거 같습니다.

            혹시 아니라면 알려주시면 감사하겠습니다.

 

2개의 댓글

이상구(LEE SANGGU)12 17일 오후 8:46

신유정 씨, 반가워요. 여기서 질문은 제 문제와 답을 더 업그레이드 시켜주실분? 이렇게 하는 것입니다. 조언은 다음과 같습니다. 1. 예를들어 본인의 전공책에 나오는 4차보다 더 크고 좀 더 복잡한 연립방정식과 해 가 있으면, ... 그 문제를 이렇게 내가 준 코드의 해당 부분을 고쳐서 구한 답이 교재의 답 또는 본인이 손으로 구한 답과 같으면 .. , 내가 앞으로 이런 비슷한 문제는 크기가 아주커도 언제나 이렀게 다 풀어서 정확한 답을 구할 수 있다 라는 자신감을 가지라고 제시한 문제 입니다. 2. 코드를 실행하면서 ... 행렬의 열과 행 배치하는 법, entry 들을 배열 하는 법 등 ... 주의 할점을 저절로 배우는 것 이랍니다. 3. 또 해가 존재하지 않을 때는? 해가 무수히 많을 때는? 어떤 최적해를 구해야 하나 .... 이런것을 생각하는 시간 이랍니다. 5. 아래 QnA 다른 학생 답을 읽고 . . . Fully 이해 했습니다. 감사합니다. 등 코멘트 달면서 ... make up 쉽게 하세요. 7. 그리고 다음 주 화요일 에 보고 ... 내게 질문하시면 추가 조언 줄께요.^^ Good luck.

신유정(2016####90)12 17일 오후 9:14

네 다음 질문에서는 더 보완해서 올려 보겠습니다. 감사합니다!

 댓글

남상현(2018####17)12 18일 오전 1:23

A = matrix([[1, 1, 2], [1, 2, 3], [1, 1, -5]]) # coefficient matrix b = vector([-3, -4, -6]) # vector # 임의의 선형연립방정식에 대한 정의 #A = random_matrix(QQ, 3, 3) #b = random_vector(QQ, 3) Ab = A.augment(b) # 첨가행렬 Ar = Ab.rref() # RREF if (Ar[2] == 0): # RREF rank columns보다 작을 때 print("infinity solutions") print("RREF = ") print(Ab.rref()) elif (A.rref()[2] == 0) : ## A RREF의 마지막 행은 0이지만 첨가행렬의 RREF의 마지막 행은 0이 아닐 때 print("no solution") print("RREF = ") print(Ab.rref()) else : print("x =", A.solve_right(b)) 제가 응용한 코드입니다!

고재윤(2020####97)12 18일 오전 2:44

해의 존재와 관련된 특성을 If 문으로 정말 잘 표현하신거같습니다!! 이해에 큰 도움이 되었습니다. 좋은 글 감사합니다

이상구(LEE SANGGU)12 18일 오전 5:28

Wonderful job. Final OK by SGLee

이규식(2018####70)12 18일 오후 10:00

이해에 도움이 되었습니다. 감사합니다.

(B2) What did you learn or feel while learning Basic Math4AI (Action Learning/PBL) with your classmates?

I think it is a good way to learn when we share our answer in QnA and discuss and ask questions so we get a better understanding on the concepts and also see how people approach the questions.

어렸을 때부터 반복된 문제풀이를 하며 혼자 하는 학습에 익숙해져 있었기 때문에, Discussion 위주의 수업에 적응하는 첫날, 둘째날에는 꽤 어려움을 겪었습니다. 하지만 글을 쓸 때마다 교수님께서 응원, 칭찬해주시고, 학우님들의 좋은 반응이 있었기 때문에 뿌듯함을 느꼈습니다. 이제는 글을 작성하고 다른 학우님들께서 풀이한 내용에 Discussion 하는 것이 즐겁게 느껴집니다. 더 도움 되고, 새로운 내용에 대해 공유하고 싶은 마음에 같은 문제를 다르게 생각해보는 등 탐구적인 자세로 문제를 들여다 보는 습관이 조금 들여진 것 같습니다. 또한, 많은 사람들의 관점에 대해서 생각해 볼 수 있다는 점에서 이 Discussion위주의 수업에 만족하고 있습니다. 제가 생각하지 못했던 내용에 대해서 글을 작성해 주시는 학우님, 제가 썼던 내용을 더 간결하고 이해하기 쉽게 글을 작성해주시는 학우님, 참신한 예시를들어 이해를 도와주시는 학우님 등 여러 학우님들 덕분에 혼자서 하는 문제 풀이가 실력 향상의 유일한 방법은 아니구나 라는 것을 느끼고 있습니다.

수업 방식 외에, 수업 내용에도 굉장히 만족하고 있습니다. 다른 과목들처럼 단순히 공식을 외우고, 계산기를 두드려가며 풀이를 하는 대신, 코딩을 활용하니 식의 의미 등 수학 자체에 대해 생각해보는 시간이 더 많아졌다고 생각합니다. QnA 게시판의 자기소개에서 말씀드렸듯이, 저는 인공지능과 수학 사이의 연관성을 찾고 싶어 이 강좌를 수강 신청하게 되었다고 말씀드렸는데, 그 수강 목적을 성취하고 있는 것 같아 뿌듯함을 느끼고 있습니다. 이렇게 좋은 수업 방식으로 진행해 주시고, Discussion의 활성화를 위해 QnA 게시판에 자주 들러주시는 교수님께 감사하며 수업을 듣고 있습니다. 이 강좌를 모두 수료하고 나면 정말 많은 배움을 얻을 수 있을 것 같습니다.

 

평소에 코딩 및 인공지능에 관심이 많아 관련된 과목을 수강하고자 찾고 있던 와중에 계절학기 때 Basic Mathematics for AI라는 좋은 과목을 수강할 기회를 얻게 되어 매우 기뻤으며 누구보다 열심히 수강하고자 하였습니다. 처음에는 생각보다 포괄적이고 다양한 분야의 수학을 배우는 데 있어서 어려움을 겪었습니다. 하지만, 학우분들 그리고 교수님과의 소통 및 상호작용을 통해 차근차근 학습해 나가며 점차 부족한 부분을 채워나가고 이해할 수 있게 되었습니다. 평소에 저는 소통과 토론을 통해 학습을 하는 것보다 혼자 힘으로 독학하고 이해하곤 하였습니다. 그러나 이번 강좌를 수강하면서 다른 학우들과 토론하고 함께 학습해 나가면서 개념부터 차근차근 발전해 나가는 활동에 흥미를 갖게 되었습니다. 저 뿐만 아니라 다른 학우분들 역시 Q&A활동에 열심히 참여해주시고 도와주신 덕분에 선형대수학, 미적분 등 다양한 학문을 좀 더 깊게 배울 수 있었고, 저 역시 그만큼 활발하게 활동하고, 부족한 점이 있으면 도우면서 열심히 참여하고자 합니다.

​(B3) Write names of YOUR PBL Team members and Team Leader.

나는 아래의 내용 중 (붉은 색 내용) 함수, 벡터, 행렬, 텐서, 노름, 내적, 선형연립방정식, 가우스 소거법, RREF, 첨가행렬, 정사영, 최소제곱문제, LU분해, QR 분해, SVD, 도함수, 미분, 극대, 극소, 최대, 최소, 경사하강법, 학습률, 그래디언트, 의 개념을 이해하고, 설명할 수 있으며, (간단한 것은 손으로, 복잡한 것은 Sage/R/python 등의 도구를 이용하여) 계산하여 그 의미를 설명할 수 있다.

 

나는 아래의 내용 중 함수, 벡터, 행렬, 텐서, 노름, 내적, 선형연립방정식, RREF, 첨가행렬, 정사영, 최소제곱문제, LU분해, QR분해, SVD, 도함수, 미분, 극대, 극소, 최대, 최소, 경사하강법, 학습률, 그래디언트, 순열, 조합, 베이즈 정리, 확률변수, 확률분포의 개념을 이해하고, 설명할 수 있으며, (간단한 것은 손으로, 복잡한 것은 Sage/R/python 등의 도구를 이용하여) 계산하여 그 의미를 설명할 수 있다.

텍스트 상자:  REF, RREF, SVD Decomp., LU Decomp., QR Decomp., Euclidean Distance, Norm, Vector-Plane Projection, Determinants, Limits, Differentiation, Curve-Fitting Solution, Least-Squares Solution, Matrix and Vector Actions (multiplication, translation, inversion, transposition, scalar multiplication, etc.), Gradient Descent Method, Factorial, Permutations, Combinations, Probability, Bayes’ Theorem, Integration, Expectation, Variance, Standard Deviation, Standardized Random Variable, Different Probability
Distributions, Covariance, Covariance Matrix, Correlation Coefficient, Principal Components, Principal Component Analysis, ANN, Backpropagation, Activation Function Output …


... 함수, 벡터, 행렬, 텐서, 노름, 내적, 선형연립방정식, 가우스 소거법, RREF, 첨가행렬, 정사영, 최소제곱문제, LU분해, QR 분해, SVD, 도함수, 미분, 극대, 극소, 최대, 최소, 경사하강법, 학습률, 그래디언트, 순열, 조합, 베이즈 정리, 확률변수, 확률분포, 기댓값, 분산, 표준편차, 공분산, 상관계수, 주성분 분석(PCA), 인공신경망, 오차역전파법(Back propagation), MNIST ...

 

Self Evaluation (20 points)

Subject

Basic Math4AI

Major

Software

Name/ID

Ng Zhi Wei 2019

Year

3

Learning

contents

 

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?

Yes

 

2. What kind of learning materials have you used to study?

The lecture videos, QnA board, and online resources, lecture notes

 

3. What did you learn through the learning activities of this course?

As I do the open problems, I learn the concepts and how to approach the questions in Sage.

 

4. What have you learned from the other colleagues?

From the QnA board, I learn a lot from how people see the questions differently and how people approach the questions.

 

5. Self-Evaluation for Q/A Activities

My score: **

I think I contributed a fair amount in terms of giving my answers, asking questions, and acknowledge other people answers when I understand them.

 

 

 

Self Evaluation 1. (개인 성찰 노트) (20)

Class

인공지능을 위한 기초수학 입문

Name/이름

고재윤

ID

2020

학습한 내용

선형대수학, 미분적분학

자기 점검표

활동(Activity)

Excellent

Good

Fair

1.

나는 개인학습을 할 때 다양한 학습 자료를 사용하였다.

O

2.

나는 새로운 정보와 지식제공에 기여하였다.

O

3.

나는 토의에 적극적으로 참여하였고, 토의의 촉진과 이해를 위한 적절한 질문을 많이 제공하였다.

O

4.

나는 우리 반이 원활한 학습활동을 하는데 기여하였다.

O

 

[성찰노트]

※ 다음 항목들을 고려하여 자신의 학습과정과 내용을 기록하시오.

1. 나는 지금 수행되고 있는 학습의 진행내용을 이해하고 있는가?

 

선형대수학에 대한 기초적 내용 : 선형대수학에 대한 내용을 얕게 알고 있었기 때문에 수업을 따라가는데에 큰 어려움이 있지는 않았습니다. SVD를 이해하기 위한 선형대수학의 기본적 내용을 배우고, Sage를 통해 그 계산 및 고찰을 더 깊게 할 수 있게 되었습니다. 또한 복잡한 matrix sage로 쉽게 연산하다보니 자신감도 올라갔다고 생각합니다.

 

SVD: SVD를 비롯해 여러 decomposition 방법이 익숙하지 않았기 때문에, 복습을 여러번 하며 완전히 이해하였습니다. SVD와 관련된 Open Problem 16에 대한 학우님들의 풀이를 보고, 제가 직접 Finalize 해보고, 그것을 다시 정리해주신 다른 학우님의 게시글을 보고 하며 SVD의 내용을 더 깊이있게 이해할 수 있었습니다.

 

미분적분학에 대한 기초적 내용: 예전에 배웠던 미분적분학 내용이 기억났기 때문에 수업을 따라가는데 큰 어려움이 있지는 않았습니다. 미분적분학의 기초적 내용에 대해서는 거의 완벽하게 알고 있다고 생각했었는데, Fermats Theorm

처음 들어보는 것 같은 내용을 보고 반성하고 복습을 철저히 하게 되었습니다. 그 결과 미분적분학에 대한 기초적 내용을 잘 이해하였습니다.

 

GDM: 미분적분학의 기초적 내용에 대해 어느정도 알고 있었기 때문에 GDM을 이해하는데 어렵지 않았습니다. sage를 통해 함수, tolerance, learnin rate가 주어진다면 GDM을 활용할 수 있게 되었습니다. 또한 도함수를 구해 extreme point를 구하는 방법보다 GDM을 이용하여 구하는 방법이 더 시간을 아낄 수 있겠다는 내용에 대해서도 생각해보게 되었습니다.

2. 어떤 방법을 통해서 학습하였는가? (학습방법 및 자료)

 

예습: 예습의 학습적 효율성에 대해 체감하고 있기 때문에, 이 강좌 역시 예습을 철저히 하였습니다. 교수님께서 올려주신 강의 자료를 한 번 읽어보았고, 몇 번 읽어도 이해가 잘 되지 않는 부분은 가벼운 구글링을 통해 강의를 듣기 전에 내용에 대한 어느 정도의 이해를 하려고 노력하였습니다.

 

강의 수강: 예습을 진행한 후 강의를 들으니 교수님께서 하신 말씀 대부분을 이해할 수 있게 되었습니다. 교수님께서 하신 말씀 중 강의 자료에 없는 내용은 필기하며 들었습니다.

 

복습: 강의 자료, 강의를 들으며 필기한 내용을 두 세 번 읽으며 내용에 대한 확실한 이해를 위해 복습하였습니다. 그 후 Open Problem들을 종이와 sage를 이용하여 풀이하고, 그 중 몇몇 problem들은 QnA 게시판에 게시하였습니다. 이해가 잘 되지 않는 problem의 경우에는 QnA 게시판에 다른 학우님들이 올린 solution을 보며 이해를 하려고 노력하였습니다.

 

Discussion: Open problem을 이해, 풀이한 후 QnA 게시판을 돌아다니며 다른 학우님들의 풀이와 생각을 읽고 comment를 남기거나, Finalize하는 활동을 하였습니다.

 

Office Hour: 지금까지 있었던 두 번의 office hour을 모두 참가하였습니다. 첫 번째 office hour에서는 수업 진행 방식에 대해 경청하며 들었고, 두 번째 office hour에서는 교수님께서 제게 질문 하셨을 때 아는 내용을 정리하여 발표하고, 그 내용을 요약하여 webex 채팅방에 올렸습니다. Office hour에서 제가 실시간으로 발표하는 것도 좋은 경험이었지만, 교수님께서 중요하다고 생각하시는 부분을 한 번 더 복습해주셔서 좋았다고 생각합니다.

 

3. 본 강좌의 학습활동을 통하여 무엇을 배웠나?

 

선형대수학과 미적분학에 대한 기초적 내용과 인공지능에서의 활용: 고등학교, 대학교에서 배운 내용을 복습하고, 상기시키면서 그 기초적 내용을 더 탄탄히 다지게 된 것 같습니다.

 

Sage 활용의 중요성: 코딩이 수학을 배우는데 강력한 도구라는 것을 느꼈습니다. sage를 통해 복잡한 계산이나 그래프도 쉽게 계산하며 자신감도 상승했다고 느꼈고, Discussion의 질도 올라갔다고 생각합니다. 이렇게 sage가 이번 강좌를 진행하고 이해하는데 큰 도움이 되었기 때문에 sage 활용의 중요성에 대해 배웠다고 생각합니다.

 

학우님들과의 소통, 그것에 대한 중요성: 복습, 강의 듣기, 예습만으로는 얻을 수 없는 학습 효과를 체감했다고 생각합니다. 같은 Open Problem에 대해서 창의적으로 다르게 풀이하는 것을 보았을 때, 더 깊이있는 내용으로 Finalize 하신 내용을 보았을 때 QnA 게시판 활용 즉 소통의 중요성을 배웠다는 생각이 들었습니다.

4. 다른 동료들로부터 무엇을 배웠는가?

 

첫 번째로는 자신감입니다. 제가 소심한 성격이었기 때문에 계절 학기가 진행되는 초반에는, QnA 게시판에 글을 쓰는 것에 적지 않은 부담감을 느꼈습니다. 하지만 여러 학우님들이 자신의 생각을 자유롭게 표현하시는 것을 보고 저도 자신감을 가지고 제 생각을 공유하고, 토론할 수 있게 되었다고 생각합니다.

 

두 번째는 창의성입니다. 특히 Open Problem, Distance Similarity Cosine Similarity를 활용할 수 있는 예시를 생각해 보는 문제에 대한 학우님들의 풀이에서 학우님들의 창의성을 느끼고 배울 수 있었습니다. 이런 것들은 제가 혼자서 하는 공부로는 쉽게 접할 수 없는 것들이었기 때문에 좋은 경험이었다고 생각합니다.

 

마지막으로 탐구성입니다. 다른 학우님들께서 Finalize 하신 problem들 중 이분은 이 문제에 대해 꽤 많은 탐구를 하셨구나 라는 생각이 든 글들이 있습니다. 그 글에 대한 내용보다 더 많은 내용을 담기 위해, 학우님들께 도움이 되는 글을 작성하기 위해 Finalize에 신경 더 썼고, 탐구성을 발전시켰다고 생각합니다.

 

5. 새롭게 배운 내용을 실제 생활에 어떻게 적용할 것인가?

 

지금까지 수업 내용을 간단히 정리하면 선형대수학에 대한 기초적 내용과 미적분학에 대한 기초적 내용을 배우고, 배운 내용들을 통해 각각 SVD, GDM을 배웠습니다. 이 중 SVD GDM은 인공지능에 실제 적용될 수 있는 방법들이라고 생각됩니다.

 

SVD GDM을 이용하면 least-squares solution을 구할 수 있습니다. , 여러 데이터들을 학습하여 함수를 만들고 (학습을 하고) 이를 통해 다른 값에 대한 결과값 예측을 할 수 있을 것입니다. 실생활 예를 들자면 음성 인식, 날씨 예측, 주식 그래프 예측 등에 사용될 수 있을 것으로 생각됩니다.

 

GDM을 이용하면 복잡한 함수에서 local maximum, local minimum을 찾아낼 수 있습니다. 원하는 결과값에 대한 함수를 적절히 설정해 둔다면 방대한 양의 데이터 field에서 원하는 값을 쉽게 찾아낼 수 있을 것입니다. 실생활 예를 들자면 도로 교통량에 따른 길 안내 등에 사용될 수 있을 것으로 생각됩니다.

 

6. QnA 활동에서 자신의 역할과 기여도에 대한 평가(자신의 활동에 점수를 주고 그 이유를 적으세요.) :

- 9/10 .

많은 comment finalize를 하려고 노력했고, Open Problem을 먼저 게시하는 점에서는 높은 점수를 받을만 하다고 생각하지만, Question을 많이 하지 않은 점, 극초반 활동이 조금 저조한 점이 감점의 요인이 될 수 있다고 생각하기 때문에 10점 만점 중 9점을 주었습니다.

 

 

7. 다른 학생에 대한 평가

QnA 게시판을 활용하는 이번 수업의 특성상, 전체적인 학우님들의 활동량이 저조하다면 학습 효율이 높지 않을 수 있지만, 감사하게도 대부분의 학우님들이 활동을 활발히 해주셔서 많은 내용을 배울 수 있었습니다. 특히 제가 작성한 글을 자세히 읽어주시고 질문을 남겨주시는 이예진 학우님, 시행착오의 결과를 정리하여 다시 Finalize 하신 정운섭 학우님, 제가 Finalize하신 내용을 알기 쉽게 정리해주시고, 그에 해당하는 코드를 짜신 남상현 학우님이 가장 기억에 남고, 저의 배움에 큰 도움을 주셨다고 생각합니다.

 

 

Self-Evaluation 2

Subject

Basic Math4AI

Major

Software

Name/ID

Ng Zhi Wei 2019

 

 

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

I am very happy with the way this class is conducted. It is rather new to me but I think it is effective learning.

 

 

Sorrow according to the Self-Evaluation

The QnA board is a little messy. Rather than using the QnA board, I think using the discussion board and splitting the discussion board into the different days will be better.

 

Self Evaluation (20 points)

Subject

Basic Math4AI

Major

전자전기공학과

Name/ID

남상현

Year

3

Learning

contents

선형대수학, 미분적분학(행렬, 도함수, 통계)

Self-Checking

Activity

Excellent

Good

Fair

1.

I have contributed to generate ideas and facts needed to resolve the issue.

V

 

 

2.

I proposed learning issues associated with learning.

V

 

 

3.

When I study alone, I used a variety of learning materials.

V

 

 

4.

I provide new information and knowledge in this class.

V

 

 

5.

I was actively involved in the discussions. And I provided a lot of questions in order to understand these discussions.

V

 

 

6.

I have made a contribution to the learning activities for our class.

V

 

 

※ Please record the following items by considering your learning process.

1. Do you understand the most of contents of this learning process?

2년 전에 선형대수학을 수강하였기 때문에 어느 정도 이해를 빠르게 하고 있으며, 이해하기 힘든 부분은 Q&A 및 인터넷 검색을 통해 이해를 도왔습니다. 특히 Q&A에서 여러 학우들 덕분에 학습 내용을 쉽고 자세하게 이해할 수 있었습니다.

 

2. What kind of learning materials have you used to study?

주로 강의를 듣고 교재를 읽으면서 학습을 진행하였고, 이해가 되지 않는 부분은 다시 한 번 반복하여 들으며 학습하였습니다. 또한 수업자료실에 올려주신 보충 자료들도 보면서 다양한 방법으로 이해하고 학습하고자 하였습니다. 또한 Q&A 활동을 통해 여러 open problem들을 풀어보고 다른 학우들의 글을 보며 다양한 관점으로 문제를 접근하고 개념을 빈틈없이 이해하였습니다.

 

3. What did you learn through the learning activities of this course?

인공지능 학문의 기초가 되는 선형대수학과 미적분학, 특히 행렬과 도함수 그리고 통계에 대해 집중적으로 배웠습니다. 특히 SVD에 관한 자세한 개념과 이에 대한 응용을 처음 접해보면서 흥미를 느낄 수 있었습니다. 또한 매일 같이 해당 과목을 수강하고 공부하며 Q&A에 참여하며 이해를 키워나가며 꾸준함의 중요성 역시 깨닫게 되었습니다.

 

4. What have you learned from the other colleagues?

문의 게시판에서 Q&A에 참여하면서 알지 못했거나 이해하기 힘들었던 여러 개념들에 대해 추가적인 도움을 받을 수 있었습니다. 또한 지속적으로 수강 인원들에게 도움을 줄 수 있는 좋은 글들을 쓰는 학우분들을 보며 저 역시 열심히 참여하고자 다짐하게 되는 계기가 되었습니다. 특히 각자 다른 생각과 관점을 갖고 문제에 접근하면서 다양한 시각으로 문제를 볼 수 있는 능력을 기르게 되었습니다.

 

5. Self-Evaluation for Q/A Activities

My score: 95

 - 다른 학생들의 여러 글들을 모두 보고 이해하였으며, 이해하고 보고 느낀 점을 코멘트하며 활동에 성실히 참여하였습니다. 또한 학우분들께 제가 이해한 부분에 대해 도움을 드리고자 주도적으로 문제를 해결하고 의견을 표출하였습니다. 특히 여러 개념과 문제들을 finalize하며 다양한 관점으로 문제를 바라보고 해결하는데 열심히 참여하였습니다.

- 하지만, 좀 더 활발하게 참여하지 않은 아쉬움이 있고, 이후에는 더 열정적으로 참여하여 Final PBL Report에는 스스로를 100점으로 평가하고자 95점이라는 점수를 주게 되었습니다.

 

6. Evaluation for other students

다른 학우분들 역시 저처럼 유사한 전공을 가진 학생들의 경우에는 비교적 익숙하실 것이고, 또 몇몇 학우분들은 다른 분야를 전공하시기 때문에 어느 정도 익숙하지 않은 부분들이 있으실 거라고 생각합니다. 그럼에도, 모두가 힘을 합쳐 다 함께 발전하고자 하는 느낌을 Q&A를 통해 많이 느낄 수 있었습니다. 많은 학생들이 활동에 참여하여 인공지능에 관한 기초수학을 이해하고자 노력하고 있고, 덕분에 모두 좋은 결과를 만들어낼 수 있을 거라고 생각합니다.

 


Self-Evaluation 2

Subject

Basic Math4AI

Major

전자전기공학과

Name/ID

남상현/2018313417

 

 

Evaluation Items

Strongly disagree

Disagree

Mostly disagree

Mostly agree

Agree

Strongly agree

1. I participated actively in both, online and offline classes.

 

 

 

 

 

V

2. I participated actively on a Q&A activity.

 

 

 

 

V

    

3. My question and replies made on Q&A are relevant.

 

 

 

 

V

 

                            

4. Information provided by my activity was useful for other students in the class.

 

 

 

 

V

   

5. I enthusiastically took into the consideration other students’ opinions or point of view.

 

 

 

 

 

V

   

6. I contributed to class by participating on Q&A discussions.

 

 

 

 

V

    

7. I am enthusiastic about taking other class with the same students I am taking Discrete Mathematics.

 

 

 

 

V

[Opinion]

Satisfaction according to the Self-Evaluation

우선 9일간 가장 만족스러웠던 것은 활동에 꾸준히 참여했다는 점입니다. 매일 오전에 강의를 듣고 이해하였으며, 이해한 직후 Q&A 활동에 열심히 참여하며 꾸준한 태도를 보였습니다. 덕분에 저 스스로도 많이 발전한 모습을 보였으며, 학우분들께도 도움을 주는 등 현재의 활발한 Q&A 활동에 어느정도 보탬이 되었다고 생각합니다. 또한 저만의 이해와 판단에 갇히지 않고 다른 학우분들의 의견을 존중하고 수렴하고자 노력하였으며, 서로 다른 방법 및 시각에서 해결한 부분을 수렴하고 정리하였습니다.

 

Sorrow according to the Self-Evaluation

아쉬운 점은 없지만, 지금보다도 더 노력하고 다양한 시각을 통해 이해하여 보다 더 수준 높고 활발한 모두의 Q&A 게시판을 만들고 싶습니다.

 

Self Evaluation 2. (개인 성찰 노트 2)

과 목 명

인공지능을 위한 기초수학 입문

이 름

고재윤

ID

2020313997

평가항목

전혀

아니다

아니다

약간

아니다

약간

그렇다

그렇다

매우

그렇다

1.

온라인-오프라인 출석을 규칙적으로 하였다.

O

2.

QnA에 적극적으로 참여하였다.

O

3.

QnA 내용에 적합한 질문과 응답을 하였다.

O

4.

동료에게 도움이 되는 지식과 정보를 제공하였다.

O

5.

다른 동료의 의견을 존중하였다.

O

6.

QnA 운영 및 의견수렴과정에 긍정적으로 기여하였다.

O

7.

이번 강좌의 동료와 다른 수업도 듣고 싶다.

O

[의견]

 

▶ 자체평가에 따른 잘한 점

QnA 게시판에 글을 올리고, Discussion 하는 과정을 반복하면서 토론하며 Finalize 하는 것에 재미를 느껴 QnA 게시판 활동을 꾸준히 한 점이 잘한 점이라고 생각합니다.

 

계절 학기 수업의 특성상 한 주에 다뤄야 할 내용을 하루만에 성취해야 했기에 시간이 부족할 수 있다는 것을 미리 예상했습니다. 그래서 2일치, 3일치 강의를 몰아서 들음으로써, 그에 대한 개념 복습이나 QnA 게시판 활동 시간을 늘리는 것이 좋겠다고 생각하고 그렇게 행동하였습니다. 지금 중간 평가를 해보며 생각해보니 이렇게 한 덕분에 선형대수학, 미적분학에 대해 더 깊이 생각하고 토론할 수 있게 된 거 같아 잘한 점으로 생각됩니다.

 

수업의 내용 중 Sage를 이용하는 부분이 많았기 때문에 수학에 대한 복습 뿐만 아니라, 파이썬에 대한 기초적인 공부, Sage 명령어를 정리하여 Finalize한 학우님의 글 등을 찾아 보며 코딩에 대한 내용도 공부하였습니다. 코딩 공부를 통해 더 간편한 코드를 찾거나 강의에 있는 코드에 대한 이해도가 높아졌다고 생각하기 때문에 잘한 점이라고 생각됩니다.

 

 

▶ 자체평가에 따른 아쉬운 점

 

QnA에 적합한 질문과 응답을 하였는지, 동료에게 도움이 되는 지식과 정보를 제공하였는지, QnA 운영 및 의견수렴 과정에 긍정적으로 참여하였는지는 객관적으로 판단하기 어려웠습니다. 제 나름대로 학우님들께 도움이 될만한 내용으로 활동하였다고 생각하기 때문에 ‘그렇다’ 에 부여했지만, 이 문항에 확신하지 못하는 것을 보아, 제가 더 공부하고 생각을 발전시켜 확신을 가질만한 내용에 대해 토론해야겠다는 생각이 들었습니다. 이 강좌의 남은 일 수 동안 더 열심히 참여하는 학생이 되도록 하겠습니다.

 

 

Self-Evaluation 3

Subject

Basic Math4AI

Colleague’s name

고재윤

Name of evaluator

남상현

Evaluation Items

Strongly disagree

Disagree

Mostly disagree

Mostly agree

Agree

Strongly agree

1. I participated actively in both, online and offline classes.

 

 

 

 

 

V

2. I participated actively on a Q&A activity.

 

 

 

 

V

    

3. My question and replies made on Q&A are relevant.

 

 

 

 

V

                            

4. Information provided by my activity was useful for other students in the class.

 

 

 

 

V

   

5. I enthusiastically took into the consideration other students’ opinions or point of view.

 

 

 

 

 

V

   

6. I contributed to class by participating on Q&A discussions.

 

 

 

 

V

    

7. I am enthusiastic about taking other class with the same students I am taking Discrete Mathematics.

 

 

 

 

V

[Opinion]

Satisfaction according to the Self-Evaluation

항상 꾸준히 Q&A 활동에 참여하였으며, 항상 다양한 방법을 통해 문제를 해결하고자 하며 학우분들과 열심히 소통하는 모습이 매우 인상 깊었습니다. 또한 직접 단원 내용을 요약하기도 하며 다른 학우분들을 열심히 도우려 하는 모습 또한 좋은 점수를 주고 싶습니다.

Sorrow according to the Self-Evaluation

요약본을 수기로 작성하여 사진으로 찍어 올리다 보니 가독성이 다소 떨어졌던 부분이 아쉽습니다.

 

Self Evaluation 3. (개인 성찰 노트 3)

 

 

 

 

 

Action Learning Class 반응평가(학생용)

* 1~16 평가내용을 읽고 「매우긍정~매우부정」 중 하나에 V 표시하시오. 그리고 5, 12, 14번은 연결문항에 답하시오.

 

* 5, 12, 14 연결문항

5-1. 본 수업을 통해 자신이 습득한 자기 주도적 학습 기술을 구체적으로 설명하시오.

수업 참여 활동에 매겨지는 점수는 QnA 게시판의 활동이었기 때문에 참여 점수를 받기 위해서는 단순히 강의를 듣는 것뿐만 아니라 문제를 풀고, 복습을 통해 그 개념을 잘 다룰 수 있어야 했습니다. 강의 자료를 계속해서 읽고, 헷갈리는 부분은 다른 교과서나 인터넷을 통해 찾아보는 과정을 통해 자기 주도적 학습 기술을 습득했다고 생각합니다. , QnA 게시판 활동을 하면서 다른 학우님들의 풀이법이나 코멘트에 대해 생각해보면서 더 탐구적인 자세를 가지게 되었다고 생각합니다. 수업 방식에 어느정도 익숙해진 지금, 스스로 공부하면서도 탐구적인 자세를 가지게 되어 이 수업을 수강하기 전보다 더 질 높고 가치 있는 학습법을 얻게 되었다고 생각합니다.

 

12-1. 본 수업과정에서 자신이 참여한 활발한 의사소통을 구체적으로 설명하시오.

QnA 게시판 활동을 최대한 많이 하려고 노력하였습니다. 매일매일 수업 진도가 나가는 계절학기 수업인 만큼, 매일매일 QnA 게시판을 확인하면서 모든 글을 읽었고, 제가 도움을 느낀 글들에는 comment를 남기려고 노력했습니다. 또한 정말 좋은 주제를 발견하거나 다른 학우님들께서 아셨으면 좋을 법한 내용들은 자료조사를 더 하고, 깊이 생각해보면서 Finalize 하려고 노력하였습니다.

 

14-1. 우리 방식의 수업에서 효과적이었다고 생각되는 부분을 구체적으로 설명하시.

QnA 게시판 활동을 중요하게 여기는 점이 학습 효과에 좋은 영향을 미쳤다고 생각합니다. 앞서 말했듯이 QnA 게시판 활동을 하려면 미리 공부를 어느 정도 해야 했다는 점이 학습 동기를 불러 일으키는 요인 중 하나라고 생각됩니다. 또한 대학을 4학기 다니는 동안 다른 학우님들과의 생각을 나누는 수업은 처음이었는데, 각자 다른 생각을 공유하면서 보완하고, 발전시킬 수 있다는 점에서 좋은 학습 효과를 불러일으킨 것 같습니다. 마지막으로, PBL 리포트를 정리하면서 그동안 배웠던 내용을 복습하고 활동했던 내용들을 정리하는 과정도 효과적이라고 생각합니다. 다시 한 번 배웠던 내용들을 살펴보면서, 그동안 수업을 진행하며 습득했던 것들이 정말 저의 것이 되는 느낌을 받았습니다.

 

20. 이 수업에서 보완해야 할 점은 무엇이라고 생각합니까?

저는 계절 학기로 이 수업을 듣고 있는 학생입니다. 저는 선형대수학, 미분적분학에 대한 기본 지식은 이미 조금이나마 알고 있던 상태였기 때문에 수업 진행 방식을 따라가는데 큰 어려움은 없었습니다. 다만 이 내용들에 대한 기본 지식이 전혀 없는 학생이나 수학과 큰 접점이 없는 학과 학생들은 내용을 이해하고, discussion에 임하기까지 시간이 필요하다고 생각되는데, 계절 학기 수업 방식은 이 학생들에게 조금 힘든 방식이라고 생각됩니다. 일주일의 시간이 있는 일반적인 학기와 다르게 계절 학기는 하루의 시간밖에 없기 때문입니다. 물론 이 문제점은 교수님께서 해결하기 어려우신 문제라고 생각되지만, 이 문제 때문에 더 많은 학우님들의 목소리를 들을 수 없는 것 같아서 아쉬움이 조금 남습니다.

 

 

Self-Evaluation 4

PBL Participation Part (30 points) ß- Most important part

Number of your QnA participation up to the Due date. ( ** total entries )

[Yours to be added]  -- 아래 공간에 여러분이 QnA 에 공개하여 답을 얻고 이해하였고, 중간/기말에 모아서 발표 할 수 있는 것들은 모두 모아서 윤문한 후 각 문제에 코멘트를 달아서 하나의 파일로 과제함에 전체 하나의 차일을 제출하시면 됩니다.

남상현 자기소개/수강동기

작성자 : 남상현(2018####17)작성일 : 12 14일 오전 10:12

조회수 : 12

안녕하십니까? 전자전기공학과 18학번 남상현입니다.

나이는 23살이고, 현재 2학년 2학기를 마친 상황입니다.

취미는 당구, 볼링, 헬스와 같은 운동이고, 좋아하는 과목은 수학, 물리, 정보입니다.



최근 세부 전공과 관련해서 딥러닝에 무척 관심이 많아 다음 학기 때 관련된 수업을 수강하려 했는데,

계절학기에 Basic Mathematics for Artificial Intelligence가 개설된 것을 보고 수강하게 되었습니다.

선형대수학, 미적분 등 수학 역시 매우 좋아하기 때문에 매우 흥미롭고 유익한 기회를 갖게 되어 너무 좋습니다.

2개의 댓글

이상구(LEE SANGGU)12 14일 오전 11:08

Very Good^^ SKKU자연대이상구Math 님이 모두에게: 오전 9:57 Hi. 1. Please leave you name in this chatting room for your attendance check^^ Thanks^^ … 이우흠-2018313775 님이 모두에게: 오전 10:52 Sharing quesions and answers, checking and finalise others' answers below it We can use any computer languages 45 인유진 님이 모두에게: 오전 10:52 전공에 관련없이 참여도가 중요하고 게시판을 많이 이용하라고 하셨습니다.

이상구(LEE SANGGU)12 17일 오전 6:24

I will help you to learn something valuable in this class. 1. Ask mea lot. 2. I will give a to one Best international sutudent and 신입생 중 1등과 각 단과대 1등은 모두 A 주려고 합니다^^ Good luck.

 

Final OK by SGLee [Finalized by 이예진] Dec. 14th, Summary of 1st WebEx meeting - How this class will proceeds and Who will get A in this class. by 윤상수, 우건주, 김명규, 박우현, 고재윤, 안성준, 김지훈, 도경근, 이규리, 황세진, 응즈웨이, 이예진, 정운섭, 이우흠, 인유진, 김지훈, 신유정, 도경근, 남궁보민, 우건주, 강민지, 남상현, 이우흠, 인유진.

[Finalized by 이예진]   Dec. 14th,  Summary of 1st WebEx meeting - How this class will proceeds and Who will get A in this class.

Math4AI- 1st WebEx face-to face Meeting,

Sylubus-Introduction (2021/12/14) https://youtu.be/ZthLL0lOWjQ (60 min)

2021-12-14-Math4AI-WebEx (Image), Ms. Lee will summarize today's meeting.

2021-12-14-Math4AI-WebEx (Image),  Ms. Lee will summarize today's meeting. 

텍스트, 다른, 스크린샷, 같은이(가) 표시된 사진

자동 생성된 설명



1. Contents of the lecture

First, the contents we will learn through this lecture are as follows. The purpose of the lecture is to systematize and internalize the following contents so that they can explain what they understand in their own language from beginners to experts.

1. SVD(Singular Value Decomposition)

2. GDM(Gradient Descent Method)

3. Data and Covariance Matrix

4. PCA(Principal Components Analysis)

5. Rank Reduction and the role of SVD in PCA

6. BP(Back-propagation) Algorithm in Machine Learning and Artificial Neural Network



2. Emphasis on participation

Participation and discussion are the process of solving the open profile of the following link, uploading it to the QnA bulletin board, and finding the best plan among them. Therefore, there are additional points for the student who solved the open program first and the student who finally came up with the best plan by synthesizing the answers of the students.

https://canvas.skku.edu/courses/26166/discussion_topics/242852

On the QnA bulletin board, you can post any questions about the open program and the contents of the course as well as the answers to the above open program. The quantity and quality of students' answers to this are evaluated by peer evaluation of the PBL report at the end of the semester.



3. Extra smmary of what the professor said during today's real time lecture.

THE FIRST OR THE BEST

It is more important to understand mathematical concepts than to memorize them.

If you don't make a presentation, good grades are hard.

You have to participate in class hard.

For the open problems, the compiler can be Python too. It can be R, Python, or Sage.

It is important to discuss math with each other.

It is important to understand the concept and work hard in class.

If you add the contents of the classmates who gave supplementary explanations to your answers in the pbl report, you will receive good reviews.

There are many classmates with various majors, so if you have any questions, don't hesitate to use Q&A.

Regardless of your major, participation is important and you should use the bulletin board a lot.



***

SKKU자연대이상구Math 님이 모두에게:    오전 9:57
Hi. 1. Please  leave you name in this chatting room for your attendance check^^ Thanks^^

And You better show your face  while we all chat together^^
Attendance check : 윤상수우건주김명규박우현고재윤안성준김지훈, 도경근이규리황세진응즈웨이이예진정운섭, 이우흠, 인유진, ... 



박우현, 수업을 진행하는 동안 python numpy c++ eigen3 라이브러리도 사용하게 되나요?  <-- Yes. Use any language and tool that we can use to solve Problems in the Textbook,

이예진 1. 공지 3의 코딩 과제 제출하기  <-- Good.


김지훈, 암기하는 것 보다 수학적 개념을 이해하는 것이 중요하다.



정운섭, 외우지 않아도 되고 이해하는 게 중요하다고 하셨습니다



신유정 A 받은 학생 중 발표하는 학생은 발표를 잘하면 가산점 있습니다. 



도경근 온라인 수업 참여는 출석 점수에 필수이고, Academic activity (1st 질문, 1st comment, 1st 답변, Finalize 문제+ best 풀이, 강좌에 도움이 되는 관련 정보 공유)   열심히 하는 것이 보고서와 발표 및 성적에 직접적인 영향이 있다.


응즈웨이 For the open problems, the compiler can be Python too. It can be R, Python, or SageMath  <---  <-- Yes. Use any language and tool that we can use to solve Problems in the Textbook,

김명규 수업에 좋은 성적을 얻기 위에서는 첫번째로 참여 하거나 요약해서 best 답변을 하는게 중요하다고 들었습니다온라인 수업 참여는 출석 점수에 필수이고, Academic activity (1st 질문, 1st comment, 1st 답변, Finalize 문제+ best 풀이, 강죄에 도움이 되는 관련 정보 공유)   열심히 하는 것이 보고서와 발표 및 성적에 직접적인 영향이 있다.

박우현, 참여를 얼마나 열정적으로 하는가가 중요한 것 같습니다


황세진발표하고 참여에 최대한 적극적으로 임할것


윤상수수학에 대해 서로 토론하는 것이 중요하다


남궁보민, (계산은 코딩으로 하면되고 그에 사용되는 용어) 개념을 이해하는 것이 중요하므로, 수업 시간에 궁금한 것은 모두 물어보면서 답을 구하는 성실성이 중요하다고 들었습니다


고재윤, Academic activity (1st 질문, 1st comment, 1st 답변, Finalize 문제+ best 풀이, 강좌에 도움이 되는 관련 정보 공유활동을 많이 해야한다고 하셨습니다.


우건주,  pbl 리포트에서 자신의 답안의 미비한 점을 고치고, 난이도를 높이면서, 보충설명을 보태고, Final Comment 를 달아 Finalize 한 학우는 그 내용을 보고서에 담아제출하고, 발표하면 좋은 평가를 받을 것입니다


강민지, 수업을 이해하고, open problem들을 풀고/공유하고/코멘트달고/Finalize 하는 토론 과정을 통해 학습하여 깨우치는 문제들의 양과 질이 ... 평가 기준의 하나이다


안성준처음 올린사람과 정리한 사람에게는 좋은 점수가 주어진다. The First or The Best. 

       Academic activity (1st 질문, 1st comment, 1st 답변, Finalize 문제+ best 풀이, 강죄에 도움이 되는 관련 정보 공유)   열심히 하는 것이 보고서와 발표 및 성적에 직접적인 영향이 있다.



남상현,  qna에서 the first or the best로 서 참여하는 것이 좋은 요소가 된다.


이규리다양한 전공을 가진 학우들이 모여있으므로 ... 교재의  배우는 내용 뿐 아니라 본인 전공에서 Math44AI 와 관련된 어떤 문제라도 궁금한 점들이 생긴다면 주저말고 Q&A를 사용하라고 하셨습니다.


이우흠,  Sharing quesions and answers, checking and finalise others' answers below it  We can use any computer languages



인유진 전공에 관련없이 참여도가 중요하고 게시판을 많이 이용하라고 하셨습니다.



이상입니다. 

comment: 첫 웹엑스 수업을 통해 앞으로 무엇을 배우게 될 것인지, 그리고 어떤 방법으로 평가될 것인지 알아보는 시간을 가졌습니다. 교수님께서 중요하다고 하신 QnA 활동을 중심으로 열심히 활동한 거 같아 뿌듯했습니다.

 

12 14 10am 실시간 강의 요약 - 강의 진행 방식에 대하여

1. 학습 내용

본 강의를 통해 저희가 학습할 내용은 다음과 같습니다강의의 목적은 다음 내용을 자신의 언어로 이해하고 이해한 바를 초급생부터 전문가에게까지 설명할 수 있을 정도로 체계화내재화하는 것입니다.

  1. SVD(Singular Value Decomposition)
  2. GDM(Gradient Descent Method)
  3. Data and Covariance Matrix
  4. PCA(Principal Components Analysis)
  5. Rank Reduction and the role of SVD in PCA
  6. BP(Back-propagation) Algorithm in Machine Learning and Artificial Neural Network



2. 참여 토론

참여토론이란 다음 링크의 open problem을 각각 풀이하여 QnA 게시판에 업로드한 뒤그 중 가장 최적의 안을 찾는 과정입니다따라서 open problem을 가장 먼저 풀이한 학생과최종적으로 수강생들의 답변을 종합하여 최적안을 도출한 학생에게 가산점이 있습니다.

https://canvas.skku.edu/courses/26166/discussion_topics/242852

QnA 게시판에는 위 open problem에 대한 답변 뿐 아니라 open problem, 수강 내용에 대한 어떠한 질의사항도 게시하실 수 있습니다이것에 대한 학생들 답변의 양과 질이 과정이 학기말 PBL 레포트의 동료평가로 평가됩니다.



3. 기타 내용

오늘 화상 강의에서 교수님께서 말씀해주신 기타 내용을 요약하겠습니다

게시글을 올릴 때엔 제목에 영어 제목을 추가할 것(외국인 학생들의 수업 참여를 위해)

THE FIRST OR THE BEST

암기하는 것 보다 수학적 개념을 이해하는 것이 중요하다.

발표를 하지 않으면 좋은 학점은 힘들다.

수업에 열심히 참여해야 한다.

For the open problems, the compiler can be Python too. It can be R, Python, or Sage.

수학에 대해 서로 토론하는 것이 중요하다

개념을 이해하고 수업 시간에 성실히 임하는 게 중요하다.

pbl리포트에서 자신의 답안에 보충설명을 해준 학우들의 내용을 추가하면 좋은 평가를 받을 것이다.

다양한 전공을 가진 학우들이 모여있으므로 궁금한 점들이 생긴다면 주저말고 Q&A를 사용하라.

전공에 관련없이 참여도가 중요하고 게시판을 많이 이용하라고 하셨습니다.



4개의 댓글

이상구(LEE SANGGU)12 14일 오후 1:16

Good job!! You may add the following informations in the above. Others may like add more and Finalize this discussion later Math4AI- 1st WebEx face-to face Meeting, Sylubus-Introduction (2021/12/14) https://youtu.be/ZthLL0lOWjQ (60 min)

이상구(LEE SANGGU)12 14일 오후 1:17

SKKU자연대이상구Math 님이 모두에게: 오전 9:57 Hi. 1. Please leave you name in this chatting room for your attendance check^^ Thanks^^ And You better show your face while we all chat together^^ 윤상수, 우건주, 김명규, 박우현, 고재윤, 안성준, 김지훈, 도경근, 이규리, 황세진, 응즈웨이, 이예진, 정운섭, 이우흠, 인유진,  박우현, 수업을 진행하는 동안 python numpy c++ eigen3 라이브러리도 사용하게 되나요? <-- Yes. Use any language and tool that we can use to solve Problems in the Textbook, 이예진,  1. 공지 3의 코딩 과제 제출하기 <-- Good. 김지훈, 암기하는 것 보다 수학적 개념을 이해하는 것이 중요하다. 정운섭, 외우지 않아도 되고 이해하는 게 중요하다고 하셨습니다. 신유정,  A 받은 학생 중 발표하는 학생은 발표를 잘하면 가산점 있습니다.  도경근,  온라인 수업 참여는 출석 점수에 필수이고, Academic activity (1st 질문, 1st comment, 1st 답변, Finalize 문제+ best 풀이, 강좌에 도움이 되는 관련 정보 공유) 를 열심히 하는 것이 보고서와 발표 및 성적에 직접적인 영향이 있다. 응즈웨이,  For the open problems, the compiler can be Python too. It can be R, Python, or SageMath <--- <-- Yes. Use any language and tool that we can use to solve Problems in the Textbook, 김명규,  수업에 좋은 성적을 얻기 위에서는 첫번째로 참여 하거나 요약해서 best 답변을 하는게 중요하다고 들었습니다. 온라인 수업 참여는 출석 점수에 필수이고, Academic activity (1st 질문, 1st comment, 1st 답변, Finalize 문제+ best 풀이, 강죄에 도움이 되는 관련 정보 공유) 를 열심히 하는 것이 보고서와 발표 및 성적에 직접적인 영향이 있다. 박우현, 참여를 얼마나 열정적으로 하는가가 중요한 것 같습니다 황세진, 발표하고 참여에 최대한 적극적으로 임할것 윤상수, 수학에 대해 서로 토론하는 것이 중요하다  남궁보민, (계산은 코딩으로 하면되고 그에 사용되는 용어) 개념을 이해하는 것이 중요하므로, 수업 시간에 궁금한 것은 모두 물어보면서 답을 구하는 성실성이 중요하다고 들었습니다  고재윤, Academic activity (1st 질문, 1st comment, 1st 답변, Finalize 문제+ best 풀이, 강좌에 도움이 되는 관련 정보 공유) 활동을 많이 해야한다고 하셨습니다. 우건주,  pbl 리포트에서 자신의 답안의 미비한 점을 고치고, 난이도를 높이면서, 보충설명을 보태고, Final Comment 를 달아 Finalize 한 학우는 그 내용을 보고서에 담아제출하고, 발표하면 좋은 평가를 받을 것입니다 강민지, 수업을 이해하고, open problem들을 풀고/공유하고/코멘트달고/Finalize 하는 토론 과정을 통해 학습하여 깨우치는 문제들의 양과 질이 ... 평가 기준의 하나이다. 안성준, 처음 올린사람과 정리한 사람에게는 좋은 점수가 주어진다. The First or The Best.  Academic activity (1st 질문, 1st comment, 1st 답변, Finalize 문제+ best 풀이, 강죄에 도움이 되는 관련 정보 공유) 를 열심히 하는 것이 보고서와 발표 및 성적에 직접적인 영향이 있다. 남상현,  qna에서 the first or the best로 서 참여하는 것이 좋은 요소가 된다.  이규리, 다양한 전공을 가진 학우들이 모여있으므로 ... 교재의 배우는 내용 뿐 아니라 본인 전공에서 Math44AI 와 관련된 어떤 문제라도 궁금한 점들이 생긴다면 주저말고 Q&A를 사용하라고 하셨습니다. 이우흠,  Sharing quesions and answers, checking and finalise others' answers below it We can use any computer languages 인유진,  전공에 관련없이 참여도가 중요하고 게시판을 많이 이용하라고 하셨습니다.  이상입니다. 

이상구(LEE SANGGU)12 17일 오전 6:20

Job well done^^☆☆☆☆ You are all winners~~

이상구(LEE SANGGU)12 17일 오후 10:21

Final OK by SGLee

 

[Final OK by SGLee] [HW2] Problem 5 (Solution) by 강민지, 고재윤, 남상현, 박우현, 이규리, 이규식.[학습요약/코드실습/질문]

작성자 : 강민지(2021####12)작성일 : 12 14일 오전 11:46

조회수 : 59

[Final OK by SGLee]  [HW2] Problem 5 (Solution) by 강민지, 고재윤, 남상현, 박우현, 이규리, 이규식.[학습요약/코드실습/질문]

<sol-equation>

solve function을 사용하며, x에 대한 방정식을 solve(equation, x)형태로 입력한다.



이때 출력값은 [x==]형태로 방정식의 근이 출력된다.



값이 크거나 복잡해 다루기 어려울 경우에는, 그래프를 그려 근사 값을 찾는 것이 더 효율적인 방법이다.



그래프는 저번 강의에서 처럼 plot function을 이용해 그릴 수 있다.



<vector-operations>

데이터를 순서 쌍이나 튜플 형태로 나타낼 수 있을 때, 이는 2차원 혹은 3차원 데이터 (  n 차원 데이터)  coordinate plane이나 coordinate space 위의  (  n 차원 공간안의 한 점으로 (표현할 수있다) 나타낼 수 있다.



이 때 그 point를 다루기 위해서 vector를 사용한다.

vector 이용해   쉽게 시각화   있고, vector 성질을 통해 다양한 계산을   있다.

vector function을 이용하며, vector(좌표)형식으로 입력한다.

(vector print 함수) 혹은 (var plot3d 함수)를 이용해, 이를 시각화 하여 출력값을 볼 수 있다.





1) f(x)=5/1-x^2에 대하여 0.3~3^(1/2)+0.05 까지 붉은 선 그래프를 출력하고, 0.5~3^(1/2)까지 f(x) x축 까지 영역을 색칠하여 출력합니다.

 여기서, sqrt는 제곱근을 계산합니다.



2) f(x)에서 색칠 영역에 대하여 integral 합니다.



3) 해당 근사 값을 5자리 수로 출력합니다.



1) var function을 통해, 'x,y,z' 변수의 3차원 좌표를 설정합니다.



2) (x,-5,5),(y,-5,5),(z,-5,5) 영역 상의 x+y == 5 라는 graph plot3d 함수를 이용해 출력합니다.





Q) 첫 문제에서 simplify.full() 함수는 무엇을 의미할까요?





9개의 댓글

이상구(LEE SANGGU)12 14일 오후 1:41

Q) 첫 문제에서 simplify.full() 함수는 무엇을 의미할까요? A) simplify.full() 명령어는 위의 복잡한 숫자를 ... 보기좋은 모습/이해하기쉬운/이용하기쉬운/간단한 숫자로 표현해 줍니다.

강민지(2021####12)12 14일 오후 1:51

넵 답변 감사합니다!

이상구(LEE SANGGU)12 14일 오후 2:49

Others may try to plot a composite function (아래 코드 등 이용하여 여러분 전공 책에서 보는 더 복잡한 함수의 그래프 를 그려서 공유해 보세요^^) Try #Daniil Kim [GEDN047_I2(이상구)] W1 Assignment # Declaring an equation f = exp(x^3)-x^4 == x^2+x # Solving the equation precise_solution = solve(f, x) # Printing the equation show (f) # Visualizing the graph show (plot(f, (x, -1.3, 1.3))) # Printing the solution show (precise_solution) # That is the right solution, however, we need a numeric value, so now we move on to the approximation: # As we can see, we have three places where our function intersects with the X axis: (approx. -0.9, 0.7 and 1.1) # To make our approximations more precise, we will zoom in the approximated points by reducing the limit values # Approximating -0.9: show (plot(f, (x, -0.9, -0.85))) show ("The solution is approx. -0.8821") # Approximating 0.7: show (plot(f, (x, 0.68, 0.71))) show ("The solution is approx. 0.6879") # Approximating 1.1: show (plot(f, (x, 1.09, 1.11))) show ("The solution is approx. 1.0957") # Showing the result show ("The equation ", f, " has 3 roots:") show ("Precise roots: ", precise_solution) show ("Approximated roots: x1 = ", -0.8821, " x2 = ", 0.6879, " x3 = ", 1.0957 )  We can practice the above code in http://matrix.skku.ac.kr/KOFAC/

이상구(LEE SANGGU)12 17일 오전 6:19

I am happy to teach good students. Hope to help you learn something valuable in this class. And 신입생 중 1등과 각 단과대 1등은 모두 A 주려고 합니다^^

고재윤(2020####97)12 17일 오후 6:19

머리속으로 생각하기 힘든 3-dim vector plot으로 나타내니 이해가 잘 되었습니다. 감사합니다!!

이규식(2018####70)12 18일 오후 9:44

3차원 벡터의 이해에 도움이 되었습니다. 감사합니다!

이규리(2018####45)12 19일 오전 7:58

단순한 수식에 불과했던 3차원 벡터를 plot으로 나타내고 이를 이미지화해서 보다 잘 이해할 수 있었습니다. 감사합니다!

남상현(2018####17)12 21일 오전 10:44

3차원 벡터를 visualize하여 이해하기 쉽게 설명하신 것 같습니다. 감사합니다!

박우현(2016####31)12 21일 오전 10:55

3차원 벡터의 plotting을 이해하는데 도움이 되었습니다

 

Open Problem 3 solution by 고재윤 , 문태의, 강민지, 이규식, 남상현

Open Problem 3 solution by 고재윤 , 문태의, 강민지, 이규식, 남상현

Open Problem 3

Make a composite function from the functions that you learned and draw a graph of it. [Hint: plot(sin(e^(1/3)^x), (x, -1.2, 10))]



 http://matrix.skku.ac.kr/KOFAC/ 로 접속하여 sin(e^(1/3)^x) 식을 -1.2부터 10까지 나타내기 위해 아래와 같이 코딩하였습니다.

 plot ( sin(e^(1/3)^x), (x, -1.2, 10)) 

 in  http://matrix.skku.ac.kr/KOFAC/    gives  

보시는바와 같이 한줄로 간단하게 코딩되었습니다. 전체적인 형태는 plot( function, (variable, starting interval, finishing interval))입니다.

그 결과 아래와 같은 그래프가 결과값으로 출력되었습니다.

함수에 대해 더 잘 이해하기 위해 e^(1.3)^x 그래프를 아래와 같이 코딩하고 출력값을 살펴보았습니다.

    plot (e^(1/3)^x)

in  http://matrix.skku.ac.kr/KOFAC/    gives 

e^(1/3)^x 그래프의 x>0 부분을 보면 y=1 부근으로 수렴하며 감소한다는 것을 알 수 있습니다.

이를 통해 sin(e^(1/3)^x) x>0 부분이 왜 수렴하는 형태로 나왔는지 추론할 수 있었습니다.

반대로 x<0부분을 보면 exponential하게 y값이 증가한다는 것을 알 수 있습니다.

sin은 주기함수 이므로 sin(e^(1/3)^x) x<0 부분이 왜 진동하는 형태로 그려졌는지 추론할 수 있었습니다.

7개의 댓글

고재윤(2020####97)12 14일 오후 4:03

To access http://matrix.skku.ac.kr/KOFAC/ and indicate sin(e^(1/3)^x) expression from -1.2 to 10, I coded as follows. ( picture) As you can see, it is simply coded in one line. The overall shape is plot (variable, starting interval, finishing interval). As a result, the graph below was output as the result value. (picture) To better understand the function, we coded the e^ (1.3)^x graph as follows and looked at the output values. (picture) (pirture) If you look at the x>0 part of the e^(1/3)^x graph, you can see that it converges to the vicinity of y=1 and decreases. Through this, it was possible to infer why the x>0 part of sin(e^(1/3)^x) came out in a convergent form. Conversely, if you look at part x<0, you can see that the y-value increases exponentially. Since sin is a periodic function, we could infer why the x<0 part of sin(e^(1/3)^x) was drawn in a vibrating form.

이상구(LEE SANGGU)12 14일 오후 5:29

Good job^^

문태의(2016####21)12 16일 오후 6:25

합성 함수 그래프를 그리는 법, 특히 각 부분을 나누어서 보는 법에 대해 자세히 알 수 있었습니다. 감사합니다.

강민지(2021####12)12 16일 오후 9:54

중요 부분을 잘 정리해주셔서 내용 이해할 수 있었습니다. 특히 합성함수의 관점에서 두 합성 함수들을 분리하여 분석해 더 쉽게 이해할 수 있었습니다. 감사합니다!

이상구(LEE SANGGU)12 17일 오전 6:15

I am happy to teach a good stydent. Hope to help you learn something in this class. 1학년 중 1등과 각 단과대 1등은 모두 A 주려고 합니다^^

이규식(2018####70)12 18일 오후 5:32

plot 함수의 형태에 대한 설명도 덧붙여주셔서 이해가 편했습니다. 감사합니다.

남상현(2018####17)12 21일 오전 10:45

plot function을 그래프와 함께 쉽게 설명해주신 것 같습니다. 감사합니다!

 

Open Problem 1 solution by 남상현

작성자 : 남상현(2018####17)작성일 : 12 14일 오후 11:42

조회수 : 33

Open Problem 1

Sketch the graph of three polynomial functions found in your other math books.



3개의 polynomial functions Erwin Kreyszig Advanced Engineering Mathematics에서 차용했습니다.

1. (x-5)*(x-3)*(x+2)



단순히 sketch에만 중점을 두는 데에 그치지 않고, 해당 polynomial function solutions를 쉽게 판단할 수 있었고,

코딩을 통해 visualize하여 solutions를 확인하였습니다.

저번 강의에서 배운 plot function을 이용하여 visualize하였습니다. plot function의 구조는 plot(function, (variable, starting_interval, finishing_interval))와 같습니다.



이에 대한 실행 결과는 다음과 같았습니다.

이와 같은 방법으로 해당 3차 방정식의 graph sketch할 수 있고, 3개의 solution x=-2, 3, 5 역시 눈으로 확인할 수 있었습니다.

2. x^2 2*x^3

같은 방법으로 graph visualize하였습니다.

실행 결과는 다음과 같습니다.



3. -0.1*x^12+0.3*x^9-1.1*x^7+1.3*x^6-3.7*x^2+12

마찬가지로 plot function을 이용하여 sage코딩을 하였습니다.

 그 결과, 다음과 같은 실행 결과가 도출되었습니다.



그래프가 원점 근처에서 y=0 함수와 유사한 형태로 나타나는 것을 볼 수 있는데, 이 부근의 개형을 자세하게 확인하기 위해 plot function에서 interval (-10, 10)에서 (-2, 2)로 줄여주었습니다.

이에 대한 실행 결과는 다음과 같습니다.



이를 통해 실제로는 function 0의 값을 갖지 않지만, interval를 늘리게 되면 범위가 넓어져 0처럼 보이게 된다는 사실을 알게 되었습니다.

그럼에도 위의 실행 결과가 원점 근처에서 아직 y축과 평형하게 보이는 것을 확인할 수 있으며, 이를 더욱 자세히 보기 위해 interval를 더 줄여보았습니다.



interval을 임의로 수차례 조정해 본 결과, (-1.6, 1.2) interval에서 그래프의 개형이 잘 관찰되는 것을 확인하였습니다.

실행 결과는 다음과 같습니다.



Problem 수행 결과, 다양한 polynomial functions에서 다양한 graph가 나타나는 것을 확인할 수 있었으며, plot function에서 interval을 설정하는 것 또한 중요하다는 것을 깨닫게 되었습니다.

7개의 댓글

남상현(2018####17)12 15일 오전 11:06

이미지 파일이 깨져 수정하였습니다.

이상구(LEE SANGGU)12 15일 오후 2:43

OK^^

문태의(2016####21)12 16일 오후 6:23

덕분에 그래프를 그리는 방법과 특히 interval 조정을 통해 그래프가 잘 보이도록 하는 법에 대해 알 수 있었습니다. 감사합니다.

이상구(LEE SANGGU)12 16일 오후 7:44

Very good. Congratulation^^

남상현(2018####17)12 16일 오후 10:56

사진 파일이 계속 깨졌었는데 원인을 확인했습니다ㅠㅠ 최종 수정하였습니다.

이상구(LEE SANGGU)12 17일 오전 6:10

Very good. I am happy to teach a good stydent. Hope to help you learn something in this class. 신입생 중 1등과 각 단과대 1등은 모두 A 주려고 합니다^^

이규식(2018####70)12 18일 오후 2:50

그래프 예시가 많아서 이해가 잘되었습니다. 감사합니다.

 

 

Finalized OK by SGLee Open problem #1 우건주,고재윤

작성자  : 우건주(2017####97)작성일  : 12 15 오후 1:25

조회수  : 37

1 문제는 다른 학생분들께서 많이 풀어주셨지만

Sage 낯설어서 개인적인 연습차원으로 진행해보았습니다.

EMB0000463449a6

open problem1.png

다항함수 중에서 f(x)=f(-x) 특성을 가진 함수를 선택해서 plot하였습니다.



EMB0000463449a7

open problem1_2.png

다항함수 중에서 f(x)=-f(-x) 특성을 가진 함수를 선택해서 plot하였습니다.

EMB0000463449a8

open problem1_3.png

함수는 앞선 함수처럼 독특한 성질을 갖진 않지만,

개형이 직관적으로 다가오지 않아서 plot해보았습니다.



5개의 댓글

이상구(LEE SANGGU)12 15 오후 2:41

했습니다. 초보자면 연습삼아 보시고 ... 다른 학생 보고 ... Comment 달면서 배워 가세요^^

고재윤(2020####97)12 16 오후 10:31

y 대칭 그래프, 원점 대칭 그래프의 특성을 한눈에 있어서 좋았습니다. 나중에 sage 기억나지 않을 , 학우님이 보여주신 예제들을 한번씩 그려보면 도움이 같습니다. 좋은 예시 감사합니다!!

윤상수(2020####53)12 18 오후 11:48

여러가지 다양한 함수들의 개형을 프로그램으로 그려주셔서 공부하는 도움이 되었습니다.

남상현(2018####17)12 21 오전 10:55

종류별로 분류하여 함수들의 개형을 이해하기 쉽게 plot해주신 같습니다. 감사합니다!

이예진(2017####54)12 21 오후 12:08

저도 다양한 그래프를 통해 설명해주시니 직관적 이해에 도움이 되었습니다 .감사합니다 !

comment: 아직 sage에 익숙해지지 않았을 때, 이 글을 보며 복습하였던 것이 기억에 남습니다. 많은걸 배울 수 있는 글이었습니다.

 

4

Finalized OK by SGLee Open Problem 7 Solution by 고재윤, 황세진, 이예진, 강민지, 이규식, 윤상수, 남상현, 박우현

작성자  : 고재윤(2020####97)작성일  : 12 15 오후 2:59

조회수  : 45

Finalized OK by SGLee  Open Problem 7 Solution by 고재윤, 황세진, 이예진, 강민지, 이규식, 윤상수, 남상현, 박우현


Open Problem 7

What kinds of data can you apply the similarity measures we just discussed?

"What kinds of data can you apply the similarity measures we just discussed (Distance similarity)?"

Using the distance similarity, we can determine the color similarity. Defining the 3-dim vectors as an rgb pair, and later calculating Euclidean distance between them.

두가지 이상의 데이터를 비교하는 방법 하나로 데이터 사이의 거리를 구하는 방법이 있습니다

EMB0000463449a9

식은 'Euclidean distance' 대한 공식으로, 좌표에서 A(a1, a2) B(b1, b2)사이의 거리를 나타내는 공식입니다.

공식을 기초로 하여 데이터 사이의 연관성 또는 similarity 구할 있습니다. 대표적으로, RGB 표를 통해 두가지 이상의 빛들의 similarity 쉽게 알아낼 있습니다

EMB0000463449aa

 그림은 RGB 표를 나타낸 것입니다

우리가 전자기기를 통해 보는 빛의 색은 빛의 삼원색인 빨강 (R) , 초록 (G), 파랑(B) 세가지 색의 조합으로 그림과 같은 많은 종류의 색을 표현할 있습니다.

, 데이터는 3-dim vector 표현됩니다. 우리는 데이터간의 거리로 데이터간의 similarity 판단할 있을 것입니다. (Distance Similarity)

color1 = [1, 2, 3], color2= [11, 22, 33], color3= [12, 23, 34]라는 가지 데이터가 있다고 가정해보도록 하겠습니다.

벡터의 성분은 [R,G,B]이고, 성분의 크기는 성분의 세기를 뜻합니다.

color1 color2 어떤 색이 color3 비슷한 색인지 알기 위해( Distance Similarity 구하기 위해아래와 같이 코딩하였습니다. 

EMB0000463449ab

여기서 bool() 명령어는 괄호 안의 조건문이 참이면 True, 거짓이면 False 출력하는 명령어입니다

위와 같이 코딩한 결과 아래와 같이 출력되었습니다.

EMB0000463449ac

따라서 Color2 Color1보다 Color3 비슷한, similarity 높은 데이터라는 것을 있었습니다.

10개의 댓글

고재윤(2020####97)12 15 오후 3:10

One of the ways to compare two or more data is to find the distance between the two data.(Equation Figure)The above equation is a formula for 'Euclidean distance', which represents the distance between points A(a1, a2) and B(b1, b2) at the coordinates.Based on this formula, the association or similarity between the two data can be obtained. Typically, RGB tables make it easy to find out the similarity of two or more lights.(RGB table )The figure above shows the RGB table.The color of light we see through electronic devices is a combination of three primary colors, red (R), green (G), and blue (B), so we can express many kinds of colors like the picture above.In other words, color data is expressed as 3-dimvector. We will be able to determine the similarity between data by the distance between color data.(Distance Similarity)Let's assume that there are three color data: color 1 = [1, 2, 3], color 2 = [11, 22, 33], and color 3 = [12, 23, 34].The component of each vector is [R, G, B], and the size of the component means the strength of the component.To find out which color is more similar to color 3 (to obtain Distance Similarity), we coded as follows. (Input Figure)Here, the bool() command is a command that outputs True if the conditional statement in parentheses is true and False if it is false.(Output Figure)As a result of coding as above, it was printed as follows.Therefore, it was found that Color2 was more similar to Color3 than Color1.

이상구(LEE SANGGU)12 15 오후 4:42

Wonderful~~ You are the First on Day 3 problem^^ + 1

이예진(2017####54)12 15 오후 10:12

... 감사합니다 진짜 어려운 개념일 알았는데 이렇게 정리해주셔서 바로 이해되었습니다

강민지(2021####12)12 16 오후 9:52

RGB 벡터 개념이 복잡하여 이해하기 힘들었는데, 중요 부분을 정리해주셔서 내용 이해할 있었습니다. 감사합니다!

이상구(LEE SANGGU)12 17 오전 6:04

I am very happy that you got it^^ 단과대 1등은 모두 A 주려고 합니다^^

황세진(2015####21)12 17 오후 9:07

RGB 3차원 벡터로 표현하여 거리를 구하고 가까운 거리에 위치할수록 비슷한 색이라는 내용을 너무 정리해주셔서 이해하기 쉬웠습니다. 감사합니다!

이규식(2018####70)12 18 오후 8:07

데이터 간의 거리를 간의 유사도를 판별하는 지표로 활용하는 것이 인상적이었습니다. 좋은 이해가 되었습니다 감사합니다!

윤상수(2020####53)12 18 오후 11:50

실제 와닿는 예를 통해 개념을 확실히 공부할 있었습니다. 감사합니다.

남상현(2018####17)12 21 오전 10:47

Distance similarity color 통해 접근하신 방법이 참신하고 이해하기 쉬운 같습니다. 감사합니다!

박우현(2016####31)12 21 오전 10:56

단순 수학적인 접근 뿐만 아니라 RGB표를 이용한 해석이 흥미로운 같습니다

comment: 디스플레이가 R,G,B 세 가지 색의 조합으로 색을 표현한다는 것을 알고 있었기 때문에 이 문제를 푸는데 어렵지 않았습니다. 학우님들께서 많은 댓글을 남겨주셔서 뿌듯했습니다.

 

Open Problem 6 solution by 남상현

Final OK by SGLee [Re-Finalized by 정운섭, 남상현, 고재윤, 이규식 SGLee (problem 6) ] 가역 가능한 matrix 중에서 is_invertible() 값이 false 나오는 경우에 대하여

작성자  : 정운섭(2018####88)작성일  : 12 16 오후 1:49

조회수  : 36

Open Problem 6

Find bigger than matrix from the internet or other textbooks and check whether transpose and inverse matrices exist. If those exist, find out what those are.

"With matrix bigger than 5x5, check whether transpose and inverse matrices exist."



5x5보다 큰 행렬로 6x6 행렬을 선택하였습니다.

우선, 다음과 같은 행렬을 이용하였습니다.

[1,0,3,2,0,-1],[0,4,1,-2,1,0],[2,1,3,0,0,-3],[0,1,1,2,1,1],[3,2,3,-4,-1,0],[1,0,0,3,2,-2]



이에 대한 전치행렬과 역행렬은 각각 transpose() 함수와 reverse() 함수를 사용하였습니다.

텍스트이(가) 표시된 사진

자동 생성된 설명



이에 대한 실행 결과는 다음과 같습니다.

텍스트, 영수증이(가) 표시된 사진

자동 생성된 설명

이를 통해 6x6행렬 역시 transpose reverse가 존재한다는 사실을 알게 되었습니다.



transpose의 경우 어떤 matrix든 존재하지만, reverse의 경우 특수한 경우에만 존재한다는 사실을 이용하여, 이번에는 역행렬이 존재하지 않는 행렬을 만들어 보았습니다.

[0,2,0,-1,0,-2],[0,-2,2,0,1,0],[0,1,0,1,3,0],[0,-1,0,0,1,1],[0,2,0,0,2,1],[0,-1,0,3,0,0]



이 때 역행렬의 존재 여부는 is_invertible() 를 사용하였습니다.



텍스트이(가) 표시된 사진

자동 생성된 설명

실행 결과는 다음과 같습니다.



이번에는 역행렬이 존재하지 않는다는 것을 확인할 수 있었습니다.

comment: 다른 학우님께서 random_matrix 명령어 안의 성분 ‘ZZ, QQ’에 대해 질문하신 글이 있었습니다. 그 글을 통해 ‘ZZ, QQ’를 적용해보고 싶어서 이번 문제에 이것들을 사용해서 풀었습니다. 다른 학우님의 글을 보고 저의 솔루션을 발전시킨 첫 문제여서 뿌듯했습니다.

 

2개의 댓글

이상구(LEE SANGGU)12 15일 오후 2:39

위의 단순 명령어로는 다른 책에 있는 많은 가역행렬도 비 가역이라고 나옵니다. ... 실제 확인해 보고 이유가 무엇인지 생각해 보고 ... 공유해 보세요.

이상구(LEE SANGGU)12 17일 오전 6:08

I am happy to teach a good stydent. Hope to help you learn something in this class. 신입생 중 1등과 각 단과대 1등은 모두 A 주려고 합니다^^

Final OK by SGLee [Re-Finalized by 정운섭, 남상현, 고재윤, 이규식  SGLee (problem 6) ] 가역 가능한 matrix 중에서 is_invertible() 값이 false 나오는 경우에 대하여

아래 제가 올린 problem 6 풀이에서 matrix 가역가능함에도 불구하고 is_invertible() 함수의 값이 false 나오는 경우가 있었습니다

여러 matrix 토대로 실행해 결과 inverse 값이 정수의 값을 가질 때는 is_invertible() 함수의 값이 true 출력하였지만, inverse 값이 유리수(분수) 형태로 표현되는 경우에는

invertible 경우에서도 is_invertible() 함수의 값이 false 출력하였습니다.

#### 그에 대한 이상구 교수님의 답변입니다. #####

1. Very good^^A. 정운섭 ,질문에 답을 줍니다.random_matrix에서 QQ 사용할 때는 옵션을 x = 0, y= 5 이런 식이 아니라 num_bound = 20, den_bound = 4 형태로 써야 합니다.num_bound 분자의 범위den_bound 분모의 범위(예시)random_matrix(QQ, 6, 6, num_bound = 20, den_bound = 4)(http://matrix.skku.ac.kr/KOFAC/ 에서 실습하시고, 한번 업그레이드 하세요^^)**************************[ 5/4 -1 -5/4 17 15/4 -17/4][ -7 11/4 -10 10 -4 17][ -5 -3 17 6 18 -13/4][ 15 -11 9/4 -5 0 -19/3][ 11/4 -10 9/2 -5 -5 0][ 16 0 -16 -9/2 -16 19/2]

In http://matrix.skku.ac.kr/KOFAC/,

   [Take a look on my Quick reference  참고하세요^  http://matrix.skku.ac.kr/2009-Sage/Sage-Reference.html    ]

<zz 사용했을 rref 사용해서 inverse여부를 확인하는 코드>

A= random_matrix(ZZ, 6, 6, x=0, y=5) 
print ("A=") 
print (A)
print ()
print("-- Q. Is A invertible? Answer =")
print (A.is_invertible())
print ()
print("We may have a wrong answer, check  the following") 
print ()
print (A.rref())
print("If we have an Identity matrix, A is an invertible matrix.") 
print ()