决策树

- - -决策树的基本原理

决策树(Decision Tree)是⼀种分⽽治之的决策过程。⼀个困难的预测问题,通过树的分⽀节点,被划分成两个或多个较为简单的⼦集,从结构上划分为不同的⼦问题。将依规则分割数据集的过程不断递归下去(Recursive Partitioning)。随着树的深度不断增加,分⽀节点的⼦集越来越⼩,所需要提的问题数 也逐渐简化。当分⽀节点的深度或者问题的简单程度满⾜⼀定的停⽌规则(Stopping Rule)时, 该分⽀节点会停⽌分裂,此为自上而下的停⽌阈值(Cutoff Threshold)法;有些决策树也使⽤自下而上的剪枝(Pruning)法。

- - -决策树的三要素

1、特征选择:从训练数据中众多的特征中选择⼀个特征作为当前节点的分裂标准,如何选择特征有着很多不同量化评估标准,从⽽衍⽣出不同的决策树算 法。
2、决策树⽣成:根据选择的特征评估标准,从上⾄下递归地⽣成⼦节点,直到数据集不可分则决策树停⽌⽣⻓。树结构来说,递归结构是最容易理解的⽅ 式。
3、剪枝:决策树容易过拟合,⼀般来需要剪枝,缩⼩树结构规模、缓解过拟合。

支持向量机

- - -什么是支持向量机

⽀持向量:在求解的过程中,会发现只根据部分数据就可以确定分类器,这些数据称为⽀持向量。
⽀持向量机(Support Vector Machine,SVM):其含义是通过⽀持向量运算的分类器。

- - -图解

在⼀个⼆维环境中,其中点R,S,G点和其它靠近中间⿊线的点可以看作为⽀持向量,它们可以决定分类器,即⿊线的具体参数。

图解极大似然估计


例:有两个外形完全相同的箱⼦,1号箱有99只⽩球,1只⿊球;2号箱有1只⽩球,99只⿊球。在⼀次实验中,取出的是⿊球,请问是从哪个箱⼦中取出的?
⼀般的根据经验想法,会猜测这只⿊球最像是从2号箱取出,此时描述的“最像”就有“最⼤似然”的意思,这种想法常称为“最⼤似然原理”。

- - -极大似然估计原理

总结起来,最⼤似然估计的⽬的就是:利⽤已知的样本结果,反推最有可能(最⼤概率)导致这样结果的参数值。
极⼤似然估计是建⽴在极⼤似然原理的基础上的⼀个统计⽅法。极⼤似然估计提供了⼀种给定观察数据来评估模型参数的⽅法,即:“模型已定,参数未知”。通过若⼲次试验,观察其结果,利⽤试验结果得到某个参数值能够使样本出现的概率为最⼤,则称为极⼤似然估计。

EM算法

最⼤期望算法(Expectation-Maximization algorithm, EM),是⼀类通过迭代进⾏极⼤似然估计的优化算法,通常作为⽜顿迭代法的替代,⽤于对包含隐变 量或缺失数据的概率模型进⾏参数估计。

  • 最⼤期望算法基本思想是经过两个步骤交替进⾏计算:
  • 第⼀步是计算期望(E),利⽤对隐藏变量的现有估计值,计算其最⼤似然估计值;
  • 第⼆步是最⼤化(M),最⼤化在E步上求得的最⼤似然值来计算参数的值。
    M步上找到的参数估计值被⽤于下⼀个E步计算中,这个过程不断交替进⾏。

聚类和降维的区别和联系

聚类⽤于找寻数据内在的分布结构,既可以作为⼀个单独的过程,比如异常检测等等。也可作为分类等其他学习任务的前驱过程。聚类是标准的⽆监督学习。
聚类的应用:在⼀些推荐系统中需确定新用户的类型,但定义“用户类型”却可能不太容易,此时往往可先对原有的用户数据进⾏聚类,根据聚类结果将每个簇定义为 ⼀个类,然后再基于这些类训练分类模型,⽤于判别新用户的类型。

