## 3 A Trimmed-Clustering Based \(I_{1}\)-PCA Model
### The Overall Implementation  
We shall provide the optimality conditions for (8) and present the overall implementation of the algorithm to estimate a collection of projection vectors. Taking the first derivative of (8) with respect to \(v_{k}\) and set it to zero, we obtain the optimality condition for \(v_{k}\)  
\[0=\frac{\partial J_{obj}(v,l,\Omega(p))}{\partial v_{k}}=\sum_{x_{i}\in\Omega(p) }l_{i,k}(v_{k}-x_{i}),k=1,2.\]  
That is, we have  
\[v_{k}=\frac{1}{\sum_{x_{i}\in\Omega(p)}l_{i,k}}\sum_{x_{i}\in\Omega(p)}l_{i,k}x _{i},k=1,2, \tag{11}\]  
which is the average of sample data in both the trimming set and the \(k\)th cluster. The optimality conditions for the indicator variables are  
\[l_{i,1}= \begin{cases}1,&if\ \|x_{i}-v_{1}\|_{2}^{2}\leq\|x_{i}-v_{2}\|_{2}^{2} \\ 0,&otherwise\\ &l_{i,2}=1-l_{i,1}.\end{cases}  \tag{12}\]  
The condition (12) simply takes \(l_{i,k}=1\), \(k=1,2\), if \(x_{i}\) is closer to the \(k\)th cluster. The optimization of (8) with the trimming set (9) is performed by the alternating minimization between \(v\) and \(l\) as well as the update of \(\Omega(p)\). In what follows, we present an algorithm for extracting a single projection vector and the overall algorithm to estimate a set of orthonormal projection vectors. ```
Step 1. Input \(p\) and \(t_{max}\). Set \(J=\infty\) and \(t=0\). Step 2. Randomly choose two samples from the dataset as initial cluster centers. Step 3. Update the trimming set \(\Omega(p)\) via (9). Step 4. Update the cluster center \(v_{k}\) via (11). Step 5. Update the indicator function \(l_{i,k}\) via (12). Step 6. If there is a change of the indicator functions \(l_{i,k}\), go to Step 3. Otherwise, compute \(J_{obj}\) via (8). Step 7. If \(J_{obj}<l\), compute \(\hat{u}\) via (10) and \(J=J_{obj}\) and set \(t=0\). Otherwise, set \(t=t+1\). Step 8. If \(t\leq t_{max}\), go to Step 2. Otherwise, Compute \(u=\hat{u}/\|\hat{u}\|_{2}\) and stop. ```  
**Algorithm 1**Single Projection Vector Extraction  
The implementation of Single Projection Vector Extraction Algorithm (SPVEA), Algorithm 1 is summarized as follows. There are two input parameters (Step 1): the percentage of data used for estimating the projection vector (\(p\)) and the maximum number of re-initialization of the algorithm (\(t_{max}\)). We then randomly select two samples from the dataset as initial cluster centers, followed by updating the trimming set, cluster centers and indicator functions (Step 2-Step 5). If there is no change for the assignment \(l_{i,k}\) of sample data to the cluster centers, the function value of TC-PCA is computed (Step 6). The above process is repeated \(t_{max}\) times and the optimal solution is obtained corresponding to the least value of \(J_{obj}\) (Step 7-Step 8). In our experiments, we set \(t_{max}=10\). That means, we use 10 different sets of initial guesses for cluster center initialization and the one with the smallest objective function value is outputted. To construct an entire set of orthonormal projection vectors \(U=[u_{1},u_{2},\ldots,u_{D}]\in\mathbb{R}^{d\times D}\), we follow [14] which estimates the projection vectors in a one-by-one manner. After obtaining the first projection vector using the SPVEA, the dataset \(X\) is projected to the subspace in order to construct the second projection vector via the following \(x_{i}^{(\tau)}\)  
\[x_{i}^{(\tau+1)}=(I-u_{\tau}u_{\tau}^{T})x_{i}^{(\tau)},\tau=1,2,\ldots,D-1, \tag{13}\]  
where \(I\) is an identity matrix and \(x_{i}^{(\tau+1)}\) is the projected dataset for the estimation of \(u_{\tau+1}\) with \(x_{i}^{(1)}=x_{i}\). The complete orthonormal projection vectors are obtained via the proposed TC-PCA algorithm, which iteratively applies the SPVEA with updated subspace. The TC-PCA algorithm stops until \(D\) projection vectors are obtained. This is Algorithm 2. ```
Step 1. Input \(D\) and set \(\tau=1\). Apply the SPVEA (Algorithm 1) to obtain \(u_{1}\). Step 2. Obtain the subspace \(x_{i}^{(\tau+1)}\) via (13). Step 3.