归一化:
- 将大数量级
特征
转化到较小的数量级下,通常是[0,1]或[-1,1]
为什么要归一化:
- 绝大多数TensorFlow.js的模型都不是给特别大的数设计的
- 将不同数量级的
特征
转换到统一数量级,避免某个特征影响过大
归一化任务实例-身高体重预测:
- 准备身高体重数据,可视化
1 | //模拟标签和特征 |
- 用TFJS的API
归一化
数据
1 | //将数据转换为tensor 并归一化 |
- 归一化后数据:
- 训练模型并预测
1 | //创造一个连续模型 |
- 将结果反归一化为正常数据
1 | //将输出的Tensor反归一化并转为普通数据并显示 |
- 预测结果:
上述例子中,归一化的关键步骤就是:
1
2减去 min(最小值)
除以 diff(最大值最小值的差)反归一化的关键步骤就是归一化的反操作:
1
2乘以 diff
加上 min