Machine Learning第六讲[应用机器学习的建议] --(五)使用大的数据集

xiaoxiao2021-02-27  246

内容来自Andrew老师课程Machine Learning的第六章内容的Using Large Data Sets部分。

Data For Machine Learning(数据的重要性)

如上图所示,如果我们想要找出For breakfast I ate (__) eggs的答案,我们可以使用不同的算法进行监督学习,从而找出正确的答案,我们可以采用的算法有:Perceptron(感知机)、Winnow、Memory-based、Navie Bays。 从右面的折线图可以看出,在训练集大小相同的情况下,四种算法的正确率相差不是很大,而且四种算法都是随着训练集大小的增加,正确率不断上升。因此能够说明训练集大小对于正确率有很大影响。 It's not who has the best algorithm that wins, it's who has the most data. 考虑下面两种情况: 1、在上述填词:For breakfast I ate (__) eggs示例中,或许我们不需要很多特征,可能我们通过找到一个精通英语的人就可以得到正确答案。 2、若对于预测房价来说,我们只提供一个size的信息,我们有办法来预测房子的价格吗?仔细想想,这是不可能的,即使你找到的是一个预测房价的专家,但是没有房子所处地段、是否新房、有无家具之类的信息,专家也是无法预测出房价的。 所以, 1、算法具有很多属性特征是必要的(比如,有很多特征的logistic回归和线性回归算法,有许多hidden units的神经网络算法) 在具有很多参数的情况下,训练出来的模型具有以下特点: (1)low bias (2)low J_train(Θ) 2、有很大的数据集是必要的(因为数据非常多,因此很难会出现overfit的情况),训练出来的模型具有以下特征: (1)low variance (2)J_train(Θ) ≈ J_test(Θ) 将1中的(2)和2中的(2)结合,则J_test(Θ)会比较低 综上, 1、若有足够的feature和一个比较好的算法,则通常算法会有一个低的误差。 2、若有大量的数据和足够的特征,则通常是一个高性能的算法。
转载请注明原文地址: https://www.6miu.com/read-8942.html

最新回复(0)