人工智能在医疗领域的应用实战(附源码)!

尽管人工智能在我们一部分人中引起了恐惧,但它也以多种方式让我们受益。医疗保健中的人工智能正在通过提供协助来彻底改变医疗行业。本篇博客将帮助您了解人工智能在医疗保健领域的积极影响。

以下是本文中将要涵盖的主题:

  1. 什么是人工智能?
  2. 医疗保健中的人工智能
  3. 什么是机器学习?
  4. 什么是深度学习?
  5. 动手实践

什么是人工智能?

人工智能是使用机器学习、深度学习、自然语言处理和许多其他技术来构建可以执行高级计算和解决复杂问题的人工智能模型的过程。

什么是人工智能 – 医疗保健中的人工智能 – Python技术站

现在让我们了解人工智能在医疗保健领域是如何应用的。

医疗保健中的人工智能

自 1950 年代引入人工智能以来,它一直在影响各个领域,包括市场营销、金融、游戏行业,甚至音乐艺术。然而,人工智能的最大影响是在医疗保健领域。PWC(Pricewaterhouse Coopers)最新报告显示,到2030年,人工智能将为世界经济额外贡献15.7万亿美元,其中影响最大的将是医疗保健领域。

在下面的部分中,您将了解如何使用 AI 来解决现实世界的问题。

数据管理中的人工智能

人工智能通过实施认知技术来解开大量医疗记录并执行强大的诊断,从而使医疗保健组织受益。以使用人工智能和机器学习来预测用户意图的预测服务提供商 Nuance 为例。

人工智能管理医疗数据 – 医疗保健中的人工智能 – Python技术站

在组织的工作流程中实施 Nuance,可以开发个性化的用户体验,使公司能够采取更好的服务来增强客户体验和整体的业务收益。

以下是 Nuance 的主要功能:

  • 提高服务效率:通过学习能够精准预测出用户的意图 ,并提出最准确的解决办法,确保满足消费者的实际需求。

  • 减少客户呼叫、咨询时间:预测客户的意图,并将客户转移到其他在线服务上,极大地减少了呼叫量和咨询时间,降低了大量成本。

  • 减少客户流失:使用机器学习和自然语言处理技术,根据客户的历史数据、搜索记录、当前的情绪等各种因素,预测可能降低企业服务好评率的客户行为,并采取适当的行动来避免此类客户流失。

管理医疗数据的人工智能

  • 自动化处理繁琐的任务:通过一个自动化系统处理重复单调任务,该系统还可以发送短信通知。使用此类基于 AI 的聊天机器人可以使服务变得更加简单。

医学诊断中的人工智能

“到 2024 年,由 AI 驱动的医学成像和诊断应该会增长 40% 以上,超过 25 亿美元。” –全球市场洞察力。

借助神经网络和深度学习模型,人工智能正在彻底改变医学图像诊断领域。它接管了 MRI 扫描的复杂分析,并使其成为一个更简单的过程。

医学诊断中的人工智能 – 医疗保健中的人工智能 – Python技术站

  • 由于 MRI 扫描包含的信息量大,因此很难对其进行分析。正常的 MRI 分析需要几个小时,研究人员试图从大型数据集中得出结果,等待数小时以等待计算机生成扫描结果。
  • 可以在神经网络的帮助下分析大型和复杂的数据集,这正是麻省理工学院的一个研究团队所实现的。他们开发了一个名为 VoxelMorph 的神经网络,该网络接受了大约 7000 次 MRI 扫描数据集的训练。
  • 神经网络的功能是在一端输入数据,该数据在整个网络中进行转换,直到形成最终所需的输出。神经网络的工作原理是权重和偏差。

VoxelMorph 成功击败了传统的 MRI 分析方法。神经网络只需几秒钟即可执行 MRI 分析,而传统 MRI 程序需要数小时才能完成分析。

早期检测中的人工智能

人工智能在心脏病发作等疾病的早期预测中发挥了关键作用。许多基于 AI 的可穿戴健康追踪器已被开发出来,用于监测人的健康状况,并在设备收集到异常或不太可能的情况时显示警告。此类可穿戴设备的示例包括 Fitbit、Apple Watch 等。

早期预测中的人工智能 – 医疗保健中的人工智能 – Python技术站

