概述机器学习算法(机器学习)

news2024/11/15 11:56:13

目录

 

机器学习的一般步骤

分类算法

决策树

支持向量机

最近邻算法

贝叶斯网络

神经网络

聚类算法

K—均值算法

BIRCH算法

CURE算法

OPTICS算法

关联分析算法

Apriori算法

FP-growth算法

回归分析算法

线性回归

逻辑回归

多项式回归

邻回归

LASSO回归

深度学习


机器学习的一般步骤


定义分析目标

收集数据

数据预处理

数据建模

模型训练

模型评估

模型应用


分类算法


分类算法是应用分类规则对记录进行目标映射,将其划分到不同的分类中,构建具有泛化能力的算法模型,即构建映射规则来预测未知样本的类别

分类算法包括预测描述两种,经过训练集学习的预测模型在遇到未知记录时,应用规则对其进行类别划分,而描述型的分类主要是对现有数据集中特征进行解释并进行区分,例如对动植物的各项特征进行描述,并进行标记分类,由这些特征来决定其属于哪一类目

主要的分类算法包括决策树、支持向量机(Support Vector Machine SVM)、最近邻(K NearestNeighbors KNN) 、贝叶斯网络( Bayes Network) 和神经网络等

决策树


决策树是一棵用于决策的树, 目标类别作为叶子结点,特征属性的验证作为非叶子节点,而每个分支是特征属性的输出结果。擅长对人物、位置、事物的不同特征、品质、特性进行评估,可应用于基于规则的信用评估、比赛结果预测等。

决策过程是从根结点出发,测试不同的特征属性,按照结果的不同选择分支,最终落到某一叶 子结点,获得分类结果。

主要的决策树算法有ID3C4.5C5.0CARTCHAIDSLIQSPRINT等算法

决策树的构建过程是按照属性的优先级或重要性米逐渐确定树的层次结构,使其叶于结点尽明能属于同一类别,一般采用局部最优的贪心策略来构建决策树量机支持向量机

支持向量机


支持向量机的主要思想是将低维特征空间中的线性不可分进行非线性映射转化为高维空间的线性可分例如在二维平面图中某些点是杂乱排布的,无法用一条直线分为两类,但是在三维空间中,可能通过一个平面可以将其划分

为了避免在低维空间向高维高空转化过程中增加计算复杂性和“维数灾难”支持向量机应用核函数,不需要关心非线性映射的显式表达式,直接在高维空间建立线性分类器,优化了计算复杂度。支持向量机常见的核函数有线性核函数、多项式核函数、径向基函数和二层神经网络核函数等

支持向量机的目标变量以分类最佳,虽然可以用于多分类, 但效果不好。与其他分类算法相比,支持向量机对小样本数据集分类效果更好

最近邻算法


对样本应用向量空间模型表示,将相似度高的样本分为一类,对新样本计算与之距离最近(最相似)的样本的类别,那么新样本就属于这些样本中的类别最多那一类。 可见影响分类结果的因素分别为距离计算方法、近邻的样本数量等。

相似度距离计算方法:欧式距离、曼哈顿距离、切比雪夫距离、明科夫斯基距离、 标准化欧氏距离、马氏距离、巴氏距离、汉明距离、夹角余弦、杰卡德相似系数、皮尔逊系数

最近邻算法的主要缺点

1、在各分类样本数量不平衡时误差较大。

2、由于每次比较要遍历整个训练样本集来计算相似度,所以分类的效率较低,时间和空间复杂度较高。

3、近邻的数量选择不合理可能会导致结果的误差较大。

4、在原始近邻算法中没有权重的概念,所有特征采用相同的权重参数,这样计算出来的相似度易产生误差。

贝叶斯网络


贝叶斯网络贝叶斯网络又称为置信网络,是基于贝叶斯定理绘制的具有概率分布的有向弧段图形化网络,其理论基础是贝叶斯公式,网络中的每个点表示变量,有向孤段表示两者间的概率关系。

与神经网络相比,贝叶斯网络中的节点都具有实际的含义,节点之间的关系比较明确,可以从贝叶斯网络中直观看到变量之间的条件独立和依赖关系,可以进行结果和原因的双向推理。

贝叶斯网络分类算法分为朴索贝叶斯算法和普通贝叶斯算法,在节点数较少的网络结构中可选精确贝叶斯算法以提高精确概率,在节点数较多时,为减少推理过程和降低复杂性,一般选择朴素贝叶斯算法。

神经网络


神经网络包括输入层、隐藏层、输出层

每一个节点代表一个神经元, 节点之间的连线对应权重值

输入变量经过神经元时会运行激活函数对输入值赋予权重和加上偏置

并将输出结果传递到下一层中的神经元,而权重值和偏置是在神经网络训练过程中不断修正



