# Predicting Algorithm of Tissue Cell Ratio Based on Deep Learning Using Single-Cell RNA Sequencing
## 2 Materials and Methods
### Structure of Autoptcr Model
#### 2.2.2 Feature Extraction Module  
The features filtered by the feature selection module are input into the feature extraction module, and the feature extraction layer uses convolution and pooling techniques. We use \(X\in R^{M\times N\times D}\) to represent the input, \(M\) is the number of features, \(N\) is set to 1, and \(D\) represents the number of channels, and is set to 1. The input \(X\in R^{M\times 1\times D}\) represents \(D\) one-dimensional feature vectors, and the size of the feature is \(M\times 1\). The filter is \(W\in R^{A\times B\times D\times V}\). \(A\) and \(B\) represent the length and width of the convolution kernel, and \(V\) represents the number of convolution kernels. The convolution kernel is convolved with the two-dimensional vector of the same size on \(X\) to obtain the scalar data z, as shown in Equation (3):  
\[z=\sum_{a,b}x_{a,b}\cdot W_{v,a,b} \tag{3}\]  
\[a=1,2,\ldots,A;b=1,2,\ldots,B\]  
In the above equations, \(W_{v}\in R^{A\times B}\) represents the size of the convolution kernel, and \(x\in R^{A\times B}\) represents a 2D vector block on \(X\) of the same size as the convolution kernel \(W_{v}\). To calculate feature the map \(Y_{v}\), we add kernel \(W^{v,\mathbf{1}},W^{v,\mathbf{2}},\ldots,W^{v,D}\) to the feature map \(X^{1},X^{2},\ldots,X^{D}\), respectively. Then, we add bias to obtain the input of the convolutional layer \(Z^{v}\in R^{M^{\prime}\times N\times\mathbf{1}}\). \(M^{\prime}\) and \(V^{\prime}\) depend on the value of padding and stride of the convolutional layer. After the activation function, the final output map \(Y^{v}\) is obtained. In this paper, the value of \(A\) is 1 and the value of \(B\) is 4. There are four convolutional layers in total, and the number of \(V\) is set to 32, 16, 8, and 4, respectively. The filter is \(W\in R^{4\times 1\times D\times V}\), as shown in Equations (4) and (5):  
\[Z^{v}=\sum_{d=1}^{D}W^{v,d}\cdot X^{d}+b^{v} \tag{4}\]  
\[Y^{v}=r(Z^{v}) \tag{5}\]  
In the above equation, \(r(\cdot)\) is the nonlinear activation function. Relu is the most commonly used activation function. We need to output \(V\) feature maps, and repeat the above process \(V\) times to obtain \(V\) feature maps \(Y^{1},Y^{2},\ldots,Y^{V}\). The activation functions in the convolution kernel are all set to Relu.  
The pooling layer downsamples the regions and generalizes them as regions. Suppose the input feature map of the pooling layer is \(Z^{v}\in R^{M^{\prime}\times 1\times 1}\); we then divide \(Y^{v}\) into many regions \(O_{v,g}\), \(\mathbf{1}\leq e\leq E\), \(\mathbf{1}\leq g\leq G\). We take \(E\) as 1 and \(G\) as 2. Regions do not overlap in this paper. \(Y_{E}^{-}\) is the activity data of neurons in area \(O_{e,g}\). For this region, we select the maximum value of all neuron activity in this region, as shown in Equation (6):  
\[\widetilde{Z}_{E}^{-}=\underset{\widetilde{E}\in O_{e,g}}{\max}(Z_{E}^{-}) \tag{6}\]  
Overall, in Autoptrc, the pooling layer uses max pooling, which reduces the size of the network by reducing the extracted features by more than half. Autoptrc uses one layer of convolution and one layer of max pooling as feature extraction, and the number of V is set to 32, 16, 8, and 4, respectively.