A breast cancer subtype classification method based on convolutional neural network
Through the method based on convolutional neural network analysis of breast cancer gene expression data, the problem of insufficient distinction between breast cancer subtypes in the prior art is solved, and the accurate classification and personalized treatment strategies for breast cancer subtypes are achieved, which improves the survival rate of patients.
Patent Information
- Application Number
- CN202110482461.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-04-30
- Publication Date
- 2025-02-28
- Estimated Expiration
- 2041-04-30
AI Technical Summary
The prior art is difficult to effectively distinguish and classify different subtypes of breast cancer, resulting in insufficient treatment strategies and affecting the survival rate of patients.
A convolutional neural network-based method is adopted to obtain breast cancer gene expression data for preprocessing, and a convolutional neural network model of the TensorFlow framework is established to train and predict to identify the subtype of breast cancer.
Accurate classification of breast cancer subtypes is achieved, personalized treatment strategies are provided, significantly improving patient survival rates and avoiding overfitting.
Smart Images

Figure CN113283477B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of gene recognition technology, and specifically to a breast cancer subtype classification method based on convolutional neural network. Background Art
[0002] In recent years, based on a large amount of clinical data and research results, it has been shown that different breast cancer patients may have different phenotypes, and the traditional method of treating breast cancer patients indiscriminately is no longer applicable. With the rapid development of medical testing methods, the molecular classification of breast cancer has become more refined. People divide breast cancer into five subtypes: LuminalA, LuminalB, HER2-enriched, Basal-like, and Normal-like, and begin to study the reasons why breast cancer patients have different phenotypes at the genetic level. Different subtypes have different characteristics, and have different treatment responses and survival rates. We should formulate different treatment strategies based on different subtypes. Summary of the invention
[0003] In view of the shortcomings of the prior art, the present invention provides the following technical solutions:
[0004] A method for classifying breast cancer subtypes based on a convolutional neural network comprises the following steps:
[0005] Obtain breast cancer gene expression data;
[0006] Performing preprocessing operations on the acquired breast cancer gene expression data, wherein the preprocessing operations include filtering data, expanding training sets, normalizing data, and discretizing data;
[0007] Build a breast cancer subtype classification model, and design and train the model based on the TensorFlow framework;
[0008] Forward propagation predicts sample data, predicts sample labels based on input data and parameters in the network model, and provides a data basis for the training process of back propagation;
[0009] Back propagation improves prediction accuracy by reducing the value of the error function to improve its own accuracy, making the predicted result closer to the target value.
[0010] The above-mentioned breast cancer subtype classification method based on convolutional neural network obtains the gene expression data of breast cancer patients from the TCGA database, and classifies the gene expression data according to five subtypes: LuminalA, LuminalB, HER2-enriched, Basal-like and Normal-like.
[0011] In the above-mentioned breast cancer subtype classification method based on convolutional neural network, the specific operation of filtering data is: filtering out genes whose average expression data of genes in all samples is less than 5.0; after filtering, taking log2(1.0+x) as the processed gene expression value.
[0012] In the above-mentioned breast cancer subtype classification method based on convolutional neural network, the specific operation of expanding the training set is as follows: according to the principle that the selected training set accounts for 2 / 3 to 4 / 5 of the number of samples, samples are randomly selected from the filtered samples as the test set, and the remaining samples are used as the training set; to avoid overfitting, each subtype data is expanded 4 times on the training set, and the expanded samples and the original samples are used together as the final training set.
[0013] In the above-mentioned breast cancer subtype classification method based on convolutional neural network, the specific operation of data normalization is: using the Min-Max method to normalize the sample data to the interval [0,1]; the specific conversion function is as follows:
[0014]
[0015] Among them, X' represents the sample data after normalization, X represents the sample data before normalization, min is the minimum value in the sample data, and max is the maximum value in the sample data.
[0016] In the above-mentioned breast cancer subtype classification method based on convolutional neural network, the specific operation of data discretization is as follows: the normalized data is discretized into four values of 0, 1, 2, and 3 based on the four intervals of [0, 0.25), [0.25, 0.5), [0.5, 0.75), and [0.75, 1]; each sample is converted into a two-dimensional matrix using One-Hot Encoding, and the size of each sample after conversion is 9622×4; and the label data is also converted into a two-dimensional matrix in the same way.
[0017] The above-mentioned breast cancer subtype classification method based on convolutional neural network, the model is a convolutional neural network structure model, with a total of 5 layers, including INPUT (input layer), C1 (convolution layer), S2 (pooling layer), F3 (fully connected layer), F4 (fully connected layer) and OUTPUT (output layer).
[0018] In the above-mentioned breast cancer subtype classification method based on convolutional neural network, during the convolution operation, a certain area of the previous layer corresponds to a certain neuron of the output feature map, and each convolution kernel repeatedly acts on the entire receptive field; and the convolution operation process shares the same convolution kernel, and the convolution operation extracts the local features of the input feature map to form the output feature map.
[0019] In the above-mentioned convolutional neural network-based breast cancer subtype classification method, during the back propagation process, in the fully connected layer, for a multi-classification problem, the total training error is:
[0020]
[0021] For the nth sample, the error is:
[0022]
[0023] In the above-mentioned breast cancer subtype classification method based on convolutional neural network, the sensitivity of the fully connected layer can be calculated by the following formula:
[0024]
[0025] in, It means element-by-element multiplication;
[0026] The sensitivity of the output layer can be calculated by the following formula:
[0027]
[0028] By obtaining the breast cancer gene expression data in the patient, relying on the above-established convolutional neural network structure model to identify the cancer subtypes of breast cancer and formulating corresponding treatment strategies for different cancer subtypes can greatly improve the survival rate of patients; the convolutional neural network structure model combines the two stages of feature extraction and classification, avoiding manual feature extraction; its special convolution structure greatly reduces the number of model parameters, thereby effectively avoiding overfitting; and the global training process is realized through the back propagation method. BRIEF DESCRIPTION OF THE DRAWINGS
[0029] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings required for use in the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments recorded in the present invention. For ordinary technicians in this field, other drawings can also be obtained based on these drawings.
[0030] Figure 1 Provides a statistical representation of the number of breast cancer subtypes for embodiments of the present invention;
[0031] Figure 2 Provides gene expression data representation intent of some patients for the embodiments of the present invention;
[0032] Figure 3 Provides subtype label representation intent for some patients for the embodiment of the present invention;
[0033] Figure 4 Provides a schematic diagram of the overall data preprocessing process for an embodiment of the present invention;
[0034] Figure 5 Provides a specific representation of the number of test sets and training sets selected for the embodiment of the present invention;
[0035] Figure 6 A schematic diagram of a convolutional neural network structure model is provided for an embodiment of the present invention. DETAILED DESCRIPTION
[0036] The following will be combined with the drawings in the embodiments of the present invention to clearly and completely describe the technical solutions in the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.
[0037] The embodiment of the present invention provides a breast cancer subtype classification method based on a convolutional neural network, which is applied to study and classify breast cancer subtypes based on gene expression data and a convolutional neural network.
[0038] The breast cancer subtype classification method based on convolutional neural network comprises the following steps:
[0039] Step 1: Obtain breast cancer gene expression data.
[0040] Specifically, the gene expression data of breast cancer patients were obtained from the TCGA database. The TCGA (The Cancer Genome Atlas) project uses genomic analysis technology (especially large-scale genome sequencing technology) to map the genomic variation maps of all human cancers. Through systematic analysis, it aims to find subtle variations between oncogenes and tumor suppressor genes, so as to understand the occurrence and development mechanism of cancer cells, and develop new diagnosis and treatment plans on this basis. The study has currently generated detailed multidimensional maps of key genomic changes in 33 types of cancer; there are more than 2PB of genomic data in the TCGA database. Furthermore, the gene expression data is classified according to five subtypes: LuminalA, LuminalB, HER2-enriched, Basal-like and Normal-like, such as Figure 1As shown in the figure, each sample has 20,533 genes. Furthermore, since there are only 7 patients with the Normal-like subtype, and the convolutional neural network requires large-scale data for training to obtain better training results, we removed the patient data of the Normal-like subtype and finally obtained 428 labeled patient data. Figure 2 and 3 Gene expression data and corresponding subtype labels for some patients. Figure 2 It is the gene expression data of some patients, where each column represents the expression value of a sample (i.e. a patient) on all genes, and each row represents the gene expression value of these patients at a certain gene position; Figure 3 That is Figure 2 The subtype label corresponding to each patient in the , where LumA represents LuminalA subtype, LumB represents LuminalB subtype, Her2 represents HER2-enriched subtype, and Basal represents Basal-like subtype.
[0041] Step 2: Preprocess the acquired breast cancer gene expression data. The preprocessing operation includes filtering data, expanding the training set, normalizing data, and discretizing data. Figure 4 shown.
[0042] Furthermore, the specific operations for filtering data are:
[0043] 1) In the gene expression data of 428 patients, the gene expression data with unknown gene names were filtered out. After filtering, each sample corresponded to 20,503 gene expression data;
[0044] 2) Since the data of low gene expression levels had little effect on the results of subtype classification in this study, we filtered out genes whose average expression data of all samples was less than 5.0. After filtering, 9622 genes were retained;
[0045] 3) After filtering, log2(1.0+x) was taken as the processed gene expression value.
[0046] The specific operations of expanding the training set are:
[0047] 1) According to the principle that the selected training set accounts for 2 / 3 to 4 / 5 of the number of samples, we randomly selected 128 samples from the filtered 428 samples as the test set, and the remaining 300 samples as the training set. The specific number of samples in each subtype is as follows Figure 5 shown.
[0048] 2) To avoid overfitting, each subtype data was amplified 4 times in the training set, and the amplified 1200 samples and the original 300 samples (a total of 1500 samples) were used as the final training set.
[0049] The specific amplification method is: the sample data of the four subtypes are stored separately, and the expression value of a subtype sample in the original training set on a certain gene is randomly selected as the expression value of the newly generated sample on the gene. Each newly generated sample is valued at 9622 gene positions in this way, and the label of the newly generated sample is the subtype label. In this way, each subtype data is amplified.
[0050] The specific operations of data normalization are:
[0051] In the machine learning classification model, if the value difference between features is large, then the features with smaller values cannot play a corresponding role, which will affect the classification accuracy. In order to reduce the large differences between the gene expression level values between data, the Min-Max method is used to normalize the sample data to the [0,1] interval. The specific conversion function is as follows:
[0052]
[0053] Among them, X' represents the sample data after normalization, X represents the sample data before normalization, min is the minimum value in the sample data, and max is the maximum value in the sample data.
[0054] The specific operations of data discretization are:
[0055] 1) Discretize the normalized data into four values: 0, 1, 2, and 3 based on the four intervals [0, 0.25), [0.25, 0.5), [0.5, 0.75), and [0.75, 1];
[0056] 2) However, the input data of the convolutional neural network is required to be two-dimensional, so One-Hot Encoding is used to convert each sample into a two-dimensional matrix. After the conversion, the size of each sample is 9622×4; and the label data is also converted into a two-dimensional matrix in the same way. Therefore, except for the number 1 at a certain position, the numbers in the remaining dimensions of a sample label are all 0, for example: LuminalA subtype can be represented as [0,0,1,0]. Therefore, the label of the training set is a 1500×4 matrix, and the label of the test set is a 128×4 matrix.
[0057] One-Hot Encoding is a unique hot encoding that uses an N-bit register to encode N states. Each state has its own independent register bit, and only one position is valid at any time.
[0058] Step 3: Build a breast cancer subtype classification model.
[0059] In Linux system, Python language is used to design and train the model based on TensorFlow framework. TensorFlow framework is an open source artificial intelligence learning system released by Google. It supports Python and C++ languages and can run in one or more CPUs or GPUs.
[0060] Specifically, the model is a convolutional neural network structure model, which has 5 layers, such as Figure 6 As shown;
[0061] INPUT: Input layer. The size of the input layer is 9622×4, which is the data obtained after preprocessing each breast cancer sample;
[0062] C1: Convolutional layer. The data of the input layer is convolved with four 4×4 convolution kernels (using zero padding) and activated by the ReLU function. The output feature map has four feature planes, each with a size of 9622×4. There are 68 trainable parameters in this layer.
[0063] S2: Pooling layer. Each neuron in this layer is connected to the 2×2 sampling window of the corresponding feature map in the C1 layer, and the maximum pooling operation is performed to obtain 4 feature planes of the S2 layer. The size of each feature plane is 4811×2. After the pooling operation, the local response normalization operation is performed on this layer;
[0064] F3: Fully connected layer. This layer has 512 neurons, which are fully connected to the neurons in the S2 layer and activated by the ReLU function. There are 4926976 trainable parameters in this layer;
[0065] F4: Fully connected layer. This layer has 64 neurons, each of which is fully connected to the 512 neurons in the F3 layer and activated by the ReLU function. There are 32,832 trainable parameters in this layer;
[0066] OUTPUT: Output layer. This layer has 4 neurons, each of which is fully connected to the 64 neurons in the F4 layer, and the probability distribution of the sample on each label is calculated through the Softmax function. There are 260 trainable parameters in this layer.
[0067] During the training process, we trained 1500 training samples in batches, running 50 samples in each batch, and trained all samples 2500 times in total; during training, the initial learning rate was 0.01. In order to avoid data oscillation due to too large learning rate during training, the data learning rate was decayed by 0.1 every 1000 times. After the training, 128 test samples were tested and the predicted probabilities of all samples were output.
[0068] To avoid overfitting, we use the Dropout operation on the fully connected layer of the F3 layer. During the training process, the weights of some hidden nodes in the network are temporarily disabled with a certain probability, but the weights are not discarded. In addition, we use the L2 norm to attenuate all weight coefficients in the model to constrain the weights. This operation makes the values of some weights tend to 0. The smaller the weight coefficient, the simpler the model is and the less likely it is to overfit.
[0069] Step 4: Forward propagation predicts sample data.
[0070] Specifically, in convolutional neural networks, forward propagation mainly predicts sample labels based on the input data and parameters in the network model, so as to find the error between the predicted label and the actual label, and provide a data basis for the back-propagation training process.
[0071] Furthermore, in the convolutional layer, the feature map of the previous layer is convolved with a learnable convolution kernel, and then activated through the activation function to obtain the feature map of this layer. The convolution kernel can be understood as a "filter" for feature extraction. It slides in the feature map of the previous layer according to the step size, so it can also be called a "sliding window". During the convolution operation, the input feature map is convolved with n convolution kernels, and n output feature maps will be obtained in this layer, that is, each input feature map can also be convolved into multiple output feature maps, and the number of convolution kernels determines the number of output feature maps; each output feature map can be obtained by combining and convolving multiple input feature maps. The specific calculation formula is:
[0072]
[0073]
[0074] in, is the j-th channel output of convolutional layer l; f(·) is the activation function, M j is the subset of feature maps used for calculation, is the convolution kernel matrix, It is the bias added to the feature map after convolution, and * is the convolution operation. Through the convolution operation, different features of the input image can be extracted. The first convolution layer extracts the underlying features, such as edges, lines, corners and other information, and the higher convolution layers extract more advanced features.
[0075] The biggest advantage of convolutional neural networks is local connection and weight sharing. The specific description is: during the convolution operation, a certain area of the previous layer (that is, the size of the area to which the "sliding window" slides) corresponds to a certain neuron in the output feature map, and each convolution kernel repeatedly acts on the entire receptive field; and the convolution operation process shares the same convolution kernel, and the convolution operation extracts the local features of the input feature map to form the output feature map. In this way, the convolutional neural network greatly reduces the number of parameters in the neural network, avoiding overfitting to a certain extent.
[0076] The pooling layer (also called the downsampling layer) follows the convolution layer. Each feature plane of the pooling layer uniquely corresponds to a feature plane of the previous layer, so the pooling operation does not change the number of feature planes. In the pooling layer, the input feature map is divided into multiple non-overlapping n×n image blocks by sliding windows, and then the pixels in each image block are summed, averaged, or maximized to calculate the output image. In this way, the output image is reduced by n times in both dimensions. The specific calculation formula is:
[0077]
[0078]
[0079] in, is the weight coefficient of the pooling layer, is the bias term of the pooling layer, and the symbol dowm(·) represents the pooling function. The pooling layer aims to obtain spatial invariance by reducing the resolution of the feature plane, playing the role of secondary feature extraction. Each of its neurons is obtained by pooling the local receptive field of the upper feature map.
[0080] In the network structure of the convolutional neural network, after multiple convolutional layers and pooling layers, one or more fully connected layers are connected. In order to improve the performance of the convolutional neural network, the excitation function of the fully connected layer is generally activated by the ReLU function. The output value of the last fully connected layer is passed to the output layer, which can use Softmax logistic regression to classify the input samples, so this layer can also be called the Softmax layer. Its specific calculation formula is:
[0081] x l =f(u l )
[0082] u l =W l x l-1 +b l
[0083] Among them, w l is the weight coefficient of the fully connected layer, b l is the bias term of the fully connected layer. The fully connected layer can integrate the local information with category discrimination in the convolutional layer or pooling layer.
[0084] Step 5: Back propagation improves prediction accuracy.
[0085] Specifically, the back propagation algorithm is a supervised training algorithm that reduces the value of the error function to improve its accuracy. Its essence is based on the gradient descent strategy, which adjusts the parameters in the negative gradient direction of the target to find the optimal parameter value, so that the predicted result is closer to the target value.
[0086] In the fully connected layer, for a multi-classification problem, the total training error is:
[0087]
[0088] Among them, N represents the number of training samples, c represents the number of category labels, represents the true label value of the nth sample in the kth dimension, Represents the label value predicted by the nth sample in the kth dimension through the network forward propagation.
[0089] The error on all training samples is the sum of the errors of each training sample, so we can first consider the back propagation on one sample. For the nth sample, its error is:
[0090]
[0091] The back-propagated error can be regarded as the sensitivity of each neuron to the error, which reflects how the total error E changes with the bias b. The definition formula is as follows:
[0092]
[0093] because Therefore That is, the total error E changes with the bias b and it changes with the net activation u lThe changes in are equal. Back propagation actually trains the network by transferring the error from the high layer to the low layer through sensitivity. In the fully connected layer, its sensitivity can be calculated by the following formula:
[0094]
[0095] in, Represents element-wise multiplication.
[0096] At the output layer, its sensitivity can be calculated by the following formula:
[0097]
[0098] Finally, the sensitivity is used to update the weights of each neuron in the layer. The specific update formula is:
[0099]
[0100]
[0101] The update of bias b can be calculated by sensitivity. Each network parameter has a specific learning rate η. If the learning rate is set too small, the training speed will be slowed down, resulting in a large amount of time required for the training process. If the learning rate is set too large, the training results will diverge, which may cause the model to fail to learn the optimal parameters.
[0102] In the pooling layer, it corresponds to the downsampling layer in the forward propagation, and is sometimes called the upsampling layer in the back propagation. When calculating the sensitivity of this layer, it is necessary to calculate the gradient of the convolution kernel of the next convolution layer connected to this layer, so it is necessary to find the correspondence between the local area of this layer and the pixels of the next layer. Its sensitivity can be calculated in Matlab as follows:
[0103]
[0104] Among them, conv2(·) represents the convolution function, It means rotating the convolution kernel 180°, and 'full' means filling the missing pixels with zeros and outputting all the results.
[0105] The error signal of bias b can be calculated by summing all elements in the sensitivity map, and its update formula is:
[0106]
[0107]
[0108] For the weight β, we first define: So the update formula of weight β is:
[0109]
[0110]
[0111] In the convolutional layer, according to the back-propagation algorithm, we know that in order to obtain the sensitivity of each neuron in the lth layer, we should first multiply the sensitivity of all neurons related to it in the l+1th layer by the weights and sum them, and then multiply them by the derivative of the activation function of the current layer (the independent variable is the data before activation). In traditional convolutional neural networks, a pooling layer is generally followed by a convolutional layer, so the sensitivity of each neuron in the l+1th layer is associated with the n×n area of the lth layer. For the convenience of calculation, we first upsample the feature map of the l+1th layer to make it the same size as the feature map of the lth layer, and then calculate the sensitivity. The specific formula is as follows:
[0112]
[0113] Where up(·) represents the upsampling function. The specific operation process of this function is to replicate each pixel of the input image n times in both horizontal and vertical dimensions. This process can be achieved by Kronecker product:
[0114]
[0115] With the sensitivity of this layer, we can update the bias b by summing all elements in the sensitivity map:
[0116]
[0117]
[0118] From the back propagation algorithm, we know that the partial derivative of the convolution kernel is equal to the product of the feature map of the l-1th pooling layer and the sensitivity map of the lth convolution layer. Since each neuron in the feature map of the convolution layer is obtained by convolving a certain area in the feature map of the previous pooling layer with the convolution kernel, each neuron contributes to the weight, and the partial derivative of the convolution kernel is the sum of the contributions. This can be implemented using Matlab with the following statement:
[0119]
[0120] Here, 'valid' means returning the result calculated without using the edge zero padding during the convolution operation.
[0121] By obtaining the breast cancer gene expression data in the patient, relying on the above-established convolutional neural network structure model to identify the cancer subtypes of breast cancer and formulating corresponding treatment strategies for different cancer subtypes can greatly improve the survival rate of patients; the convolutional neural network structure model combines the two stages of feature extraction and classification, avoiding manual feature extraction; its special convolution structure greatly reduces the number of model parameters, thereby effectively avoiding overfitting; and the global training process is realized through the back propagation method.
[0122] The above only describes some exemplary embodiments of the present invention by way of illustration. It is undoubted that those skilled in the art can modify the described embodiments in various ways without departing from the spirit and scope of the present invention. Therefore, the above drawings and descriptions are illustrative in nature and should not be construed as limiting the scope of protection of the claims of the present invention.
Claims
1. A method for classifying breast cancer subtypes based on convolutional neural networks, comprising the following steps: Obtain breast cancer gene expression data; Performing preprocessing operations on the acquired breast cancer gene expression data, wherein the preprocessing operations include filtering data, expanding training sets, normalizing data, and discretizing data; Build a breast cancer subtype classification model, and design and train the model based on the TensorFlow framework; Forward propagation predicts sample data, predicts sample labels based on input data and parameters in the network model, and provides a data basis for the training process of back propagation; Back propagation improves the prediction accuracy, and reduces the value of the error function to improve its own accuracy, so that the prediction result is closer to the target value; the gene expression data of breast cancer patients are obtained from the TCGA database, and the gene expression data are classified according to five subtypes: LuminalA, LuminalB, HER2-enriched, Basal-like and Normal-like; the specific operation of filtering data is: filtering out genes whose average expression data on all samples is less than 5.0; after filtering, log2(1.0+x) is taken as the processed gene expression value; the specific operation of expanding the training set is: according to the principle that the selected training set accounts for 2 / 3 to 4 / 5 of the number of samples, randomly select samples from the filtered samples as the test set, and the remaining samples are used as the training set; to avoid overfitting, each subtype data is expanded 4 times on the training set, and the expanded samples and the original samples are used as the final training set; the specific operation of data normalization is: using the Min-Max method to normalize the sample data to the [0,1] interval; the specific conversion function is as follows: Among them, X' represents the normalized sample data, X represents the sample data before normalization, min is the minimum value in the sample data, and max is the maximum value in the sample data; the specific operation of data discretization is: discretize the normalized data into four values of 0, 1, 2, and 3 based on the four intervals of [0, 0.25), [0.25, 0.5), [0.5, 0.75), and [0.75, 1]; use One-Hot Encoding converts each sample into a two-dimensional matrix, and the size of each sample after conversion is 9622×4; and the label data is also converted into a two-dimensional matrix in the same way; the model is a convolutional neural network structure model, with a total of 5 layers, including INPUT, C1, S2, F3, F4 and OUTPUT; during the convolution operation, a certain area of the previous layer corresponds to a certain neuron of the output feature map, and each convolution kernel repeatedly acts on the entire receptive field; and the convolution operation process shares the same convolution kernel, and the convolution operation extracts the local features of the input feature map to form the output feature map; during the back propagation process, in the fully connected layer, for a multi-classification problem, the total training error is: For the nth sample, the error is: The sensitivity of the fully connected layer can be calculated by the following formula: in, It means element-by-element multiplication; The sensitivity of the output layer can be calculated by the following formula: