본문 바로가기

전체 글101

2.4 Partitioned Matrices Partitioned Matrix * 위와 같이 matrix를 여러 개의 sub matrix로 표현한 것을 partitioned matrix 혹은 block matrix라고 부른다. Partitioned Matrix 연산 1) Addition * A, B matrix의 크기가 같고, 동일한 방식으로 partitioned 된 상태라면 같은 index의 partition끼리 더해준다. 2) Scalar Multiplication * 각 partition을 곱하거나 전체에 곱하거나 동일한 결과를 얻을 수 있다. 3) Multiplication of Partitioned Matrices * 기본적으로 A의 column 개수와 B의 row 개수가 같아야 한다. * 그리고 partition끼리 곱해지는 것이므로 A.. 2021. 12. 24.
2.3 Characterization of Invertible Matrix Theorem 8. The Invertible Matrix Theorem Let A be a square n x n matrix. Then the following statements are equivalent a) A is an invertible Matrix b) There is an n x n matrix C such that CA = I, (matrix I is identity matrix) c) The equation Ax=0 has only the trivial solution d) A has n pivot positions e) A is row equivalent to the identity n x n matrix f) There is an n x n matrix D such that AD=.. 2021. 12. 24.
17.3 Stacked AutoEncoder Stacked AutoEncoder란 * 우리가 최초로 17.1 에서 살펴보았던 autoencoder의 구조의 경우 input layer, hidden layer, output layer로 이뤄진 가장 기본적인 autoencoder였다. 여기서 hidden layer의 개수를 늘린 것을 stacked autoencoder 혹은 deep autoencoder라고 부른다. * 이렇게 hidden layer를 늘리는 것은 autoencoder가 더 복잡한 처리를 가능하게 하겠지만, 한 편으로 일반적으로 network가 deep해질 때 생기는 overfitting등의 문제가 발생할 수 있기 때문에 과도하게 deep한 network를 구성하지 않도록 주의해야 한다. 케라스를 이용하여 stacked autoenco.. 2021. 12. 23.
17.2 Undercomplete linear AutoEncoder로 PCA 수행하기 * AutoEncoder가 linear activation function만 활용하고, cost function이 MSE라면, 결국 PCA를 수행하는 것과 같다. np.random.seed(4) def generate_3d_data(m, w1=0.1, w2=0.3, noise=0.1): angles = np.random.rand(m) * 3 * np.pi / 2 - 0.5 data = np.empty((m, 3)) data[:, 0] = np.cos(angles) + np.sin(angles)/2 + noise * np.random.randn(m) / 2 data[:, 1] = np.sin(angles) * 0.7 + noise * np.random.randn(m) / 2 data[:, 2] = data.. 2021. 12. 23.