“预防胜于治疗”,这是最新发布的 Apple Watch 背后的座右铭。

  • 苹果公司使用人工智能制造了一款可以监测个人健康的手表。

  • 这款手表收集人的心率、睡眠周期、呼吸频率、活动水平、血压等数据,并全天候 24/7 记录这些测量值。

  • 然后使用机器学习和深度学习算法对收集到的数据进行处理和分析,以构建预测心脏病发作风险的模型。

多亏了 Apple Watch,一个名叫Scott Killian 的人救了他的命。

医疗救助中的人工智能

随着医疗救助需求的增长,基于人工智能的虚拟护士的发展也在增加。根据最近的一项调查,到 2027 年,虚拟护理助理的最大近期价值将达到 200 亿美元。

Sensely 是虚拟护士的一个例子,它实施自然语言处理、语音识别、机器学习和与血压袖带等医疗设备的无线集成,为患者提供医疗帮助。

医疗救助中的人工智能

以下是虚拟护士 Sensely 提供的主要功能列表:

  • 自我护理
  • 临床建议
  • 安排约会
  • 护士专线
  • 急诊方向

随着医疗保健领域的此类革命,很明显,尽管存在风险和所谓的“威胁”,人工智能仍在许多方面使我们受益。

决策中的人工智能

人工智能在决策制定中发挥了重要作用。不仅在医疗保健行业,人工智能还通过研究客户需求和评估任何潜在风险来改善业务。

人工智能在决策中的一个强大用例是使用手术机器人,它可以最大限度地减少错误和变化,并最终帮助提高外科医生的效率。达芬奇就是这样一种手术机器人,它的名字非常贴切,它允许专业外科医生以比传统方法更好的灵活性和控制力来实施复杂的手术。

决策中的人工智能  – 医疗保健中的人工智能 – Python技术站

达芬奇的主要特点包括:

  • 用一套先进的仪器帮助外科医生
  • 在控制台实时翻译外科医生的手部动作
  • 生成清晰、放大的手术区域 3D 高清图像

手术机器人不仅协助决策过程,而且还通过提高准确性和效率来提高整体性能。

所以他们是一对人工智能在医疗保健领域的实际应用。在整个博客中,我提到了人工智能的两个非常重要的领域,机器学习和深度学习。让我们了解这些术语的确切含义。

什么是机器学习?

机器学习是向机器提供大量数据的过程,以便它们可以解释、处理和分析这些数据,从而产生有利于组织的可操作见解。

什么是机器学习?– 医疗保健中的人工智能 – Python技术站

机器学习的一个更高级的概念是深度学习。让我们了解什么是深度学习。

什么是深度学习?

深度学习是机器学习的一个更高级的领域,它使用神经网络的概念来解决需要高维数据和自动特征提取的更复杂的问题。

什么是深度学习?– 医疗保健中的人工智能 – Python技术站

现在让我们看看如何使用医疗保健中的人工智能案例可以通过使用深度学习概念来实施。

使用 Python 进行深度学习

接下来我将使用 Python 来运行这个实例演示。

问题陈述:研究威斯康星州乳腺癌(诊断)数据集,并为预测乳腺癌分期为 M(恶性)或 B(良性)的神经网络分类器建模。

数据集描述:数据集包含样本中存在的细胞核的描述性信息。它包含大约 32 个属性/特征,有助于对特定样本是否癌变进行分类。您可以在此处找到数据集。

逻辑:构建一个二元神经网络,可以将细胞样本正确分类为癌性或非癌性。产生的输出将是一个包含两个值的分类变量:

  • 恶性——癌细胞
  • 良性——非癌细胞

既然您知道了问题陈述背后的逻辑,是时候戴上侦探眼镜开始编码了。

第一步:导入需要的包

# Linear algebra

import numpy as np

# Data processing
import pandas as pd

import matplotlib as mpl
import matplotlib.pyplot as plt
import matplotlib.pyplot as plt2

from sklearn import preprocessing
from subprocess import check_output

第二步:读取输入数据

# Import the data set
data = pd.read_csv('C://Users//NeelTemp//Desktop//data.csv')

#Display the first few observations in the data set

print(data.head())

         id diagnosis  ...  fractal_dimension_worst  Unnamed: 32
0    842302         M  ...                  0.11890          NaN
1    842517         M  ...                  0.08902          NaN
2  84300903         M  ...                  0.08758          NaN
3  84348301         M  ...                  0.17300          NaN
4  84358402         M  ...                  0.07678          NaN

[5 rows x 33 columns]

第三步:数据处理

# Cleaning and modifying the data
data = data.drop('id',axis=1)
data = data.drop('Unnamed: 32',axis=1)

# Mapping Benign to 0 and Malignant to 1
data['diagnosis'] = data['diagnosis'].map({'M':1,'B':0})

# Scaling the dataset
datas = pd.DataFrame(preprocessing.scale(data.iloc[:,1:32]))
datas.columns = list(data.iloc[:,1:32].columns)
datas['diagnosis'] = data['diagnosis']

# Creating the high dimensional feature space X
data_drop = datas.drop('diagnosis',axis=1)
X = data_drop.values

第 4 步:构建神经网络

# Create a feed forward neural network with 3 hidden layers
from keras.models import Sequential, Model
from keras.layers import Dense, Dropout, Input
from keras.optimizers import SGD

model = Sequential()
model.add(Dense(128,activation="relu",input_dim = np.shape(X)[1]))
model.add(Dropout(0.25))
model.add(Dense(32, activation='relu'))
model.add(Dropout(0.25))
model.add(Dense(32, activation='relu'))
model.add(Dense(1, activation='sigmoid'))
sgd = SGD(lr=0.01, decay=1e-6, momentum=0.9, nesterov=True)
model.compile(loss='binary_crossentropy', optimizer=sgd, metrics=['accuracy'])

第五步:数据拼接和交叉验证

# Fit and test the model by randomly splitting it
# 67% of the data for training and 33% of the data for validation
model.fit(X, datas['diagnosis'], batch_size=5, epochs=10,validation_split=0.33)

# Cross validation analysis
from sklearn.model_selection import StratifiedKFold

# K fold cross validation (k=2)
k = 2
kfold = StratifiedKFold(n_splits=2, shuffle=True, random_state=seed)
cvscores = []
Y = datas['diagnosis']
for train, test in kfold.split(X, Y):

第 6 步:运行模型

# Fit the model
model.fit(X[train], Y[train], epochs=10, batch_size=10, verbose=0)

Train on 381 samples, validate on 188 samples
Epoch 1/10

5/381 [..............................] - ETA: 2:39 - loss: 0.5185 - acc: 0.8000
45/381 [==>...........................] - ETA: 16s - loss: 0.6274 - acc: 0.6444
100/381 [======>.......................] - ETA: 6s - loss: 0.5755 - acc: 0.7100
155/381 [===========>..................] - ETA: 3s - loss: 0.4560 - acc: 0.7871
215/381 [===============>..............] - ETA: 1s - loss: 0.3723 - acc: 0.8326
260/381 [===================>..........] - ETA: 1s - loss: 0.3404 - acc: 0.8538
305/381 [=======================>......] - ETA: 0s - loss: 0.3252 - acc: 0.8623
381/381 [==============================] - 3s 7ms/step - loss: 0.2802 - acc: 0.8845 - val_loss: 0.0870 - val_acc: 0.9628

Epoch 2/10

5/381 [..............................] - ETA: 0s - loss: 0.0647 - acc: 1.0000
165/381 [===========>..................] - ETA: 0s - loss: 0.0966 - acc: 0.9758
381/381 [==============================] - 0s 314us/step - loss: 0.0944 - acc: 0.9659 - val_loss: 0.0497 - val_acc: 0.9894

第 7 步:模型评估

# evaluate the model
scores = model.evaluate(X[test], Y[test], verbose=0)

# Print scores from each cross validation run
print("%s: %.2f%%" % (model.metrics_names[1], scores[1]*100))

acc: 97.89%
acc: 97.89%

cvscores.append(scores[1] * 100)
print("%d-fold cross validation accuracy - %.2f%% (+/- %.2f%%)" % (k,np.mean(cvscores), np.std(cvscores)))

2-fold cross validation accuracy - 97.89% (+/- 0.00%)

因此,正如您所见,神经网络为我们提供了 97.89% 的准确率,这是一个相当不错的分数。如果您希望进一步改进模型,可以执行参数调整和优化技术,例如具有更有效值的 drop-off 方法。

如果您仍然对人工智能感到好奇,这里有一些您可能感兴趣的博客:

  1. 深入理解什么是人工智能,以及它能解决什么问题
  2. 人工智能导论:关于人工智能你需要知道的一切
  3. 10 大人工智能实际应用
  4. 如何成为人工智能工程师?一文规划职业路线图!

