热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

机器学习公开课备忘录(三)机器学习算法的应用与大数据集

机器学习公开课备忘录(三)机器学习算法的应用与大数据集对应机器学习公开课第六周和第10周机器学习算法模型的选择与评价1、对于一个data,可以将data划分为trainingset、t



 机器学习公开课备忘录(三)机器学习算法的应用与大数据集

对应机器学习公开课第六周和第10周


机器学习算法模型的选择与评价


1、对于一个data,可以将data划分为training set、test set和cross validation set三类(比例60%、20%、20%),其代价函数值分别为\(J_{train}、J_{test}、J_{cv}\),例如在构建新特征 \(x\) 的多项式时,可以假设不同的阶次 \(d\)\(x\) 的多项式,利用training set得到各个多项式的具体参数,利用cross validation选择多项式模型中性能最好的一组,即确定最佳的 \(d\),而test set则用于评价最终模型的性能。
2、模型在泛化时中常见的两类问题是欠拟合与过拟合。前者代表数据有大的偏差,即平均值和真实值偏离;后者代表有大的方差,即平均值和真实值接近,但是波动幅度大。对于正则项,\(\lambda\) 过大时引发了underfit(欠拟合)问题,反之则引发overfit(过拟合问题), \(\lambda\) 的选择同样可以根据cross validation set来选择。绘制m和\(J_{train}、J_{cv}\)的曲线,可以观察系统存在的问题:

对于高偏差,最终测试集的误差和训练集误差随着样本m的提高非常接近,但是这误差值非常高,离我们期望值较远;而对于高偏差,测试集误差和训练集误差在m很大时仍然有一定差距,且随着m的增大而继续接近。这也说明,试图通过增大样本数量来改善模型性能的,只对高偏差的过拟合问题有效。
3、对于系统的过拟合和欠拟合问题,一些可以尝试的解决办法如下



































解决方案 问题
更多data high variance
更少特征 high variance
增加额外特征 high bias
增加特征阶次 high bias
增大正则参数 high bias
减小正则参数 high variance

4、某些情况下,测试集的存在不能很好地评估系统性能,例如对于偏斜类问题(即分类问题中,某个类别特别少),因此还有一种评价方法:






















预测\真实 1 0
1 true positive false positive
0 false negative true negative

此时,有 \[查准率P = \frac{TP}{TP+FP}\] \[查全率R = \frac{TP}{TP+FN}\] \[F=2*\frac{PR}{P+R}\]


大数据集的使用


梯度下降法的使用


1、在正式开始前,可以选用较小的数据集,绘制学习曲线,来大致寻找参数范围
2、批量梯度下降法需要读入所有数据才完成一次更新,在数据量过大时,速度很缓慢,为了提高速度,有两种方法:


a. 随机梯度下降法:每读入一个数据,就进行参数更新:\[\theta_j=\theta_j-\alpha(h_\theta(x^{(i)})-y^{(i)})x_j^{(i)}   j=0,...,n \] 直到将m个数据全部读入更新完毕,然后打乱数据集顺序,再重新读入一次,一般要重复1~10次;随机梯度下降法只能逼近最小值,但不能达到。若要绘制曲线,则可每读入一个数据,就计算该数据的代价,每扫描一定数量的数据,就计算平均cost,然后绘制一个点,最后得到曲线


