采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
老师,对于下面这句代码 x_train_scaled = scaler.fit_transform( x_train.astype(np.float32).reshape(-1, 1)).reshape(-1, 28, 28) 这里 x_train.astype(np.float32).reshape(-1, 1)为什么要reshape成(-1,1),不应该是reshape成(-1,28*28)吗
https://scikit-learn.org/stable/modules/generated/sklearn.preprocessing.StandardScaler.html#sklearn.preprocessing.StandardScaler.fit_transform
这里需要注意两点:
第一点:fit_transform的输入必须是二维矩阵[n_examples, features],
第二点:fit_transform会在每个feature上单独计算均值和方差然后做归一化,我们在这里需要的是全局的均值和方差,所以最后一维是1.
老师,假如有n个样本,每个样本有m个特征,对于sklearn中StandardScaler的fit_transform方法,我的理解是对m组(每组有n个数)特征分别进行独立的归一化处理,而咱们课程中讲的是将n_examples*28*28看成一整个大组,对整个整个大组进行归一化,看成一个大组这样做的目的是要比对28*28组分别进行独立归一化处理的效果要好吗?还是有什么别的目的呢?
同问,好像是每个特征单独归一化,,单从最后准确率看不出问题,因为归一化本质不影响训练的正确性,只是加快速度和准确率
登录后可查看更多问答,登录/注册
Tensorflow2.0实战—以实战促理论的方式学习深度学习
3.2k 1
1.8k 3
1.6k 19
1.8k 13
2.5k 7
购课补贴联系客服咨询优惠详情
慕课网APP您的移动学习伙伴
扫描二维码关注慕课网微信公众号