神经网络的训练过程主要包括前向传输逆向反馈

1、将输入变量逐层向前传递最后得到输出结果,并对比实际的结果,逐层逆向反馈误差

2、同时对神经元中权重值和偏置进行修正,然后重新进行前向传输,依此反复迭代直到最终预测结果与实际结果一致或在一定的误差范围内。

3、由于神经网络是基于历史数据构建的模型,因此,随着新的数据不断产生,需要进行动态优化,例如随着时间变化,应用新的数据对模型重新训练,调整网络的结构和参数值

聚类算法


聚类是基于无监督学习的分析模型,不需要对原始数据进行标记,按照数据的内在结构特征进行聚集形成簇群,从而实现数据的分离

聚类与分类的主要区别是其并不关心数据是什么类别,而是把相似的数据聚集起来形成某一类簇。在聚类的过程中,首先选择有效特征构成向量,然后按照欧式距离或其他距离函数进行相似度计算,并划分聚类,通过对聚类结果进行评估,逐渐迭代生成新的聚类

聚类应用领域广泛,可以用于发现不同的企业客户群体特征、消费者行为分析、市场细分、交易数据分析、动植物种群分类、医疗领域的疾病诊断、环境质量检测等,还可用于互联网和电商领域的客户分析、行为特征分类等

聚类方法可分为基于层次的聚类、基于划分的聚类、基于密度的聚类、基于约束的聚类、基于网络的聚类等

K—均值算法


传统的k-均值算法的聚类过程是在样本集中随机选择k个聚类中心点,对每个样本计算候选中心的距离进行分组,在得到分组之后重新计算类簇的中心,循环迭代直到聚类中心不变或收敛

k-均值存在较多改进算法,如初始化优化k-均值++、距离优化Elkan k -Means算法、k Prototype算法等

k-均值算法的主要

优点

可以简单快速处理大数据集,并且是可伸缩的,当数据集中类之间区分明显(凸形分布)时,聚类效果最好

缺点

要用户给出k值,即聚类的数目,而聚类数有时事先很难确定一个 合理的值

k- 均值算法对k值较敏感,如果k值不合理可能会导致结果局部最优

BIRCH算法


BIRCH算法是指利用层次方法来平衡迭代规则和聚类,它只需要扫描数据集一次便可实现聚类,它利用了类似B+树的结构对样本集进行划分,叶子结点之间用双向链表进行连接,逐渐对树的结构进行优化获得聚类

BIRCH算法的主要优点

空间复杂度低内存占用少,效率较高,能够对噪声点进行滤除

缺点

树中结点的聚类特征树有个数限制,可能会产生其与实际类别个数不一致的情况

对样本有一定的限制,要求数据集的样本是超球体,否则聚类的效果不佳。

CURE算法


传统的基于划分聚类的方法得到的是凸形的聚类,对异常数据较敏感,CURE算法是使用多个代表点来替换聚类中的单个点,算法更加健壮。并且在处理大数据时采用分区和随机取样,使其处理大数据量的样本集时效率更高且不会降低聚类质量

OPTICS算法


DBSCAN算法中,有两个初始参数ε (邻域半径)minPts邻域最小点数)需要用户手动设置,这两个参数较关键,不同的取值将产生不同的结果。而OPTICS 克服了上述问题,为聚类分析生成一个增广的簇排序,代表了各样本点基于密度的聚类结构

关联分析算法


关联分析(Associat ive Analysis) 是通过对数据集中某些项目同时出现的概率来发现它们之间的关联关系,其典型的应用是购物篮分析,通过分析购物篮中不同商品之间的关联,分析消费者的购买行为习惯,从而制定相应的营销策略,为商品促销、产品定价、位置摆放等提供支持,并且可用于不同消费者群体的划分。

Apriori算法


Apriori算法主要实现过程是首先生成所有频繁项集,然后由频繁项集构造出满足最小置信度的规则

由于Apriori 算法要多次扫描样本集,需要由候选频繁项集生成频繁项集,在处理大数据量数据时效率较低。

FP-growth算法


该算法只进行两次数据集扫描且不使用侯选项集,直接按照支持度来构造一个 频繁模式树,用这棵树生成关联规则,在处理比较大的数据集时效率比Apriori算法大约快一个数量级,对于海量数据,可以通过数据划分、样本采样等方法进行再次改进和优化

回归分析算法


回归分析是一种研究自变量和因变量之间关系的预测模型,用于分析当自变量发生变化时因变量的变化值。

要求自变量相互独立

线性回归


机器学习应用线性回归进行分析折时要求自变量是连续型,线性回归用直线(回归线)去建立因变量和一个或多个自变量之间的关系

线性回归主要的特点如下:

