机器学习概述

本文所述内容,参考了机器学习实战:基于Scikit-Learn和TensorFlow一书。

机器学习系统分类

  1. 监督式学习/无监督式学习
    根据监督数量和监督类型,分为监督式学习、无监督式学习、半监督式学习和强化学习。

    • 监督式学习:提供给算法所需的有标注的训练数据。如分类任务(垃圾邮件分类)和回归任务(预测汽车价格)。
    • 无监督式学习:训练数据是未标注的。如聚类算法检测相似的访客分组,可视化算法,异常检测(如检测信用卡交易从而防止欺诈)和关联规则学习(推荐算法)。
    • 半监督式学习:大量未标记数据和少量的标记数据。如Goole相册,对人像识别后整合在一起(聚类),自己命名一下就可以了。半监督式学习算法多是监督式算法和无监督式算法的集合,如深度信念网络(DBN)使用了无监督式组件受限玻尔兹曼机(RBM)。
    • 强化学习:学习系统能够观察环境,做出选择,获得回报(reward)或惩罚,自行学习什么是最好的策略(policy)。如DeepMind的AlphaGo项目。过程大致如下: 观察--->选择执行策略--->执行--->获得奖励或惩罚--->升级策略--->不断迭代,直到产生最优策略。

    PS:降维是在不丢失太多信息的前提下简化数据,例如将多个相关特征合并为一个(特征提取)。

  2. 批量学习/在线学习

    • 批量学习:系统无法进行增量学习,必须使用所有可以使用的训练数据训练。
    • 在线学习:可以循序的给系统提供训练数据,逐步积累学习成果。在线学习流程如下:
      在线学习的学习率很重要,如果学习率很高,系统将很快适应新数据,同时忘记旧数据;如果学习率很低,系统会有很高的惰性,学习缓慢,同时对于新数据中的噪声和非典型数据点序列不敏感。
  3. 基于实例/模型学习
    良好的模型,需要在训练数据和新的对象实例上一样优秀。泛化的主要方法:基于实例和基于模型的学习。

    • 基于实例的学习:系统线完全记住学习示例,然后通过某种相似度量的方式将其泛化到新的实例上。
    • 基于模型的学习:构建示例的模型,然后使用模型进行预测。如构建线性模型:

机器学习的挑战

  1. 训练数据的不足
  2. 训练数据的不具代表性
    如果样本集太小,将会出现采样噪声(即非代表性数据被选中);即使是非常大的样本数据,如果采样方式欠妥,也同样可能导致非代表性数据集,这就是所谓的采样偏差。
  3. 质量差的数据(例如差质量的测量产生的数据)
  4. 无关特征:训练数据中需要由足够度的相关特征。
  5. 训练数据过度拟合:在训练数据上表现良好,泛化是却很差。当模型相对于训练数据的数量和噪声都过于复杂是,会发生过拟合。解决方法有:
    • 简化模型:选择参数较少的模型 ,减少训练数据中属性数量,或者约束模型(又称为正则化)。
    • 更多的训练数据。
    • 减少训练数据中的噪声,如修复数据错误或消除异常值。
  6. 训练数据拟合不足:对下层数据结构来说,模型过于简单。可以选择参数更多模型,给学习算法提供更好的特征集,减少模型约束(如减少正则化超参数)。

测试和验证

使用80%的数据进行训练,保留另外的20%来做测试。还需要留出验证集,使用不同的超参数训练多个模型,使用验证集来选出最好的模型,然后得到泛化误差的估值。常用交叉验证:将训练集分成若干个互补子集,然后每个模型都通过这些子集的不同组合来进行训练,之后用剩余的子集进行验证。一旦模型和超参数都被选定,最终的模型会带着这些超参数对整个训练集进行一次训练,最后再用测试集测量泛化误差。
没有免费的午餐(No Free Lunch)定理:如果你对数据绝对没有任何假设,那么你没有理由会更偏好于某个模型。

全部评论

相关推荐

繁华的街道两旁,湿漉漉的下午,两个青涩的脸庞互相张望。宽大卫衣下娇小的她,向我奔来。不约而同的卫衣,斯文的半框眼镜掩饰着一个穷臭屌丝气息。这是我和我牛爱网第一死忠粉兼专属女嘉宾最初的见面。火速恋爱,但是没有所谓的快节奏,相识半年,还是一样的热恋。吃着肉夹馍坐过西安的小三轮洱海边自行车的气球胖吃着她最喜欢的酸酸水果和小乳扇在南山某店爷爷穿孙子衣服,摸肥猫就算我在忙也要抽出时间陪她去吃他喜欢的漂亮饭生活总是平凡,但平凡不平淡还记得见面第一件事儿:“我去上个厕所。”现在早上第一件事儿:“拉*”第一次上我车的她:“我可以坐副驾吗?”现在的她:“老子把jio翘到上面得得挡到你后视镜。”这小孩,虽然花了我...
Stan_蹒跚者:确很厉害,但是有一个小问题:谁问你了?我的意思是,谁在意?我告诉你,根本没人问你,在我们之中0人问了你,我把所有问你的人都请来 party 了,到场人数是0个人,誰问你了?WHO ASKED?谁问汝矣?誰があなたに聞きましたか?누가 물어봤어?我爬上了珠穆朗玛峰也没找到谁问你了,我刚刚潜入了世界上最大的射电望远镜也没开到那个问你的人的盒,在找到谁问你之前我连癌症的解药都发明了出来,我开了最大距离渲染也没找到谁问你了我活在这个被辐射蹂躏了多年的破碎世界的坟墓里目睹全球核战争把人类文明毁灭也没见到谁问你了
点赞 评论 收藏
分享
那么好了好了:他本来公司就是做这个的,不就是正常的游戏客户端和服务器开发,软硬件联动,有啥恶心不恶心的,提前告诉你就是怕你接受不了,接受不了就没必要再往后走流程浪费时间,虽然这公司是一坨。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务