知足常乐|写给医生的人工智能体验课(三):利用SPSS、R、python建立简单的神经网络
之前我们介绍了人工智能和大数据的结合(详情请查看:写给医生的人工智能体验课(一):作为医生 , 怎么跟进人工智能不落伍?) , 深度学习的数学模型(详情请查看:写给医生的人工智能体验课(二):用比喻的方式形象讲解神经网络) 。
该数据集来自医咖会之前的一篇SPSS教程(SPSS实例教程:二分类Logistic回归) 。 某呼吸内科医生拟探讨吸烟与肺癌发生之间的关系 , 开展了一项成组设计的病例对照研究 。 选择该科室内肺癌患者为病例组 , 选择医院内其它科室的非肺癌患者为对照组 。 通过查阅病历、问卷调查的方式收集了病例组和对照组的以下信息:性别、年龄、BMI、COPD病史和是否吸烟 。
现在的任务是把344例的数据集拆分为训练集和测试集 , 建立一个简单的神经网络模型 , 看看模型的训练效果怎么样 。
表1. 肺癌危险因素分析研究的变量与赋值
表2. 部分原始数据
一.SPSS建模步骤如下
1.选择分析—神经网络—多层感知器
2. 变量窗口:要预测的结局变量放在因变量窗口 , 其他的预测变量根据自身类型放在因子或协变量窗口 。 连续型变量进入网络时 , 如果做标准化预处理可能会使模型效果更好 。
3. 分区窗口:一般是训练样本占70% , 检验样本30% 。 这里软件的翻译可能存在错误 , 训练、检验、坚持其实分别对应:训练集、验证集、测试集 。 训练集用于训练模型 , 找出最佳的权重和偏置 。 验证集用以确定模型超参数 , 选出最优模型 。 测试集仅用于对训练好的最优函数进行性能评估 。 本案例不存在外部验证集 , 不需要设置 , 检验集就等同于测试集 。
4. 神经网络结构设置:我们参照上一课 , 隐藏层设置1层 , 共3个神经单元 。 SPSS只能设置两个隐藏层 。 隐藏层激活函数选择S型(sigmoid) , 因为输出是二分类的结果 , 选择softmax函数会更好 。 怎么设置网络隐藏层并不固定 , 更多的需要经验和反复尝试 。
5. 对于较大的数据集 , 联机或小批次会加快训练速度 。 SPSS分析的数据一般都没这么大 , 默认选项即可 。 梯度下降是寻找损失函数最小值点的方法 , 参考上节课内容 。
6. 输出:选择想要了解的内容 , 输出结果
结果解读:个案处理摘要显示了有多少例训练集与检验集 。 网络信息显示每一层的基本信息 。 误差函数就是上节课提及的损失函数 , 这里默认的是交叉熵函数 。
推荐阅读
- 想好好做医生的胖子|五十岁女性经常有周身无力和疼痛的困扰!该如何应对?医生告诉您
- 时尚穿搭|日系穿搭不容错过,可爱风女生的必备穿搭,小个子女生看过来
- 扒褂|“芒果发卡”风很大?理科生VS体育生,看到美术生的:不怕下雨吗?
- 中国历史上发生的疫情|中国历史上发生的疫情 中国历史上发生的疫情那次“香港流感
- 中国历史上发生的疫情|中国历史上发生的疫情!古代中国疫灾是如何报告与处置的呢
- 【财富】当一个人想明白了这3个问题,会越来越“富有”,别不信
- 印度|印度造舰时发生的奇葩意外:航母即将完工,才突然发现未装发动机
- 中国历史上发生的疫情|中国历史上发生的疫情?中国历史上发生的疫情:中国历代发生大的疫灾
- 环球网|写给想要进入艺术行业的后浪们
- 中国曾经发生的疫情|中国曾经发生的疫情:中国曾经发生的疫情 污蔑中国为何成了西方精英的“刚