以上就是人工智能在医疗保健中的应用方法。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:人工智能在医疗领域的应用实战(附源码)! - Python技术站

(0)
上一篇 2022年12月1日 下午8:44
下一篇 2022年12月2日 下午8:19

相关文章

  • 人人都能看懂的循环神经网络RNN

    循环神经网络 基础篇   我们假设您有一个管家,他很擅长做苹果派、汉堡以及炸鸡这三样食物。管家制作食物的种类取决于天气,若是晴天,他会做苹果派;若是雨天,他会做汉堡。这样制作食物的规则很容易用神经网络来表示。   我们接下来用数学语言描述上述过程,利用一些向量表示食物,再用一些向量表示天气。苹果派=[100]汉堡=[010]炸鸡=[001]晴天=[10]雨天…

    2023年4月8日
    00
  • 用CNN对文本处理,句子分类(简单理解卷积原理)

    首先需要理解N-gram https://zhuanlan.zhihu.com/p/32829048对于在NLP中N-gram的理解,一元,二元,三元gram 大多数 NLP 任务的输入不是图像像素,而是以矩阵表示的句子或文档。矩阵的每一行对应一个标记,通常是一个单词,但它也可以是一个字符。也就是说,每一行都是代表一个单词的向量。通常这些向量是像 word2…

    2023年4月5日
    00
  • 李宏毅机器学习笔记-12.2 循环神经网络(Recurrent Neural Network-RNN)- part 2

    Recurrent Neural Network(RNN) – 循环神经网络(part 2) 1 训练 RNN 1.1 定义 Loss 如上图中,每一个单词对应一个 Slot,将句子按顺序丢进 Network 中,产生一个输出 y,将每个 y 与预期的正确输出做 cross entropy,然后累加起来,就是最终的 Loss。(注意,顺序不能打乱)。 1.2…

    2023年4月8日
    00
  • pytorch的visdom启动不了、蓝屏

    pytorch的visdom启动不了、蓝屏     问题描述:我是在ubuntu16。04上用python3.5安装的visdom。可是启动是蓝屏:在网上找了很久的解决方案:有三篇博文:      https://blog.csdn.net/qq_22194315/article/details/78827185 https://blog.csdn.net/…

    PyTorch 2023年4月8日
    00
  • 机器学习(二)分类决策树

      分类决策树是一种基于特征对实例进行划分的树形结构。如下图: 图中包括有内部节点和叶子节点,叶子节点表示的是分类结果,而内部节点表示基于特征对实例的划分。如根节点,是根据特征x1是否大于a1进行划分,划分成两个内部节点,但是此时的两个内部节点各自所包含的实例中依然有不同类别的实例,需要进一步划分;于是在x1<a1(左子树)的实例中,根据特征x2是否大…

    机器学习 2023年4月10日
    00
  • 【深度学习理论】通俗理解生成对抗网络GAN

    作者 | 陈诚 来源 | 机器学习算法与自然语言处理 ▌1. 引言 自2014年Ian Goodfellow提出了GAN(Generative Adversarial Network)以来,对GAN的研究可谓如火如荼。各种GAN的变体不断涌现,下图是GAN相关论文的发表情况: 大牛Yann LeCun甚至评价GAN为 “adversarial trainin…

    2023年4月5日
    00
  • 目标检测:从overfeat到Fast R-CNN

    以下内容摘自斯坦福cs231n目标检测课程: 计算机视觉任务: ImageNet 分类和定位任务: Idea #1:定位问题视为回归问题 实现步骤: 1. 训练(或下载)一个分类模型(AlexNet, VGG, Inception) 2. 添加新的全连接层用作“回归” 3. 仅训练“回归”模块,SGD,L2 Loss 4. 测试时加入“分类”和“回归” 回归…

    2023年4月8日
    00
  • 目标检测论文解读3——Fast R-CNN

    背景   deep ConvNet兴起,VGG16应用在图像分类任务上表现良好,本文用VGG16来解决检测任务。SPP NET存在CNN层不能fine tuning的缺点,且之前的方法训练都是分为多个阶段,特征提取+SVM分类+边框回归,这些问题在Fast R-CNN上都得到了解决。 方法   网络模型采用VGG16结构,跟SPP NET相比有如下改进。  …

    目标检测 2023年4月8日
    00
合作推广
合作推广
分享本页
返回顶部