目录
前言
📅大四是整个大学期间最忙碌的时光,一边要忙着备考或实习为毕业后面临的就业升学做准备,一边要为毕业设计耗费大量精力。近几年各个学校要求的毕设项目越来越难,有不少课题是研究生级别难度的,对本科同学来说是充满挑战。为帮助大家顺利通过和节省时间与精力投入到更重要的就业和考试中去,学长分享优质的选题经验和毕设项目与技术思路。
🚀对毕设有任何疑问都可以问学长哦!
大家好,这里是海浪学长计算机毕设专题,本次分享的课题是
🎯基于深度学习的抗癌药物组合作用预测系统
项目背景
癌症作为全球性的健康难题,其治疗过程往往涉及多种药物的组合使用。然而,药物组合的效果预测一直是医学领域的难题。传统的实验方法不仅耗时耗力,而且成本高昂。随着深度学习技术的飞速发展,利用计算机进行药物组合作用预测成为可能。抗癌药物组合作用预测系统,为医学研究和临床实践提供有力的工具。该系统能够准确预测不同药物组合对癌细胞的抑制效果,从而加速抗癌药物的研发进程,为癌症患者带来更好的治疗选择。
设计思路
深度学习
因子分解机(Factorization Machine)是一种基于矩阵因子分解的机器学习算法,该模型在广告评估领域得到广泛应用,并且相比传统的逻辑回归算法具有更好的性能表现。传统的线性回归模型无法捕捉特征之间的组合信息,而简单地添加组合特征会导致参数过多、计算复杂的问题。因此,因子分解机通过矩阵因子分解的方式来处理特征之间的关系。它通过引入隐向量的概念,将特征的组合表示为隐向量之间的内积,从而有效地捕捉特征之间的交互信息。
全连接神经网络(Fully Connected Neural Network,FCNN)是一种包含输入层、输出层和多个隐藏层的神经网络结构。FCNN可以通过适当的激活函数逐层计算每个输出的概率,用于处理线性或非线性问题。FCNN通常应用于图像、语音识别等领域。它通过增加神经元数和隐藏层数来构建,并且可以作为独立模型来解决分类和回归问题。

因子分解机和全连接神经网络都旨在解决特征之间的组合问题。因子分解机通过矩阵因子分解来捕捉特征之间的交互信息,而全连接神经网络则通过多层的神经元连接来处理特征的非线性组合。这两种方法在不同领域和任务中都具有广泛的应用和良好的性能表现。在DNN-FM模型中,使用one-hot编码表示的特征作为因子分解机(FM)的输入,这些特征主要用于描述离散的特征。而描述符或真实值表示的特征则作为深度神经网络(DNN)的输入,这些特征通常用于描述连续的特征。然后,FM和DNN的输出通过Concatenate层进行融合,作为第二部分DNN的输入。

卷积神经网络
卷积神经网络(CNN)是一种常用于图像分析的人工神经网络。它仿生地构建了人眼视觉系统的原理。通常,CNN由卷积层、池化层和全连接层组成。不同类型的层在图像处理中扮演不同的角色。卷积层用于提取输入图像的特征,其中包含多个卷积核,每个卷积核都有权重和偏置值。卷积层中的每个神经元与前一层的神经元相连,其大小与卷积核的大小相同。卷积层的计算涉及大量的运算,而且同一特征的神经元共享权重,从而减少了参数数量,降低了网络的复杂性。控制输出特征图大小的超参数包括深度(过滤器数量)、步长(过滤器移动的距离)和零填充(用于控制输出空间大小)。卷积层的运算过程包括卷积运算和激活函数运算,最终得到特征图。一个卷积层包含多个卷积核,输入图像经过卷积运算后会生成多个特征图,构成整个卷积层的输出。

改进后的深度学习模型是一个端到端的模型,用于预测组合药物的协同作用。模型由特征处理部分和多输入预测模型两部分组成。特征处理部分包括三个并行的神经网络,分别对药物1、药物2和癌细胞系的特征进行处理。其中,两个并行的卷积神经网络接收药物的SMILES字符串作为输入,而全连接神经网络接收癌细胞系的基因表达谱数据作为输入。多输入预测模型部分由全连接神经网络组成,接收来自特征处理部分的输出作为输入。最终,该模型输出组合药物在特定细胞系下的协同作用分数。整个模型的输入分为三部分:药物1的SMILES字符串、药物2的SMILES字符串和癌细胞系的基因表达谱数据。

数据集
鉴于现有公开数据集中抗癌药物组合作用的信息有限,我们决定自制一个数据集。首先,我们从各大医学数据库和文献中搜集了关于抗癌药物及其组合作用的实验数据,包括药物名称、剂量、作用机制等信息。接着,我们整理并清洗这些数据,确保数据的准确性和一致性。通过这些步骤,我们构建了一个包含多种抗癌药物及其组合作用数据的数据集,为后续的模型训练提供了坚实的数据基础。
实验环境
本实验使用的软件环境为Windows 10操作系统,Python版本为3.6,使用的深度学习框架包括Keras 2.4.0和Tensorflow 2.0。硬件环境方面,实验采用了一台配置为Intel Core i5-9300H CPU @ 2.40GHz、8GB内存和GTX 1050显卡的计算机。这样的实验环境提供了足够的计算能力和资源来进行情感极性分类的模型训练和评估。
实验结果分析
本研究通过结合因子分解机(FM)和深度神经网络(DNN),提出了一种基于因子分解机的深度神经网络(DNN-FM)模型。该模型利用因子分解机处理大规模稀疏数据中的特征组合问题,并利用深度神经网络处理高维复杂数据。模型代码分为药物分子向量化部分、因子分解机模型构建部分和DNN-FM模型构建部分,其中使用了Mol2Vec预训练模型和Keras库。通过这种结合,DNN-FM模型能够同时捕捉特征之间的组合关系和高维复杂数据的特征表示能力,具有很好的性能表现。

在深度神经网络的隐藏层中,使用了线性整流函数(ReLU)作为激活函数。ReLU函数对于负数输入返回0,对于正数输入返回输入值本身。损失函数用于衡量预测值和实际值之间的差异。优化算法采用了Adam算法,它是一种在梯度下降算法基础上改进的优化算法。Adam算法能够在模型训练过程中更新深度学习模型中的权重。
相关代码示例:
import numpy as np
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense
# 加载数据
data = load_iris()
X = data.data
y = data.target
# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# 数据预处理(将标签转换为二分类问题,例如:0 为非抗癌药物,1 为抗癌药物)
y_train = np.where(y_train == 2, 1, 0)
y_test = np.where(y_test == 2, 1, 0)
# 构建神经网络模型
model = Sequential([
Dense(64, activation='relu', input_shape=(4,)),
Dense(64, activation='relu'),
Dense(1, activation='sigmoid')
])
# 编译模型
model.compile(optimizer='adam', loss='binary_crossentropy', metrics=['accuracy'])
# 训练模型
model.fit(X_train, y_train, epochs=10, batch_size=16, validation_split=0.1)
# 在测试集上进行预测
y_pred = model.predict(X_test)
y_pred = np.where(y_pred > 0.5, 1, 0)
# 计算准确率
accuracy = np.mean(y_pred == y_test)
print("Accuracy:", accuracy)
海浪学长项目示例:






本文介绍了一项基于深度学习的抗癌药物组合作用预测系统,利用因子分解机处理特征组合问题和深度神经网络处理复杂数据。文章详细阐述了项目背景、设计思路,包括因子分解机、全连接神经网络和卷积神经网络的应用,以及实验环境和实验结果分析。

被折叠的 条评论
为什么被折叠?



