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

干货丨机器学习指南(学习笔记哦,值得一看)

干货丨机器学习指南(学习笔记哦,值得一看)

干货丨机器学习指南(学习笔记哦,值得一看)
作者:小土刀

这里是我学习机器学习时候的一些笔记和总结,文章比较长,但是应该是比较全面的。

基本概念

主要是基本概念的辨析,都是最最基础和常规的

监督学习与非监督学习

  • 应用领域:企业数据

监督学习需要标注数据(KNN, NB, SVM, DT, BP, RF, GBRT),这类算法必须知道预测什么,即目标变量的分类信息。对具有标记的训练样本进行学习,以尽可能对训练样本集外的数据进行分类预测。

非监督学习(KMEANS, DL)数据没有类别信息,也不会给定目标值,对未标记的样本进行训练学习,比发现这些样本中的结构知识。将数据集合分成由类似的对象组成的多个类的过程被称为 聚类。

半监督式学习

  • 应用领域:图像识别(存在大量非标识数据)

在此学习方式下,输入数据部分被标识,部分没有被标识,这种学习模型可以用来进行预测,但是模型首先需要学习数据的内在结构以便合理的组织数据来进行预测。应用场景包括分类和回归,算法包括一些对常用监督式学习算法的延伸,这些算法首先试图对未标识数据进行建模,在此基础上再对标识的数据进行预测。如图论推理算法(Graph Inference)或者拉普拉斯支持向量机(Laplacian SVM.)等。

强化学习

  • 应用领域:机器人控制、系统控制

在这种学习模式下,输入数据作为对模型的反馈,不像监督模型那样,输入数据仅仅是作为一个检查模型对错的方式,在强化学习下,输入数据直接反馈到模型,模型必须对此立刻作出调整。常见的应用场景包括动态系统以及机器人控制等。常见算法包括Q-Learning以及时间差学习(Temporal difference learning)。

离散数据与连续数据

离散数据(标称型)的目标变量结果只在有限目标集中取值,比方说真与假,一般用于 分类。连续数据(数值型)目标变量主要用于 回归 分析,通过给定数据点的最优拟合曲线。

生成方法

  • 例子:NB

生成方法:由数据学习联合概率密度分布P(X,Y),然后求出条件概率分布P(Y|X)作为预测的模型,即生成模型:P(Y|X)= P(X,Y)/ P(X)。基本思想是首先建立样本的联合概率概率密度模型P(X,Y),然后再得到后验概率P(Y|X),再利用它进行分类,就像上面说的那样。

生成方法学习联合概率密度分布P(X,Y),所以就可以从统计的角度表示数据的分布情况,能够反映同类数据本身的相似度。但它不关心到底划分各类的那个分类边界在哪。生成方法可以还原出联合概率分布P(Y|X),而判别方法不能。生成方法的学习收敛速度更快,即当样本容量增加的时候,学到的模型可以更快的收敛于真实模型,当存在隐变量时,仍可以用生成方法学习。此时判别方法就不能用。

由生成模型可以得到判别模型,但由判别模型得不到生成模型。

判别方法

  • 例子:k 近邻,决策树

由数据直接学习决策函数Y=f(X)或者条件概率分布P(Y|X)作为预测的模型,即判别模型。基本思想是有限样本条件下建立判别函数,不考虑样本的产生模型,直接研究预测模型。典型的判别模型包括k近邻,感知级,决策树,支持向量机等。

判别方法直接学习的是决策函数Y=f(X)或者条件概率分布P(Y|X)。不能反映训练数据本身的特性。但它寻找不同类别之间的最优分类面,反映的是异类数据之间的差异。直接面对预测,往往学习的准确率更高。由于直接学习P(Y|X)或P(X),可以对数据进行各种程度上的抽象、定义特征并使用特征,因此可以简化学习问题。

过拟合

如果一味的去提高训练数据的预测能力,所选模型的复杂度往往会很高,这种现象称为过拟合。所表现的就是模型训练时候的误差很小,但在测试的时候误差很大。

产生原因

  • 因为参数太多,导致模型复杂度上升,容易过拟合

  • 权值学习迭代次数足够多(Overtraining),拟合了训练数据中的噪声和训练样例中没有代表性的特征

  • 解决方法:交叉验证法、减少特征、正则化、权值衰减、验证数据

泛化能力是指模型对未知数据的预测能力。

线性分类器与非线性分类器

  • 如果模型是参数的线性函数,并且存在线性分类面,那么就是线性分类器,否则不是

  • 常见的线性分类器有:LR,贝叶斯分类,单层感知机、线性回归

  • 常见的非线性分类器:决策树、RF、GBDT、多层感知机

  • SVM两种都有(看线性核还是高斯核)

  • 线性分类器速度快、编程方便,但是可能拟合效果不会很好

  • 非线性分类器编程复杂,但是效果拟合能力强

