机器学习第六周(一)

来源:互联网 发布:互联网java开发 编辑:程序博客网 时间:2024/06/13 08:29

仍然以预测房价为例,为了提高模型表现,通常会有如下几个措施:
提高模型表现的措施


评估hypothesis(机器学习诊断法)
从模型得出的hypothesis可能会很好拟合当前数据,但泛化性能太差,即overfit。所以为了更好评估hypothesis,作者这里将数据分成俩部分。
这里写图片描述
一般取数据的前70%作为训练集,剩下的作为测试集。
以线性回归为例:
1)、对训练集进行学习,得到参数theta
2)、计算测试误差,使用从训练集中学习到的参数theta。
测试误差


在分类问题中测试误差J(theta)也称做误分类率(也叫0/1错分率)表示你预测到的正确或错误样本的情况。比如:(这两种情况下我们的假设都对样本进行另外误判,否则其他情况下假设值都能正确的对样本yy进行分类)
误分类率
我们可以用误分类率来定义测试误差:
这里写图片描述


多项式模型的选择及验证集的引入
因为当模型overfit时,泛化效果太差,hypothesis不理想,为了达到更好的效果,不光要考虑参数theta,还要考虑如何确实多项式的次数d
这里写图片描述
把这些所有的模型都求出测试集误差,算出每个模型的J-test(theta),找出测试集误差最小的模型。
我们再引入验证集:一般的分割如下
这里写图片描述
计算训练集/验证集/测试集的误差
这里写图片描述
接下来就是模型选择:
这里写图片描述
1)、通过训练集对每一个假设函数去求最小化的代价函数J(theta),并求得参数theta
2)、在验证集中测试这些假设的表现
3)、选择验证集中误差最小的假设模型,找到多项式系数d
4)使用测试集来评估模型表现

原创粉丝点击