首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

吴恩达教你应用机器学习技巧

在目前数据集中拟合得非常好的算法不一定在新数据集中也能work,极有可能发生了overfitting,所以需要一个评估的方法来判断这个算法是否在新的数据集中可行。

1

Evaluating a Learning Algorithm

首先第一步要做的,就是将目前已有的数据集随机打乱,然后分成training set和test set,一般70%的training set,30%作为test set。随即打乱是为了保持training set和test set的类别分布均匀。

然后根据training set中的错误J(theta)来更新模型;

最后使用test set中的错误J(theta)来评价模型。错误越小越好。

test set error反映出一个模型的范化能力。

Linear Regression的步骤:

Logistic Regression以及one-to-rest的多分类的步骤:

如果有多个模型,需要从中挑选出一个最好的模型,如下图:

模型中的权值theta和偏置b都是由J_train(theta,b)来决定的,即theta和bare fit to training set。如果现在使用J_test(theta,b)来选择模型的话(就是选择d = degree of polynomial),则dwill be fit to test set。

这样的话,如果继续使用J_test(theta,b)评估模型的泛化能力有可能是得模型在d过拟合。为解决这一问题,现在我们把原有数据集分成3分:training set 60%, validation set 20% & test set 20%。 首先,用J_train(θ,b)来决定权值theta和偏置b; 接着,用J_valid(theta,b)来选择模型,即选择d = degree of polynomial; 最后,用J_test(θ,b)来评估模型的泛化能力。

转自:机器学习算法与自然语言处理

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180123B10QBM00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券