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

yizhihongxing

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

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

  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

相关文章

  • 图片的通道数和卷积核的深度

        卷积过程中,输入层有多少个通道,滤波器就要有多少个通道,但是滤波器的数量是任意的,滤波器的数量决定了卷积后 featuremap 的通道数(与result区别)。     如果把输入当做一个立方体的话,那么 filter 也是一个立方体,它们卷积的结果也是一个立方体,并且上面中 input、filter、Result 的通道都是一致的。 但卷积过程的…

    2023年4月5日
    00
  • 如何在Caffe下实现SSD

    一. 配置 Caffe环境及下载、编译、测试SSD源码 1.下载源码 git clone https://github.com/weiliu89/caffe.git cd caffe git checkout ssd 2. 编译源码 配置Makefile.config 【Instuction】【已配置好文件】 编译python接口等 make -j8 # M…

    2023年4月5日
    00
  • pytorch神经网络实现的基本步骤

    转载自:https://blog.csdn.net/dss_dssssd/article/details/83892824 版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。本文链接:https://blog.csdn.net/dss_dssssd/article/details/83892824  ——…

    PyTorch 2023年4月8日
    00
  • 基于TensorFlow+SSD的目标检测(代码运行笔记)

    一、代码来源:https://github.com/balancap/SSD-Tensorflow二、使用工具:Ubuntu14.04、Python3.5、jupyter、pip3安装Python3.5:sudo apt-get install python3安装pip3:sudo apt-get install python3-pip安装jupyter:p…

    2023年4月8日
    00
  • 机器学习|k-近邻(KNN)算法改进约会网站的配对效果

    使用Python实现k-近邻算法的一般流程为: 1、收集数据:提供文本文件 2、准备数据:使用Python解析文本文件,预处理 3、分析数据:可视化处理 4、训练算法:此步骤不适用与k——近邻算法 5、测试算法:使用海伦提供的部分数据作为测试样本。测试样本与非测试样本的区别在于:测试样本是已经完成分类的数据,如果预测分类与实际类别不一样,则标记为一个错误。 …

    机器学习 2023年4月11日
    00
  • 使用基于Caffe的MobileNet分类踩坑备忘录

    首先要帮Caffe甩个锅:Caffe对图像处理进行了很高明的封装,以protobuffer形式组织的搭积木式的网络构建也很灵活方便,这里的坑都是自己腿不好,走路不稳崴进去的。 1. Caffe的一个iter是一个batch,不是一个epoch。 2. 使用现有模型存档对网络进行fine_tune的时候,由于改变了输出的number,最后一层必须重新命名,目的…

    Caffe 2023年4月8日
    00
  • 目标检测之Faster-RCNN的pytorch代码详解(数据预处理篇)

    首先贴上代码原作者的github:https://github.com/chenyuntc/simple-faster-rcnn-pytorch(非代码作者,博文只解释代码) 今天看完了simple-faster-rcnn-pytorch-master代码的最后一个train.py文件,是时候认真的总结一下了,我打算一共总结四篇博客用来详细的分析Faster…

    2023年4月8日
    00
  • 卷积网络中的通道(Channel)和特征图

    转载自:https://www.jianshu.com/p/bf8749e15566         今天介绍卷积网络中一个很重要的概念,通道(Channel),也有叫特征图(feature map)的。       首先,之前的文章也提到过了,卷积网络中主要有两个操作,一个是卷积(Convolution),一个是池化(Pooling)。       其中池…

    2023年4月7日
    00

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

合作推广
合作推广
分享本页
返回顶部