b. 小批量梯度下降法:每读入b(1 say b=10,m=1000
repeat{
 for i=1,11,21,...,991{
   \(\theta_j=\theta_j-\alpha\frac{1}{10}\sum\limits_{k=i}^{i+9}(h_\theta(x^{(k)})-y^{(k)})x_j^{(k)}  j=0,1,...,n\)


 }
}


在线学习机制



  1. 每读入一个数据,就进行更新,然后舍弃数据

  2. 能适应并反应用户偏好的变化


MAP REDUCE



  1. 分散计算——汇总,以此来加快求解速度

  2. 算法必须能表示成求和的形式





推荐阅读
  • 机器学习中的相似度度量与模型优化
    本文探讨了机器学习中常见的相似度度量方法,包括余弦相似度、欧氏距离和马氏距离,并详细介绍了如何通过选择合适的模型复杂度和正则化来提高模型的泛化能力。此外,文章还涵盖了模型评估的各种方法和指标,以及不同分类器的工作原理和应用场景。 ... [详细]
  • 机器学习核心概念与技术
    本文系统梳理了机器学习的关键知识点,涵盖模型评估、正则化、线性模型、支持向量机、决策树及集成学习等内容,并深入探讨了各算法的原理和应用场景。 ... [详细]
  • 深入理解OAuth认证机制
    本文介绍了OAuth认证协议的核心概念及其工作原理。OAuth是一种开放标准,旨在为第三方应用提供安全的用户资源访问授权,同时确保用户的账户信息(如用户名和密码)不会暴露给第三方。 ... [详细]
  • 本文详细介绍了Java编程语言中的核心概念和常见面试问题,包括集合类、数据结构、线程处理、Java虚拟机(JVM)、HTTP协议以及Git操作等方面的内容。通过深入分析每个主题,帮助读者更好地理解Java的关键特性和最佳实践。 ... [详细]
  • 深入解析:手把手教你构建决策树算法
    本文详细介绍了机器学习中广泛应用的决策树算法,通过天气数据集的实例演示了ID3和CART算法的手动推导过程。文章长度约2000字,建议阅读时间5分钟。 ... [详细]
  • 本文探讨了如何在给定整数N的情况下,找到两个不同的整数a和b,使得它们的和最大,并且满足特定的数学条件。 ... [详细]
  • 本实验主要探讨了二叉排序树(BST)的基本操作,包括创建、查找和删除节点。通过具体实例和代码实现,详细介绍了如何使用递归和非递归方法进行关键字查找,并展示了删除特定节点后的树结构变化。 ... [详细]
  • 最近团队在部署DLP,作为一个技术人员对于黑盒看不到的地方还是充满了好奇心。多次咨询乙方人员DLP的算法原理是什么,他们都以商业秘密为由避而不谈,不得已只能自己查资料学习,于是有了下面的浅见。身为甲方,虽然不需要开发DLP产品,但是也有必要弄明白DLP基本的原理。俗话说工欲善其事必先利其器,只有在懂这个工具的原理之后才能更加灵活地使用这个工具,即使出现意外情况也能快速排错,越接近底层,越接近真相。根据DLP的实际用途,本文将DLP检测分为2部分,泄露关键字检测和近似重复文档检测。 ... [详细]
  • 探索电路与系统的起源与发展
    本文回顾了电路与系统的发展历程,从电的早期发现到现代电子器件的应用。文章不仅涵盖了基础理论和关键发明,还探讨了这一学科对计算机、人工智能及物联网等领域的深远影响。 ... [详细]
  • Coursera ML 机器学习
    2019独角兽企业重金招聘Python工程师标准线性回归算法计算过程CostFunction梯度下降算法多变量回归![选择特征](https:static.oschina.n ... [详细]
  • 本文旨在探讨如何利用决策树算法实现对男女性别的分类。通过引入信息熵和信息增益的概念,结合具体的数据集,详细介绍了决策树的构建过程,并展示了其在实际应用中的效果。 ... [详细]
  • LambdaMART算法详解
    本文详细介绍了LambdaMART算法的背景、原理及其在信息检索中的应用。首先回顾了LambdaMART的发展历程,包括其前身RankNet和LambdaRank,然后深入探讨了LambdaMART如何结合梯度提升决策树(GBDT)和LambdaRank来优化排序问题。 ... [详细]
  • 在互联网信息爆炸的时代,当用户需求模糊或难以通过精确查询表达时,推荐系统成为解决信息过载的有效手段。美团作为国内领先的O2O平台,通过深入分析用户行为,运用先进的机器学习技术优化推荐算法,提升用户体验。 ... [详细]
  • 2017年人工智能领域的十大里程碑事件回顾
    随着2018年的临近,我们一同回顾过去一年中人工智能领域的重要进展。这一年,无论是政策层面的支持,还是技术上的突破,都显示了人工智能发展的迅猛势头。以下是精选的2017年人工智能领域最具影响力的事件。 ... [详细]
  • 本文探讨了Hive中内部表和外部表的区别及其在HDFS上的路径映射,详细解释了两者的创建、加载及删除操作,并提供了查看表详细信息的方法。通过对比这两种表类型,帮助读者理解如何更好地管理和保护数据。 ... [详细]
author-avatar
奋斗兵
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有