1、自变量与因变量之间呈现线性关系

2、多重共线性、自相关和异方差对多元线性回归的影响很大

3、线性回归对异常值非常敏感,其能影响预测值

4、在处理多个自变量时,需要用逐步回归的方法来来自动选择显著性变量,不需要人工干预,其思想是将自变量逐个引入模型中,并进行F检验、t检验等来筛选变量,当新引人的变量对模型结果没有改进时,将其剔除,直到模型结果稳定。逐步回归的目的是选择重要的自变量。用最少的变量去最大化模型的预测能力,它也是一 种降维技术,主要的方法有前进法和后退法,前者是以最显著的变量开始,逐渐增加次显著变量。后者是逐渐剔除不显著的变量

逻辑回归


逻辑回归般应用于分类问题。如果因变量类型为序数型的,则称为序数型逻辑回归;如果因变量有多个,则称为多项逻辑回归。

逻辑回归需要大的样本量,在低样本量的情況下可能效果不佳,因为最大似然估计在低样本数量时的统计结果误差较大。

多项式回归


在回归分析中有时会遇到线性回归的直线拟合效果不佳,如果发现散点图中数据点呈多项式曲线时,可以考虑使用多项式回归来分析。

用多项式回归可以降低模型的误差,但是如果处理不当易造成模型过拟合,在回归分析完成之后需要对结果进行分析,并将结果可视化以查看其拟合程度

邻回归


岭回归又称为脊回归,在共线性数据分析中应用较多,是种有偏估计的回归方法,在最小二乘估计法的基础,上做了改进,通过舍弃最小二乘法的无偏性,以损失部分信息为代价使得回归系数更稳定和可靠。其中R方值会稍低于普通回归分析方法,但回归系数更加显著,主要用于变量间存在共线性和数据点较少时

LASSO回归


LASSO回归的特点是与岭回归类似,在拟合模型的同时进行变量筛选和复杂度调整。变量筛选是逐渐把变量放入模型从而得到更好的自变量组合。复杂度调整是通过参数调整来控制模型的复杂度,例如减少自变量的数量等,从而避免过度拟合

LASSO回归也是擅长处理多重共线性或存在一定噪声和冗余的数据,可以支持连续型因变量、二元、多元离散变量的分析

深度学习


深度学习方法是通过使用多个隐藏层和大量数据来学习特征,从而提升分类或预测的准确性

受限玻尔兹曼机

深度信念网

卷积神经网络

层叠自动编码器

深度神经网络

循环神经网络

对抗神经网络

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/12995.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

U++学习笔记 ------ 多播委托

多播委托 1、可以绑定多个回调函数,所有绑定的回调函数都会执行,实质是维持了一个单播委托的数组没有返回值支持参数不支持反射以及序列化 绑定多播委托 Add:将函数委托添加 到该多播委托的调用列表中。 AddStatic:添加原始C指针…

类和对象(下)

关于类和对象依旧有许多难点,这篇博客将会讲解关于类的构造函数的初始化列表,静态成员,友元,内部类,以及匿名对象等一些比较复杂的东西。 初始化列表 我们之前就已经学过类和对象的构造函数,但是实际上那并…

[小技巧]C# 反射