特征比数据量还大时,选择什么样的分类器?

线性分类器,因为维度高的时候,数据一般在维度空间里面会比较稀疏,很有可能线性可分。

对于维度很高的特征,你是选择线性还是非线性分类器?

线性分类器,因为维度高的时候,数据一般在维度空间里面会比较稀疏,很有可能线性可分。

对于维度极低的特征,你是选择线性还是非线性分类器?

非线性分类器,因为低维空间可能很多特征都跑到一起了,导致线性不可分。

干货丨机器学习指南(学习笔记哦,值得一看)



推荐阅读
  • 分隔超平面:将数据集分割开来的直线叫做分隔超平面。超平面:如果数据集是N维的,那么就需要N-1维的某对象来对数据进行分割。该对象叫做超平面,也就是分类的决策边界。间隔:一个点 ... [详细]
  • 在机器学习领域,深入探讨了概率论与数理统计的基础知识,特别是这些理论在数据挖掘中的应用。文章重点分析了偏差(Bias)与方差(Variance)之间的平衡问题,强调了方差反映了不同训练模型之间的差异,例如在K折交叉验证中,不同模型之间的性能差异显著。此外,还讨论了如何通过优化模型选择和参数调整来有效控制这一平衡,以提高模型的泛化能力。 ... [详细]
  •   作为一种编程语言,Python比C#,Java,C和C++更具吸引力。它被称为“胶水语言”,它也被喜欢它的程序员誉为“美丽”的编程语言。从云计算,客户端到物联网终端,Pytho ... [详细]
  • 2017年软件开发领域的七大变革
    随着技术的不断进步,2017年对软件开发人员而言将充满挑战与机遇。本文探讨了开发人员需要适应的七个关键变化,包括人工智能、聊天机器人、容器技术、应用程序版本控制、云测试环境、大众开发者崛起以及系统管理的云迁移。 ... [详细]
  • 【转】强大的矩阵奇异值分解(SVD)及其应用
    在工程实践中,经常要对大矩阵进行计算,除了使用分布式处理方法以外,就是通过理论方法,对矩阵降维。一下文章,我在 ... [详细]
  • 本文介绍如何使用OpenCV和线性支持向量机(SVM)模型来开发一个简单的人脸识别系统,特别关注在只有一个用户数据集时的处理方法。 ... [详细]
  • Python 数据可视化实战指南
    本文详细介绍如何使用 Python 进行数据可视化,涵盖从环境搭建到具体实例的全过程。 ... [详细]
  • 独家解析:深度学习泛化理论的破解之道与应用前景
    本文深入探讨了深度学习泛化理论的关键问题,通过分析现有研究和实践经验,揭示了泛化性能背后的核心机制。文章详细解析了泛化能力的影响因素,并提出了改进模型泛化性能的有效策略。此外,还展望了这些理论在实际应用中的广阔前景,为未来的研究和开发提供了宝贵的参考。 ... [详细]
  • 支持向量机(SVM)在机器学习中的应用与学习心得
    支持向量机(SVM)是一种高效的二分类模型,其核心目标是通过寻找最优超平面来区分不同类别的数据点。在实际应用中,SVM能够有效地处理高维数据,并通过核技巧扩展到非线性分类问题。当新的数据点输入时,SVM会根据其相对于超平面的位置来判定其所属类别。训练过程中,SVM通过最大化间隔来确定最优超平面,从而提高模型的泛化能力。本文总结了SVM在机器学习中的应用及其学习心得,探讨了其在实际问题中的优势和局限性。 ... [详细]
  • 探索学习曲线函数的深度解析与应用 ... [详细]
  • 如何选择机器学习方法http:scikit-learn.orgstabletutorialmachine_learning_mapindex.html通用学习模式只需要先定义 ... [详细]
  •     目标检测是计算机视觉一个非常重要的子任务。目标检测需要发现并准确定位自然图片中的物体。在2012年之前,目标检测主要基于手工设计的特征以及传统分类器。2012年以后,出现了 ... [详细]
  • 这是我在复习时整理的笔记,过一遍就稳了,建议还是把PPT过一遍,老师考的都是基础题,大部分都在PPT上,特别是 ... [详细]
  • 概述SVM(支持向量机)是一个二分类的模型,它的主要思想就是间隔最大化,那么问题来了,什么是间隔最大化&#x ... [详细]
  • 机器学习算法常见面试题目总结,Go语言社区,Golang程序员人脉社 ... [详细]
author-avatar
清露1122_664
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有