Member-only story

你的机器 “不肯” 学习,怎么办?

Shuyi Wang
13 min readJun 20, 2022

--

给你讲讲机器学习数据预处理中,归一化(normalization)的重要性。

Photo by Rock’n Roll Monkey on Unsplash

前情回顾

Previously, on 玉树芝兰 ……

我给你写了一篇《如何用 Python 和 Tensorflow 2.0 神经网络分类表格数据?》,为你讲解了 Tensorflow 2.0 处理结构化数据的分类。

结尾处,我给你留了一个问题

把测试集输入模型中,检验效果。结果是这样的:

model.evaluate(test_ds)

准确率接近80%,看起来很棒,对吗?

但是,有一个疑问:

注意这张截图。训练的过程中,除了第一个轮次外,其余4个轮次的这几项重要指标居然都没变

它们包括:

  • 训练集损失
  • 训练集准确率
  • 验证集损失
  • 验证集准确率

所谓机器学习,就是不断迭代改进。

如果每一轮下来,结果都一模一样,这里八成有鬼。

我给了你提示:

看一个分类模型的好坏,不能只看准确率(accuracy)。对于二元分类问题,你可以关注一下 f1 score,以及混淆矩阵(confusion matrix)。

这段时间,你通过思考,发现问题产生原因,以及解决方案了吗?

从留言的反馈来看,有读者能够正确指出了问题。

但很遗憾,我没有能见到有人提出正确和完整的解决方案。

这篇文章,咱们就来谈谈,机器为什么 “不肯学习”?以及怎么做,才能让它 “学得进去”。

环境

--

--

Shuyi Wang
Shuyi Wang

Written by Shuyi Wang

PhD in Information Science. Associate Professor at Tianjin Normal University. Former Adjunct Faculty at UNT. First Prize Winner of HackNTX 2018.

No responses yet