第6章 疾病诊断分类

在本章中,读者将会看到一个非常有说服力但有趣的应用,神经网络适合于这种应用:疾病诊断。到目前为止,我们已经发现神经网络可以非常好地应用于分类问题,其中一个是想要自动分配一些记录到某个类别。本章通过介绍如何使用神经网络设计分类算法的基础知识来深入了解这一点。本章涵盖的主题如下:

  • 分类问题基础知识
  • 逻辑回归
    • 二分类和多分类
    • 混淆矩阵
    • 敏感性和特异性
  • 分类问题神经网络
    • Java代码改进
  • 利用神经网络进行疾病诊断
    • 癌症诊断
    • 糖尿病诊断

神经网络真正擅长的是分类。一个非常简单的感知机网络可以判定边界,这个边界定义数据点是属于特定区域还是属于另一区域,其中区域表示类。让我们来看看x-y散点图,如图6-1所示。

..\0601.tif

图6-1

虚线将点明确地分成了类。这些点表示最初具有相应类标签的数据记录。这意味着它们属于哪类是已经确定,因此,这种分类任务属于监督学习。

分类算法试图寻找在多维空间中数据的类边界。一旦定义了分类边界,未分类的新数据点就可以根据分类算法定义的边界接收类标签。图6-2显示了新记录如何分类的示例。

..\0602.tif

图6-2

根据当前类的结构,新纪录是属于第3类的。

我们已经介绍了神经网络可以作为数据分类器,通过数据在多维空间中建立决策边界。该边界在感知机神经网络中是线性的,但在其他神经网络结构(例如多层感知机网络、Kohonen神经网络或Adaline神经网络)的情况下是非线性的。线性情况基于线性回归,其中分类边界字面上是一条线,如图6-2所示。如果数据的散点图看起来像图6-3所示,则需要非线性分类边界。 ...

Get 神经网络算法与Java编程 now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.