降维的应用:降维是为了缓解维数灾难的⼀个重要方法,就是通过某种数学变换将原始⾼维属性空间转变为⼀个低维“⼦空间”。其基于的假设就是,虽然⼈们平 时观测到的数据样本虽然是⾼维的,但是实际上真正与学习任务相关的是个低维度的分布。从⽽通过最主要的⼏个特征维度就可以实现对数据的描述,对于后续的分类很有帮助。例如,如对于泰坦尼克号生还问题。通过给定⼀个乘客的许多特征如年龄、姓名、性别、票价等, 来判断其是否能在海难中⽣还。这就需要⾸先进⾏特征筛选,从⽽能够找出主要的特征,让学习到的模型有更好的泛化性。

聚类和分类的区别

聚类(Clustering),简单地说就是把相似的东⻄分到⼀组,聚类的时候,我们并不关⼼某⼀类是什么,我们需要实现的⽬标只是把相似的东⻄聚到⼀起。⼀个聚类算法通常只需要知道如何计算相似度就可以开始⼯作了,因此聚类通常并不需要使⽤训练数据进⾏学习,在机器学习中属于⽆监督学习。
分类(Classification),对于⼀个分类器,通常需要你告诉它“这个东⻄被分为某某类”。⼀般情况下,⼀个分类器会从它得到的训练集中进⾏学习,从⽽具备对未知数据进⾏ 分类的能力,在机器学习中属于监督学习。

四种聚类算法介绍

- - - k-means聚类算法

k-means算法以k为参数,把n个对象分成k个簇,使簇内具有较⾼的相似度,⽽簇间的相似度较低。

  • k-means算法的处理过程如下:⾸先,随机地选择k个对象,每个对象初始地代表了⼀个簇的平均值或中心;对剩余的每个对象,根据其与各簇中⼼的距离,将它赋给最近的簇;然后重新计算每个簇的平均值。 这个过程不断重复,直到准则函数收敛。
- - -层次聚类算法

根据层次分解的顺序是⾃底向上的还是⾃上向下的,层次聚类算法分为凝聚的层次聚类算法和分裂的层次聚类算法。 凝聚型层次聚类的策略是先将每个 对象作为⼀个簇,然后合并这些原⼦簇为越来越⼤的簇,直到所有对象都在⼀个簇中,或者某个终结条件被满⾜。绝⼤多数层次聚类属于凝聚型层次聚类, 它们只是在簇间相似度的定义上有所不同。

- - -SOM聚类算法

该算法假设在输⼊对象中存在⼀些拓扑结构或顺序,可以实现从输⼊空间(n维)到输出平⾯(2
维)的降维映射,其映射具有拓扑特征保持性质,与实际的⼤脑处理有很强的理论联系。

- - -FCM(fuzzy c-means)聚类算法

FCM(fuzzy c-means)聚类融合了模糊理论的精髓。相较于k-means的硬聚类,模糊c提供了更加灵活的聚类结果。因为大部分情况下,数据集中的对象不能划分成为明显分离的簇,指派一个对象到一个特定的簇有些生硬,也可能会出错。故,对每个对象和每个簇赋予一个权值,指明对象属于该簇的程度。

