机器学习1-9章习题解析.docxVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
1.1数据集有3个属性,每个属性2种取值,一共?(2+1)*(2+1)*(2+1)+1=28种假设,其中版本空间需要包含正例的一个属性 1.2 1.3通常认为两个数据的属性越相近,则更倾向于将他们分为同一类。若相同属性出现了两种不同的分类,则认为它属于与他最临近几个数据的属性。也可以考虑同时去掉所有具有相同属性而不同分类的数据,留下的数据就是没误差的数据,但是可能会丢失部分信息。 1.4 1.5 最常见的,消息推送,比如某东经常说某些商品我可能会感兴趣,然而并没有。 2.网站相关度排行,通过点击量,网页内容进行综合分析。 3.图片有哪些信誉好的足球投注网站,现在大部分还是通过标签来有哪些信誉好的足球投注网站,不过基于像素的有哪些信誉好的足球投注网站也总会有的吧。 2.1 一个组合问题,从500正反例中分别选出150正反例用于留出法评估,所以可能取法应该是种。 2.2 2.3 2.4查全率: 真实正例被预测为正例的比例 真正例率: 真实正例被预测为正例的比例 显然查全率与真正例率是相等的。 查准率:预测为正例的实例中真实正例的比例 假正例率: 真实反例被预测为正例的比例 两者并没有直接的数值关系。 2.5 2.6 2.7 2.8 2.10 3.1 3.2 3.6在当前维度线性不可分,可以使用适当的映射方法,使其在更高一维上可分,典型的方法有KLDA,可以很好的划分数据。 3.7 3.8 3.9 3.10 4.1 因为决策树是通过属性来划分,相同属性的样本最终肯定会进入相同的叶节点。一个叶节点只有一个分类,如果样本属性相同而分类不同,必然产生训练误差。反之,决策树只会在当前样本集合是同一类或者所有属性相同时才会停止划分,最终得到训练误差为0的决策树。 4.2 从机器学习最开始就讲起,最小训练误差并不可靠,由于过度学习样本特性最终导致严重的过拟合,而没有泛化能力。 4.6 这里要对上面三种实现的算法进行未剪枝,预剪枝,后剪枝做比较,对率回归划分就算了,都不知道是个什么情况,信息增益和基尼指数的差别并不大,其实就是为了比较未剪枝,预剪枝,后剪枝对测试样本的输出结果。显著性分析,对2种算法,3种剪枝方式的错误数做方差分析,信息增益和基尼指数有显著区别是拒绝的,未剪枝,预剪枝,后剪枝有显著区别是接受的。 4.7 直接用递归会导致大量的临时变量被保存,当层数过深时会导致“栈”溢出。 用队列对决策树进行层次遍历来生成,用Max_Depth来控制树的最大层数。队列中每个元素代表着决策树的每个节点,它必要的属性有:样本集合、剩余属性集合,当前层数指示,父节点序号。队列一开始里面只有一个元素,就是最初初始化,带着所有样本的根节点。然后当队列不为空的时候开始循环,每次取出一个元素,判断是否需要划分,如果不要,就是一个叶节点,出队列就不用管了;如果需要划分,那么找出最好的划分属性,然后划分成n个子区间,依次送入队列,继续循环,直到队列为空。 是否需要划分有3个依据: 当前所有样本属于一类 当前所有样本属性完全相同 达到了Max_Depth的深度 这样就完成了层次遍历(广度优先有哪些信誉好的足球投注网站)对决策树的构建。 显然由于每次出队的元素要先完全划分,那么如果是进行预剪枝算法的决策树,用队列结构是非常方便的。 如果是后剪枝,那必须要等到最终整棵树完全生成,才能进行。 4.8 队列结构看着不错,但是极端情况下,比如层树很低,但是分叉多,会导致队列内有大量元素。另外不能在决策树生成过程中很好的进行后剪枝,全树生成后再次统计会浪费大量时间。 用栈结构把递归转换为非递归是很好的方法,设置最大节点数MaxNode来保证节点数不会爆炸。栈结构内的元素组成与列队的基本相同:样本集合、剩余属性集合,当前层数指示,父节点序号。初始化也是一样,将一个包含所有样本的集合压入栈中,当栈不为空时,每次拿出栈顶的元素进行操作,如果不可以划分,则不做操作;如果可以划分,则划分出1个子集,先将剩余子集压回栈,再将划分出的子集压回栈。然后再取出一个元素,知道栈内没有元素为止。 是否需要划分有3个依据: 当前所有样本属于一类 当前所有样本属性完全相同 达到了Max_node上限 栈也有他的问题,极端情况下会生成一棵畸形的二叉树,但就算这样内部元素也只是队列结构极端情况的一半。栈可以很好的进行后剪枝操作,当非叶节点所有叶节点生成后可以做后剪枝,由于划分子集的时候就需要计算各个属性样本数,所以这些操作代价并不高。对于一棵完整的树,后剪枝要对所有只拥有叶节点的非叶节点进行遍历,如果某个非叶节点可以剪枝,还需要进一步考虑它的父节点。虽然在某些剪枝需求不大的情况下生成树后剪枝有不错的效果,但是我觉得生成中判断更加方便,而且不需要太多额外的代码。 4.9 只需要把信息增益的公式换成基尼指数就行,包括扩展到连续参数,缺失参数,都是很直观的方法。 5.1 5.2两者都是希望

文档评论(0)

暗伤 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档