新闻 -耀明资本完成募资超7亿美元
06-18
1.本文简介:什么是机器学习,机器学习的分类算法有哪些,k近邻、决策树、随机森林的分类算法 2.本文适合读者:本文通过浅显易懂的方式介绍了核心思想- 不使用花哨的名词就能理解语言和例子。适合不懂机器学习的初学者。
3.读完本文你能学到什么? :你会觉得机器学习算法的核心思想就是这么简单! 1.什么是机器学习?什么是机器学习?机器学习就是从历史数据(历史经验)中获取模型(规律),并将其应用到新的类似场景中。举一个很简单的例子:小王是民政局婚姻登记处的一名工作人员,在民政局工作了20多年。
多年来,5月20日登记结婚的情侣数量比平时增加了数倍,因此小王猜测,登记结婚的日子会是5月20日。结婚的情侣数量也会大幅增加,因此会增派工作人员。
本例中,20多年来每天统计的结婚登记数为历史数据; 5月20日登记结婚人数大幅增加是一个明显特征。历年5月20日登记结婚人数的大幅增长是一个模型和预测。
5.20将该模型应用到新的类似场景中,登记结婚人数也会大幅增加。当然,在实际应用中,还会增加其他维度,比如天气状况、是否是周末等影响因素。
2.机器学习分类算法 分类算法就是按照某种方式或者按照一定的标准来区分对象。分类是一个有监督的学习过程。
目标数据库中的类别是已知的。分类过程需要做的就是将每条记录分类到相应的类别中。
由于必须预先知道每个类别的信息,因此所有待分类的数据项默认都有对应的类别。常用的分类算法:单分类方法主要有:决策树、贝叶斯、人工神经网络、K近邻、支持向量机和基于关联规则的分类;结合单一分类方法的集成学习算法,如Bagging、Boosting等。
在本文中,作者仅介绍了几种常用的算法,并通过简单易懂的案例让朋友们了解先进的人工智能机器学习算法。 3.分类算法k近邻电影可以根据主题进行分类。
每个主题是如何定义的?假设电影有两种类型:动作片和爱情片。动作片的共同特点是什么?那么爱情电影之间有哪些明显的区别呢?我们发现,动作片中的打斗场面较多,而爱情片中的吻戏相对较多。
当然,动作片里有一些吻戏,爱情片里也有一些打斗戏。所以,不能简单地以有没有打斗戏或者有吻戏来判断一部电影的类别。
所以现在我们有6部电影有明确的类别,以及打斗场面和吻戏的数量,以及一部类型未知的电影。通过正常思维,我们可以判断,如果吻戏较多,则该电影是一部爱情电影;如果吻戏较多,则该电影是一部爱情电影。
如果打斗场面多,则该电影是动作片;那么我们推断《小欧的爱情故事》这部电影很有可能是一部爱情电影。那么如何通过k近邻算法来计算这部电影的类型:我们只需要计算欧几里得距离(这真的叫欧几里得距离),公式为: 由此我们可以计算出《爱乐之城》之间的距离《小欧的爱情故事》 欧洲距离最近。
根据最近邻思想,我们可以推断《小欧的爱情故事》也是一部爱情电影。那么k最近邻是什么呢?从过去的经验我们可以知道,如果只根据一个依据来判断事情,犯错误的概率是非常大的,因为反例很可能出现。
你妈说:隔壁的小h喝了牛奶长高了1.8米。哦?是的?你站出来反驳:我同学小虎天天喝牛奶,体重只有1.3米!于是你想了想,回答道:我们社区有20个孩子,每天喝牛奶,都长到了1.8米。
瞬间增强你的说服力。 k-近邻也是如此。
越接近《小欧的爱情故事》,爱情电影就越多。那个《小欧的爱情故事》更有可能是一部爱情片。
然后我们使用K近邻算法对爱情片和动作片进行分类:有一个样本数据集,也称为训练样本集,有M个样本。我们知道每个数据特征与类别的对应关系,那么有一个未知类型的数据集1,那么我们需要选择一个测试样本数据与M个训练样本之间的距离,排序后选择最接近的K个。
该值一般不大于20。选择K个最接近的数据中出现频率最高的类别。
然后我们利用这个原理来判断未知电影的分类。我们假设k为3,则《罗马假日》《泰坦尼克号》《爱乐之城》都是爱情电影,我们推断《小欧的爱情故事》是爱情电影的概率为%。
假设k为4,则《蜘蛛侠》是动作片,《罗马假日》《泰坦尼克号》《爱乐之城》都是爱情片。那么我们也可能判断《小欧的爱情故事》是动作片,但是概率很低,只有25%,但是爱情片的概率是75%;由此可知,k对k近邻算法影响很大。
当数据量较大、特征较多时,很难选择合适的k值,需要根据测试情况进行调整。当我们添加拥抱镜头数和爆炸镜头数两个特征时,那么我们的计算公式就变成了:K值选择、距离测量、分类决策规则就是K近邻法的三个基本要素:k-最近邻算法利用不同特征值之间距离的测量来进行分类。
优点:准确度高,对异常值不敏感,无需数据输入假设。缺点:计算复杂度高,空间复杂度高。
使用的数据范围:数值和标称。 4.分类算法的决策树决策树是一种简单但应用广泛的分类器。
通过训练数据构建决策树可以有效地对未知数据进行分类。通常决策树学习包括三个步骤:特征选择、决策树生成和决策树剪枝。
特征选择是指特征选择在于选择能够对训练数据进行分类的特征。这可以提高决策树学习的效率。
如果使用某个特征进行分类的结果与随机分类的结果差别不大,则称该特征没有分类能力。根据经验,丢弃这些特征对决策树学习几乎没有影响。
特征选择的通常标准是信息增益,这是一个数学概念。下面用一个简单的案例分析来帮助大家理解决策树。
如果我周末想看一部爱情电影,并且电影的票价不能超过100元,而且收视率比较高,那么在以上电影中我会选择哪部电影呢?我们看一下特征选择的过程:通过决策树算法,最终的结果就是《小欧的爱情故事》这部电影。如果我们觉得最终想看的电影就是我们想看的那部电影,那么我们的决策过程就是正确的,也就是说这棵决策树的生成。
如果我们觉得电影价格微不足道,不能作为一个特征,我们就删除电影价格的特征。这就是决策树的剪枝。
决策树的一些优点: 易于理解和解释。树可视化;需要很少的数据准备。
其他技术通常需要数据标准化、创建虚拟变量和删除空值。但请注意,该模块不支持缺失值;使用树(即预测数据)的成本是用于训练树的数据点数量的对数。
决策树的缺点:决策树学习者可以创建过于复杂的树,而这些树不能很好地推广到数据。这称为过度拟合。
为了避免这个问题,需要剪枝机制(目前不支持)、设置叶节点所需的最小样本数或设置树的最大深度。决策树可能不稳定,因为数据的微小变化可能会导致生成完全不同的树。
通过在集成中使用决策树可以缓解这个问题。 5.随机森林分类算法随机森林是一种基于Bagging的重要集成学习方法,可用于分类、回归等问题。
在机器学习中,随机森林是包含多个决策树的分类器,其输出的类别由各个树输出的类别的众数决定。使用相同的训练数据构建多个独立的分类模型,然后按照少数服从多数的原则通过投票做出最终的分类决策。
比如你训练5棵树,其中4棵树的结果是True,1个数的结果是False,那么最终的结果就是True。这意味着在上面的决策树算法过程中,每个节点的特征都是随机选择的,随机特征变量选择就是这样。
随机森林进行节点分裂时,并不是所有属性都参与属性指标的计算,而是随机选择某些属性参与比较。随机特征变量的目的是减少每棵决策树之间的相关性,同时提高每棵决策树的分类精度。
这样,我们就可能得到多个决策树的结果。我们可能会得到八个结果,其中 6 个是《小欧的爱情故事》,两个是《爱乐之城》。
这样我们就取决策较多的那个,算法结果就是《小欧的爱情故事》。在前面的决策中,我们提到标准决策树会根据各个维度特征对预测结果的影响进行排序,然后从上到下确定不同特征构建分裂节点的顺序。
从这一点开始,随机森林中的所有决策树都将由于这种策略而构造得完全相同,从而失去多样性。因此,在随机森林分类器的构建过程中,每棵决策树都会放弃这种固定的排序算法,转而随机选择特征。
随机森林有很多优点:准确率高。随机性的引入使得随机森林不太可能过拟合,并且具有良好的抗噪声能力。
它们可以处理非常高维的数据,并且可以处理离散类型而无需进行特征选择。它还可以处理连续数据。
数据集不需要标准化。训练速度快,并且可以对变量重要性进行排序。
随机森林的缺点:当随机森林中有很多决策树时,训练所需的空间和时间会较大。 ,训练和预测都很慢。
随机森林模型有很多难以解释的东西。它有点像黑盒模型。
总结:通过以上案例中三种算法的分析,相信大家已经了解了算法的核心思想。机器学习不同的分类算法有各自的优缺点,每种算法都有自己的适用场景。
关于 |作者简介 欧阳仁军:大观数据后端开发工程师,负责大观数据产品后端开发设计、产品实现、客户定制产品需求等。对后端开发和文本处理算法的实现。
版权声明:本文内容由互联网用户自发贡献,本站不拥有所有权,不承担相关法律责任。如果发现本站有涉嫌抄袭的内容,欢迎发送邮件 举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。
标签:
相关文章
06-18
06-18
06-18
06-18
06-17
最新文章
【玩转GPU】ControlNet初学者生存指南
【实战】获取小程序中用户的城市信息(附源码)
包雪雪简单介绍Vue.js:开学
Go进阶:使用Gin框架简单实现服务端渲染
线程池介绍及实际案例分享
JMeter 注释 18 - JMeter 常用配置组件介绍
基于Sentry的大数据权限解决方案
【云+社区年度征文集】GPE监控介绍及使用