简单易懂的机器学习算法介绍相关推荐

  1. 深度学习算法和机器学习算法_63种机器学习算法介绍

    深度学习算法和机器学习算法 Data Science and analytics are transforming businesses. It has penetrated into all dep ...

  2. 多元回归求解 机器学习_金融领域里的机器学习算法介绍:人工神经网络

    人工智能的发展在很大程度上是由神经网络.深度学习和强化学习推动的.这些复杂的算法可以解决高度复杂的机器学习任务,如图像分类.人脸识别.语音识别和自然语言处理等.这些复杂任务一般是非线性的,同时包含着大 ...

  3. svm机器学习算法_SVM机器学习算法介绍

    svm机器学习算法 According to OpenCV's "Introduction to Support Vector Machines", a Support Vecto ...

  4. AI-常见机器学习算法介绍

    分享一个大牛的人工智能教程.零基础!通俗易懂!风趣幽默!希望你也加入到人工智能的队伍中来!请点击http://www.captainbed.net 机器学习算法分类 1. 监督式学习 工作机制:这个算 ...

  5. 【机器学习算法介绍】朴素贝叶斯

    文章目录 1 概述 2 原理 2.1 贝叶斯定理 2.2 属性条件独立假设 2.3 高斯朴素贝叶斯 2.3.1 计算方法 2.3.2 API调用 2.4 Multinomial Naive Bayes ...

  6. 基于实时计算Flink的机器学习算法平台及场景介绍

    作者:高旸(吾与),阿里巴巴高级技术专家 1. 前言 随着互联网"人口红利"的"消耗殆尽",基于"T+1"或者离线计算的机器学习平台及推荐系 ...

  7. Py之scikit-learn:机器学习sklearn库的简介、六大基本功能介绍(数据预处理/数据降维/模型选择/分类/回归/聚类)、安装、使用方法(实际问题中如何选择最合适的机器学习算法)之详细攻略

    Py之scikit-learn:机器学习sklearn库的简介(组件/版本迭代).六大基本功能介绍(数据预处理/数据降维/模型选择/分类/回归/聚类).安装.使用方法(实际问题中如何选择最合适的机器学 ...

  8. 机器学习算法——决策树算法详细介绍,并使用sklearn实现案例预测,可视化决策树

    目录 一.决策树算法简介 二.决策树分类原理 1.熵 1.1 概念 1.2 案例 2.决策树的划分依据一:信息增益 2.1 概念 2.2 案例: 3.决策树的划分依据二:信息增益率 3.1 概念 3. ...

  9. 机器学习之Javascript篇: 近邻(k-nearest-neighbor) 算法介绍

    翻译:王维强 我的目的是使用一门通用语言来教授机器学习,内容涵盖基础概念与高级应用.Javascript是一个非常好的选择,最明显的优点就是对运行环境没有特殊要求.另外,因为该语言缺乏与机器学习相关的 ...

最新文章

  1. MySQL慢查询日志的配置与使用_MySQL 慢查询日志的开启与配置
  2. MATLAB实战系列(八)-头脑风暴优化(BSO)算法求解旅行商问题(TSP)(附MATLAB代码)
  3. virtualbox奇葩的问题-unable to load r3 module
  4. I2C和SPI异同及使用注意
  5. mysql union order_MySQL中union和order by同时使用的实现方法
  6. python os模块 常用命令
  7. 什么叫python代码的优化_优化Python代码
  8. 拳王虚拟项目公社:最新创业好项目有哪些,90后创业好项目,虚拟资源兼职副业好项目
  9. Python多线程报错之RuntimeError
  10. Julia : 关于类型的匹配和规范建议
  11. echarts中国地图及经纬度json
  12. nfc pm3 模拟加密门禁卡_手机/手环NFC模拟加密门禁卡电梯卡最全教程之初期判断...
  13. 建行u盾弹不出来_建设银行网银盾检测不到怎么解决
  14. Maven Docker几个插件打包+推送到镜像仓库或者私服(Harbor)的方法
  15. Kaggle下载数据集时,手机收不到短信验证码解决方法--亲测有效
  16. python中的main函数可以被其他文件调用么_在Python中,如何在另一个py文件的[if\u name\uuuu='\uu main\uu']中调用子例程?...
  17. Android SDK安装、环境变量配置
  18. 小企业智能路由器的应用 (用智能路由器推广你的烤肉饭)
  19. 期末课设—学生成绩管理系统的设计与实现—大作业
  20. 计算机组成原理基础(转载)

热门文章

  1. Python程序设计 第4章:复合数据类型
  2. 2021年蓝桥杯 C++ A组 赛题 题目
  3. 无人驾驶-SLAM-栅格地图
  4. 自信+目标+分解完成=成功的三部曲
  5. Midjourney|文心一格prompt教程[Text Prompt(上篇)]:品牌log、App、徽章、插画、头像场景生成,各种风格选择:科技风、运动风
  6. easyui 导出excel 不导出隐藏列
  7. 成都小程序开发公司:智慧农业共享农场菜园,走地鸡认养小程序APP源码开发的案例介绍
  8. 神经网络学习笔记(二)GRNN广义回归神经网络
  9. Linux系统cp:ommiting directory xxx问题解决
  10. JAVA中字符串split方法的探究