1
特征选取,避免被不相关的特征干扰:
可以明显的看到,不同的特征,结果还是差别很大的,如果我只用选取上图准确率最高的一类特征来训练模型,80.32%测试结果将比使用全部特征作为训练数据71%好不少,这个DWT-Approx(4-14Hz) db2,k=1 特征就相当于我们第一个例子中找正方体的‘形状’特征,即主要特征。那么针对未来的训练,我们可以尝试提取表现最好的几个特征就好了;为什么选最好的几个特征,只选最好的那一个不是更高吗
1 | 在特征选择时,选择几个表现最好的特征通常比只选一个最好的特征更可靠和有效。以下是一些原因: |
2
3
4
现在知道乘客每次乘坐出租车的公里数,也知道乘客每次下车的时候支付给出租车司机的总费用。但是并不知道乘车的起步价,以及每公里行驶费用是多少。希望让机器从这些数据当中学习出来计算总费用的规则。
更具体的,想要让机器学习程序通过数据学习出来下面的公式当中的参数 w 和参数 b(这是一个非常简单的示例,所以w和b都是浮点数,随着对深度学习了解的深入,你将会知道w和b通常情况下会是矩阵和向量)。这样,当下次乘车的时候,知道了行驶里程distance_travelled的时候,就可以估算出来用户的总费用total_fee了。
1 | total_fee = w * distance_travelled + b |
在这个机器学习任务中,已经知道了乘客的行驶里程distance_travelled,和对应的,这些乘客的总费用total_fee。
通常情况下,在机器学习任务中,像distance_travelled这样的输入值,一般被称为x(或者特征feature),像total_fee这样的输出值,一般被称为y(或者标签label)。
可以用paddle.to_tensor把示例数据转换为paddle的Tensor数据。
tensor
飞桨使用张量(Tensor) 来表示神经网络中传递的数据,Tensor 可以理解为多维数组,类似于 Numpy 数组(ndarray) 的概念。与 Numpy 数组相比,Tensor 除了支持运行在 CPU 上,还支持运行在 GPU 及各种 AI 芯片上,以实现计算加速;此外,飞桨基于 Tensor,实现了深度学习所必须的反向传播功能和多种多样的组网算子,从而可更快捷地实现深度学习组网与训练等功能。两者具体异同点可参见下文 Tensor 与 Numpy 数组相互转换。
在飞桨框架中,神经网络的输入、输出数据,以及网络中的参数均采用 Tensor 数据结构,示例如下:
1 | def train(model): |
model.train()
在训练开始之前写上 model.trian() ,在测试时写上 model.eval()。
在使用PyTorch构建神经网络进行训练时,我们通常会在训练过程中的代码中添加model.train()这一句,以确保启用Batch Normalization(BN)和Dropout层的功能。
批标准化 (Batch Normalization)
</div> </details>
- link: http://tumytime.github.io/2024/03/08/paddle学习笔记/
- Copyright notice: All articles on this website, unless otherwise stated, adopt CC BY-NC-ND 4.0 reprint policy. If reproduced, please indicate source!