医疗 AI 系统构建(1)one-hot 编码
当前医疗相关的AI非常热门,有很多公司都在通过最新的深度学习技术进行医疗相关AI产品的开发工作。当前的AI就像是积木一样,成熟的技术加上大量标注数据,能够比较容易的构建相对智能的AI产品,医疗领域也不列外。既然构建AI产品已经相对简单,如何才能驾驭AI技术呢?如果作为工程领域,个人建议多了解AI涉及技术的基本知识,知道技术线条是如何运作,而不必拘泥于具体的技术细节;如果深入算法,我觉得需要有深入的专业学习,以及相应的牛人指导,才可能在一个大舞台有一席之地。
本系列文章希望能够讲清楚医疗AI涉及的一些概念技术,通过了解这些技术能够基本判断一个AI产品的可信度,也可以借助概念构建自己的AI产品。
假设我们希望构建的是一个医疗诊断产品,期望能够通过一些临床症状和诊断,推断一个病人得了什么疾病,或者辅助医生进行诊断。为了完成这一目标,如果构建一个简单的模型就是诊断输入,疾病输出。
(症状列表、诊断记录)====> (可能的疾病)
这里忽略了大量的细节,后面再慢慢展开,首先解决一个基本问题就是怎么才能让计算机知道输入的是什么症状是那些呢?
这里就用到一种最基本的编码,one-hot编码。计算机是一个计算数值的机器,它没法理解发烧、咳嗽是什么意思,因此我们需要将这类特征转变成为计算可识别的指标。而one-hot编码就是这些方法之中的一个。首先,需要列出可能出现的症状或者诊断,如下图中,有多个独立的事件。可能有发烧,咳嗽,X光诊断、或者用药情况。one-hot根据名字就可以看出来,首先需要把所有的时间列出来,形成一个矩阵,在矩阵列中对应有问题或者出现情况为1,且只有一个是1 通过这样的处理就能够描述一个基本的情况。
下图来源:https://academic.oup.com/jamia/article/24/2/361/2631499
如果使用医疗相关术语不好理解,可以这样考虑。假如一个班级有张三、李四、王五三个人。怎么代表这几个人呢?首先张三、李四、王五都有一个固定列,张三在第一排、李四第二排、王五第三排。那么one-hot编码后就是这样
张三 李四 王五
张三 1 0 0
李四 0 1 0
王五 0 0 1
将这个简单的内容推广到N,就容易理解了。
把离散的特征用这种编码表示,才可以参与后面的运算,也是数据预处理的基本步骤。
因为是解释性的文章,就不贴代码了。
版权声明: 本文为 InfoQ 作者【刘旭东】的原创文章。
原文链接:【http://xie.infoq.cn/article/2b1814816d38eb08ea3757abf】。
本文遵守【CC-BY 4.0】协议,转载请保留原文出处及本版权声明。
评论