文章目录定义Namespace场景示例简单反射一个对象进行操作反射一个有参构造函数的对象反射一个泛型类型的对象简单反射一个方法进行操作反射一个泛型方法进行操作反射一个静态(Static)方法定义 反射提供描述程序集、模块和类型的对象(Type 类…

设计模式----工厂模式

设计模式----工厂模式 文章目录设计模式----工厂模式一.简介1. 什么是工厂模式?2. 工厂模式的类型?3. 工厂模式的使用场景?二. 使用1. 简单工厂模式2. 工厂方法模式3. 抽象工厂模式一.简介 1. 什么是工厂模式? 工厂模式&#xff…

【SpringBoot项目】SpringBoot项目-瑞吉外卖【day03】分类管理

文章目录前言公共字段自动填充问题分析代码实现功能测试功能完善新增分类需求分析模型代码开发功能测试分类信息分页查询需求分析代码开发功能测试删除分类需求分析代码开发功能完善修改分类需求分析代码实现结尾🌕博客x主页:己不由心王道长&#x1f315…

11.17 - 每日一题 - 408

每日一句: 世上没有侥幸的成功,只有加倍的努力。 数据结构 1 一棵左右子树均不空的二叉树在先序线索化后,其中空的链域的个数是______ A. 0B. 1C 2D.不确定答案:B 解析:线索二叉树利用了二叉链表中的空的左右孩子指…

高通导航器软件开发包使用指南(3)

高通导航器软件开发包使用指南(3)3.2 实时数据查看3.3 日志分析3.4 其他日志记录系统信息3.4.1查看数据记录选项3.4.2确保日志存储3.4.3获取snav_vector版本3.2 实时数据查看 snav_sinspector控制台应用程序允许以人工方式查看日志文件中的二进制数据 …

java项目-第142期ssm美食推荐系统-ssm毕业设计_计算机毕业设计

java项目-第142期ssm美食推荐系统-ssm毕业设计_计算机毕业设计 【源码请到资源专栏下载】 今天分享的项目是《ssm美食推荐系统》 该项目分为2个角色,管理员和用户。 用户可以浏览前台,包含功能有: 首页、热门美食、美食教程、美食店铺 、美食社区、美食资…

Arthas教程

Linux环境安装 下载地址:https://alibaba.github.io/arthas/arthas-boot.jar java -jar arthas-boot.jar 运行 quit 退出 stop 停止Arthas快速入门 一.执行一个jar包 二.通过arthas来attach(黏附) 三.常用命令操作 诊断demo下载http…

Oracle Primavera Unifier活动管理器(Activity Manager)

目录 一、简要介绍 二、其他相关 一、简要介绍 Oracle Primavera Unifier Activity“活动”被定义为必须按计划完成的工作或事件的一部分。 Activity也就是以上的活动,它从映射的 P6 项目中捕获计划数据,从公司级主费率表(默认&#xff0…

大数据必学Java基础(一百零二):连接池的使用

文章目录 连接池的使用 一、连接池基础知识扩展 二、代码实战 1、定义连接池

信道划分介质访问控制ALOHA协议CSMA协议CSMA/CD协议轮询访问MAC协议

注:最后有面试挑战,看看自己掌握了吗 文章目录传输数据两种链路点对点链路广播式链路介质访问控制静态划分信道动态划分信道轮询访问介质访问控制随机访问介质访问控制---所有用户都可以随机发送信息ALOHA协议------想说就说CSMA协议------先听再说1-坚持…

【保姆级】新机器部署RabbitMQ

1、登录服务器,如果非root用户则切root用户 sudo su - 2、在/usr/tmp目录上传erlang、rabbitmq安装包 3、将安装包移到/usr/local/目录 mv /usr/tmp/erlang-21.3.8.2-1.el7.x86_64.rpm /usr/local/ mv /usr/tmp/rabbitmq-server-3.7.15-1.el7.noarch.rpm /usr/lo…

基础知识:临界阻尼

任何一个振动系统,当阻尼增加到一定程度时,物体的运动是非周期性的,物体振动连一次都不能完成,只是慢慢地回到平衡位置就停止了。当阻力使振动物体刚好能不作周期性振动而又能最快地回到平衡位置的情况,称为“临界阻尼…

JS高级(三):严格模式、闭包、递归、深拷贝和浅拷贝

JavaScript高级(三)一、严格模式1.开启严格模式(1)为脚本开启严格模式(2)为某个函数开启严格模式2.严格模式的一些规定(1)禁止变量未声明就赋值(2)禁止删除已…

AMD发布22.11.1驱动,支持《使命召唤:战区2.0》

他来了他来了,带着迷人的脚步走来了! 《使命召唤:战区2.0》正式上线了。有Steam周榜三连冠的《使命召唤19》在前,《战区2.0》可以说是备受瞩目,免费大逃杀,谁不期待? (图源自steam&…

一句话生成图片,FlagAI使用(附页面操作代码) | 机器学习

目录 前言 项目结构 页面交互调整 总结 前言 最近Text-To-Image是一个很火的话题,甚至更进一步的Text-To-Video话题度也在不断上升。最近看到一个开源项目FlagAI,是目前我觉着效果比较好的项目之一。安装操作简单,支持中英文,…

疫情防控管理系统

1、项目介绍 疫情防控管理系统拥有两种角色:管理员和用户 管理员:医护信息管理、物资管理、疫苗管理、疫站管理等 用户:登录注册、物资、疫苗、疫站查看 2、项目技术 后端框架: Servlet、mvc模式 前端技术:Bootst…

yolov5剪枝实战1: 论文及yolov5剪枝实战项目介绍

本系列博客介绍yolov5剪枝方法 1. 介绍 神经网络一般都存在过参数化(over-parameterized)的问题,存在冗余的神经元或权重,所以可以进行剪枝。 其实对网络可以针对不同的颗粒度进行剪枝,可以进行权重、神经元级别的剪枝,也可以基于channel, shape,filter以及layer级别的剪枝…

卷积神经网络基础

由于篇幅所限,本章将重点介绍计算机视觉的经典模型(卷积神经网络)和两个典型任务(图像分类和目标检测)。主要涵盖如下内容: 卷积神经网络:卷积神经网络(Convolutional Neural Netwo…