# Unsupervised Deep Embedded Clustering for High-Dimensional Visual Features of Fashion Images
## 3 Methodology
### Dimensionality Reduction Based on Deep Stacked Auto-Encoder  
An auto-encoder is a form of a neural network whose purpose is to take an input, compress it, and reconstruct the same input from the compressed version. The auto-encoder has two parts: (i) the encoder, which encodes the feature in small representation, and (ii) the decoder, which reconstructs the same input in such a way that the network learns important abstract features that are necessary. These abstracted features help improve the accuracy of classifiers and other unsupervised learning approaches. The auto-encoder uses back-propagation to train the network, so the compressed representation of the input is as close to the original as possible, i.e., \(y^{i}\approx x^{i}\). Our model draws inspiration from denoising the auto-encoder (DAE) to train an auto-encoder in which the mapping between the input \(x\) and the output \(z\) is nonlinear [13; 40]. An excellent representation can be robustly derived from a distorted input and helps recover the relevant original input. Here, we emphasize that our objective is not to originally denoise input. Instead, denoising is proposed and investigated as a training criterion for learning to extract valuable characteristics that provide better representation. The utility of a learned representation can then be objectively evaluated by assessing the accuracy of a classifier that uses it as input. Figure 2: The illustration of the FIDC method. It is made up of four parts: input, encoder part, clustering, and Decoder part. The original input \(x\) is related to a fashion image, the CNN feature. Parameter \(\vec{x}\) is obtained by adding noise to the original input. According to the encoder function, a latent representation \(Y\) is calculated. The clustering task is executed based on \(Y\). This method involves transforming the input \(x\) into a corrupted form \(\widetilde{x}\) through a stochastic process defined by \(x\)\(qD\)\((x|\widetilde{x})\). The corrupted input \(\widetilde{x}\) is then transformed into a hidden representation \(y\) through the encoding function \(f_{e}\), which is represented by the Equation \(y=f_{e}(W\widetilde{x}+b)\). This is similar to the workings of a basic autoencoder. Later, we reconstruct \(z\) by utilizing the following function, i.e., \(z=f_{d}(W^{\prime}Y+b^{\prime})\), which is closer to what sparse coding has learned [41]. In Figure 3, we note that denoising auto-encoders are still tried to minimize the reconstruction loss \(L_{r}(x,z)\) between an original input \(x\) and its reconstruction \(z\) from reduced dimension \(Y\). The main distinction is that \(z\) is the deterministic mapping function of \(\widetilde{x}\) instead of the original input \(x\). As before, the reconstruction error regarded is either the squared error loss or cross-entropy loss with an affine decoder. This way, our model is designed to enforce the training of a highly advanced mapping function that extracts meaningful features to denoise the input data rather than a simple identity mapping. \[y=f_{e}(W\widetilde{x}+b) \tag{1}\]  
where the reduced representation code is represented by the symbol \(y\), the weight of the input to the hidden layer is represented by \(W\), bias as \(b\), and \(f_{e}\) is relu activation function for encoder/decoder hidden layers [42]. The process of reconstructing the input \(z\) is achieved through the utilization of a mapping function \(f_{d}\)  
\[z=f_{d}\big{(}W^{\prime}Y+b^{\prime}\big{)} \tag{2}\]  
where \(f_{d}\) denote decoding function and \(W^{\prime}\) as tied weights. \[y^{(k+1)}=f_{e}\Big{(}Wy^{k}+b^{(k+1)}\Big{)} \tag{3}\]  
\[z^{(k+1)}=f_{d}\Big{(}W^{(L-K)^{T}}z^{k}+b^{\prime(k+1)}\Big{)} \tag{4}\]  
where the variable \(k\) adjusts from \(0\), \(y^{(0)}\) is referred to original input and \(y^{(L)}\) represent the last encoding layer, \(z^{(0)}\) represents the first decoding layer that is extracted from reduced representation \(Y\), \(z^{(L)}\) denote the last decoding layer of the decoder part, and the transform matrix is represented by \(T\).