입력변수 개수를 차원, 차원의 저주를 보완하기위해 혹은 시각화하기위한 과정을 차원축소라고 한다 .
https://standout.tistory.com/1779
입력변수의 개수 차원 Dimension, 차원의 저주 Curse of Dimensionality 와 차원축소 Dimensionality Reduction하
차원Dimension입력변수의 개수.사람 등록을 위해 키, 몸무게, 나이가 필요하다면 이 3개가 차원이 된다 .x=(170,65,20)즉 위 벡터는 3개의 요소를 가지므로 3차원 공간의 한 점이 된다. 차원의 저주Curse o
standout.tistory.com
차원축소의 방법에는 특성선택, 특성추출이있다.
https://standout.tistory.com/1780
차원축소의 방법: 특성선택 & 특성추출(선형 & 비선형)
입력변수 개수를 차원, 차원의 저주를 보완하기위해 혹은 시각화하기위한 과정을 차원축소라고 한다 .차원축소에는 대표적으로 선형차원축소와 비선형 차원축소가있다. Autoencoder는 비선형 차
standout.tistory.com
특성추출에서의 비선형차원축소 방법중 아래의 방법을 확인해보자 .
Autoencoder는 비선형 차원축소방법에 포함되나 보통 별도의 딥러닝 기반 차원 축소 카테고리로 분류하기도한다.
Autoencoer:
딥러닝 기반 차원축소로
입력 - encode -(잠재공간)- decoder - 출력 으로 중앙의 잠재공간에 압축된 저차원이 들어간다.
784 차원 이미지를 32차원으로 줄이고 추후 복원하면서 학습과정에서 핵심특징만 남길 수 있다 .
위에서의 PCA, LDA, t-SNE, UMAP이 전통적인 차원 축소기법이라면 Autoencoer은 딥러닝 기반 차원 축소기법.
https://standout.tistory.com/1781
선형차원축소, PCA Principal Component Analysis: 가장 기본적인 차원축소
입력변수 개수를 차원, 차원의 저주를 보완하기위해 혹은 시각화하기위한 과정을 차원축소라고 한다 .https://standout.tistory.com/1779 입력변수의 개수 차원 Dimension, 차원의 저주 Curse of Dimensionality 와
standout.tistory.com
https://standout.tistory.com/1782
선형차원축소, LDA Linear Discriminant Analysis
입력변수 개수를 차원, 차원의 저주를 보완하기위해 혹은 시각화하기위한 과정을 차원축소라고 한다 .https://standout.tistory.com/1779 입력변수의 개수 차원 Dimension, 차원의 저주 Curse of Dimensionality 와
standout.tistory.com
https://standout.tistory.com/1783
비선형 차원축소, t-SNE, t-distributed Stochastic Neighbor Embedding
입력변수 개수를 차원, 차원의 저주를 보완하기위해 혹은 시각화하기위한 과정을 차원축소라고 한다 .https://standout.tistory.com/1779 입력변수의 개수 차원 Dimension, 차원의 저주 Curse of Dimensionality 와
standout.tistory.com
https://standout.tistory.com/1784
비선형 차원축소, UMAP , Uniform Manifold Approximation and Projection
입력변수 개수를 차원, 차원의 저주를 보완하기위해 혹은 시각화하기위한 과정을 차원축소라고 한다 .https://standout.tistory.com/1779 입력변수의 개수 차원 Dimension, 차원의 저주 Curse of Dimensionality 와
standout.tistory.com
pytorch nn.Module 신경망 클래스를 상속해 압축담당 encoder, 여기서 z=self.encoder 잠재공간이 생성된다.
784 픽셀로 표현하던것을 32개 숫자로 압축해 정보를 담고있고,
decoder로 원래 크기로 복원하는 것. 이때 Sigmoid 출력범위를 0~1로 제한해 픽셀값 표현에 적합하도록 한다 .
nn.Linear(784,128)
nn.Linear(128,32)이 압축기라면
nn.Linear(32,128)
nn.Linear(128,784)이 복원기.
import torch
import torch.nn as nn
class Autoencoder(nn.Module):
def __init__(self ):
super().__init__()
self.encoder = nn.Sequential(
nn.Linear(784, 128),
nn.ReLU(),
nn.Linear(128, 32)
)
self.decoder = nn.Sequential(
nn.Linear(32, 128),
nn.ReLU(),
nn.Linear(128, 784),
nn.Sigmoid()
)
def forward(self, x):
z = self.encoder(x)
out = self.decoder(z)
return out
autoencoder는 원래 pca/lda/t-sns/umap처럼 예쁘게 분리되는것이 목적이 아니다. 그들의 목적이 차원축소 + 시각화라면 autoencoder의 목적은 입력 이미지 - 압축 - 복원이 목적으로숫자 3 이미지를 다시 만들어내는것이 목표이다.

원본이미지와 복원이미지를 비교해보자.

'이론' 카테고리의 다른 글
| 선형차원축소, 비지도학습, ICA Independent Component Analysis: 신호 분리(Blind Source Separation) (0) | 2026.06.05 |
|---|---|
| 선형차원축소, 중요한 정보만 추출한다: 특이값 분해 SVD, Singular Value Decomposition (0) | 2026.06.05 |
| 비선형 차원축소, UMAP , Uniform Manifold Approximation and Projection (0) | 2026.06.05 |
| 비선형 차원축소, t-SNE, t-distributed Stochastic Neighbor Embedding (0) | 2026.06.05 |
| 선형차원축소, LDA Linear Discriminant Analysis (0) | 2026.06.05 |