机器学习的关键词和算法总结

随着全球各行业的数据治理、数字化转型智能化辅助的引入发展,机器学习(包括深度学习)在逐步深入到各行各业,所以,有必要对机器学习的常见术语,经典算法及应用场景进行一次总结,其实机器学习兴起目的是为了解决人类的各种各样的分类回归问题,通过人类智能化的设计,实现机器的自动化或智能化,而且机器主要学习人类解决问题的归纳和综合逻辑方法,但目前还无法实现演绎逻辑。特别是一些数据量密集,准确性要求快捷及时的场景,比如人脸识别、车牌设备、行人检测、安全预警、垃圾邮件识别等等。
机器学习的几个关键名词:训练集、测试集、特征值、有监督、非监督、半监督、分类和回归。
训练集:用于训练算法形成模型的数据集组合,一般都是有标签的数据集。
测试集:用于测试训练形成的模型的测试验证数据集,一般与训练集的比例是2:8。
特征值:整个数据集中的所以特征数据,出去要预测的属性或属性值。
关于有监督、非监督、半监督、分类和回归在下面详细展开说明。
机器学习大的分类
分类问题:目标标记是类别型数据
回归问题:目标标记是连续性数值
机器学习三类问题
有监督学习:训练集有类别标记
无监督学习:无标记的训练集
半监督学习:有类别标记的训练集+无标记的训练集
深度学习:机器学习的延伸和扩展,强调的是特征提取与组合
强化学习:从环境到行为映射的学习,以使得奖励信号(强化信号)函数值最大,强调的是反馈
迁移学习:是在新情况(不同于训练集的情况)上的泛化能力。而把别处学得的知识,迁移到新场景的能力。人类的迁移学习能力就很强, 人类在学会骑自行车后,再骑摩托车就很容易了,人类在学会打羽毛球后再学习打网球也会容易很多。强调的是 适应能力,发现共性(最大的难点),共性:司机的座位总是靠近路中间的
迁移学习的特点:小规模数据,可靠性和个性化。
算法训练后形成的模型评估有哪些?
1.准确率或精度
2.速度
3.强壮性
4.可规模性
5.可解释性

深度学习和经典机器学习的区别

经典的机器学习算法如下:
一、决策树(DecisionTree)
信息熵:信息的不确定,衡量信息的多少,信息的不确定性越大,熵越大,建模时取信息增益最大的那个特征作为根节点(条件熵最小)
信息增益或信息获取量(Information Gain)或者互信息:特征属性获取的度量方法。Gain(A)=Info(D)-Info_A(D)
优点:便于理解,直观,对小规模数据集有效
缺点:处理连续变量不好,类别较多时,错误增加的比较快,可用规模性一般
scikit-learn,需要安装graphviz后执行以下命令,实现决策树图的可视化。
dot转化为pdf文件:dot -Tpdf test.dot -o output.pdf 生成决策树
二、最邻近规则分类算法(简称KNN)
基于实例的学习,懒惰学习,开始并没有建立广泛的模型
为了判断未知实例的类别,需要以所有已知类别的实例作为参考,对其进行归类
1.选择参数K
2.计算未知实例与所有已知实例之间的距离
3.选择最近K个已知实例
4.采用少数服从多数,未知实例的归类就是这K个相邻样本中最大数的类别
KD树构建:
分别计算n个特征取值的方差,用方差最大的第k维特征$n{k}$来作为根节点。对于这个特征,我们选择特征$n{k}$的取值的中位数$n{kv}$对应的样本作为划分点
距离衡量方法:坐标差平方和开根号,cos,相关度,曼哈顿距离
优点:简单易于理解,容易实现,可以通过对K的选择增加健壮性
缺点:空间大,算法复杂度高,当样本不平衡时,某一类样本占主导时,新的实例容易被归为这个主导分类。但实际是错误的
改进:在距离的基础上加一个权重,比如1/d(d为距离)
三、支持向量机(SVM)
机器学习的一般框架
训练集--》提取特征向量--》结合一定的算法(分类器:比如决策树,KNN)-->得到模型结果
SVM就是寻找两类的超平面,使得边际最大
特点:
1.算法复杂度是由支持向量的个数决定,不是由数据的维度决定,不容易产生overfitting
2.模型完全依赖于支持向量,即使所有非支持向量去除,重复训练时,模型也是一样的
3.一个SVM如果训练得出的支持向量个数比较少,模型容易被泛化
四、人工神经网络
多层向前神经网络(multiplayer feed-forward neural network)
输入层 隐藏层 输出层
交叉验证方法(cross-validation):分成十份,每次拿出一份,找到十个模型,然后去平均值
神经网络可以用于解决分类问题,也可以解决回归问题
backpropagation算法
1.通过迭代来处理训练集中的数据
2.通过对比神经网络后输入层预测值与真实值之间的差距
3.反方向(从输出--》隐藏--》输入)来最小化误差来更新每个连接的权重和偏向
终止条件
权重的更新低于某个阈值
预测的错误率低于某个阈值
达到预设一定的循环次数
五、简单线性回归(Simple linear regression)
均值、中位数,众数,方差和标准差(提醒数据的离散程度,越大表示离散度大)
回归Y变量是连续数值型:如房价、人数、
分类Y变量是类别型:颜色类型,岩石类型,电脑品牌,有无信誉
包含一个自变量和一个因变量叫做简单线性回归问题
包含两个以上的自变量,叫做多元回归问题。
简单线性回归模型:y=B0+B1x+E
简单线性回归方程:E(y)=B0+B1x
估计的简单线性回归方程:y=b0+b1x
估计方法:使得sum of squares最小
多元回归分析
多个自变量
非线性回归(logistic regression)
概率:一件事情发生的可能性衡量,0<P<1
条件概率
梯度下降算法
回归中的相关度和R平方值:皮尔逊相关系数
R平方值:决定系数,反应因变量的全部变异能通过回归关系被自变量解释的比例,比如R平方为0.8,表示回归关系可以解释因变量80%的变异,换句话说,如果我们能够控制自变量不变,泽因变量的变异程度会减少80%
R平方随着自变量的增加会变大,R平方和样本量有关系
rer
六、聚类(cluster)
Kmeans算法:数据挖掘中的十大经典算法之一
算法接收参数K,然后将事先输入的n个数据对象划分为k个聚类,同一聚类相似度高,不同聚类相似度变小
优点:速度快,简单
缺点:最终结果跟初始点的选择相关,容易陷入局部最优,需要事先知道K值
层次聚类(hierarchical clustering)
初始化将每个样本归为一类,计算每两类之间的距离,也就是样本与样本之间的相似度
寻找各个类之间最近的两个类,将其归为一类,相当于类的总数少一个了。
学习资源

深度学习的软件包:Theano,opencv2,Pylearn2,TensorFlow,scikit-neuralnetwork,Caffe(C++),Deeplearning4j(java),Torch

深度学习网站:http://deeplearning.net/

GPU查看网站:http://developer.nvidia.com/cuda-gpus 

sklearn深度学习:GitHub - aigamedev/scikit-neuralnetwork: Deep neural networks without the learning cliff! Classifiers and regressors compatible with scikit-learn.

Mnist数据集(手写数据集):MNIST handwritten digit database, Yann LeCun, Corinna Cortes and Chris Burges, GitHub - cazala/mnist: mnist digits in javascript

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

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

相关文章

深度学习各层负责什么内容?

1、深度学习——神经网络简介 深度学习(Deep Learning)(也称为深度结构学习【Deep Structured Learning】、层次学习【Hierarchical Learning】或者是深度机器学习【Deep Machine Learning】)是一类算法集合&#xff0c;是机器学习的一个分支。 深度学习方法近年来&#xff0c…

8.3day04git+数据结构

文章目录 git版本控制学习高性能的单机管理主机的心跳服务算法题 git版本控制学习 一个免费开源&#xff0c;分布式的代码版本控制系统&#xff0c;帮助开发团队维护代码 作用&#xff1a;记录代码内容&#xff0c;切换代码版本&#xff0c;多人开发时高效合并代码内容 安装g…

【多模态】23、RO-ViT | 基于 Transformer 的开发词汇目标检测(CVPR2023)

文章目录 一、背景二、方法2.1 基础内容2.2 Region-aware Image-text Pretraining2.3 Open-vocabulary Detector Finetuning 三、效果3.1 细节3.2 开放词汇目标检测效果3.3 Image-text retrieval3.4 Transfer object detection3.5 消融实验 论文&#xff1a;Region-Aware Pretr…

【数据结构与算法】TypeScript 实现图结构

class Grapg<T> {// 用于存储所有的顶点verteces: T[] [];// 用于存储所有的边 采用邻接表的形式adjList: Map<T, T[]> new Map();// 添加顶点addVertex(v: T) {this.verteces.push(v);// 初始化顶点的邻接表this.adjList.set(v, []);}// 添加边addEdge(v: T, w:…

自动化测试Junit(测试系列8)

目录 前言&#xff1a; 1.什么是Junit 2.Junit相关的技术 2.1注解 2.1.1Test 2.1.2Disable 2.1.3BeforeAll和AfterAll 2.1.4BeforeEach和AfterEach 2.2参数化 2.2.1单参数 2.2.2多参数 2.2.2.1CSV获取参数 2.2.2.2方法获取参数 2.3测试套件 2.3.1通过class运行测…

vue3引用Font-Awesome字体图标库

环境&#xff1a;vue3tsviteelement plus 介绍&#xff1a;这里安装引用的是Font-Awesome 6.x 版本&#xff0c;有专业版&#xff08;付费&#xff09;&#xff0c;这里只介绍免费版字体使用方法 一、安装 1.使用npm安装&#xff0c;终端打开项目目录或者命令行cd到目录文件夹…

面向对象程序三大特性一:多态(超详细)

目录 1.重写 1.1基本语法规则 1.2规则深化 1.3重写与重载的区别 2.向上转型 2.1简单介绍 2.3向上转型的作用 3.向下转型 3.1介绍 3.2instanceof 基本介绍 4.多态 4.1多态实现条件 4.2避免在构造方法中调用重写的方法 1.重写 重写 (override) &#xff1a;也称为覆…

【漏洞挖掘】Xray+rad自动化批量漏洞挖掘

文章目录 前言一、挖掘方法二、使用步骤工具安装使用方法开始挖掘 总结 前言 自动化漏洞挖掘是指利用计算机程序和工具来扫描、分析和检测应用程序、网络和系统中的安全漏洞的过程。这种方法可以帮助安全专家和研究人员更高效地发现和修复潜在的安全威胁&#xff0c;从而提高整…

Docker-Compose编排与部署

目录 Docker Compose Compose的优点 编排和部署 Compose原理 Compose应用案例 安装docker-ce 阿里云镜像加速器 安装docker-compose docker-compose用法 Yaml简介 验证LNMP环境 Docker Compose Docker Compose 的前身是 Fig&#xff0c;它是一个定义及运行多个 Dock…

异或运算详解

异或运算详解 定义特性用途总结 定义 参与运算的两个数据,按二进制位进行 ^ 运算,如果两个相对应为值相同结果为0,否则为1 1 ^ 0 1 0 ^ 1 1 0 ^ 0 0 1 ^ 1 0特性 异或^运算只能用于数值(整数) x ^ 0 x x ^ x 0用途 两个值交换,而不用使用临时变量 a a ^ b; b b ^…

负数的二进制转换成十进制

对于一个k位的二进制正数&#xff0c;其表示成十进制的结果是&#xff1a; pos[i]表示&#xff1a;这个正数的二进制形式的第i位是1。 i从最低位&#xff08;第0位&#xff09;开始&#xff0c;一直到k-1位。有符号数中&#xff0c;正数的第k-1为0&#xff0c;负数的第k-1位为…

SequenceDiagram 查看代码时序图的利器,做技术方案必备!

前言 “ 无论是快速了解业务流程&#xff0c;还是快速的熟悉系统的业务代码逻辑&#xff0c;以及各个类和方法等的调用关系&#xff0c;时序图无疑是其中一种不可获取的简便快捷的方式。一起来了解下&#xff0c;IDEA如何快速生成时序图吧。” 工作中&#xff0c;经常需要绘制…

【动态规划算法】-回文串问题题型(34-40题)

&#x1f496;作者&#xff1a;小树苗渴望变成参天大树&#x1f388; &#x1f389;作者宣言&#xff1a;认真写好每一篇博客&#x1f4a4; &#x1f38a;作者gitee:gitee✨ &#x1f49e;作者专栏&#xff1a;C语言,数据结构初阶,Linux,C 动态规划算法&#x1f384; 如 果 你 …

CRM系统如何进行公海池线索分配自动化?

在销售过程中&#xff0c;线索分配是一个非常重要的环节。传统的线索分配方式往往是由销售主管手动进行&#xff0c;不仅效率低下&#xff0c;还存在着不公平、不灵活的问题。因此&#xff0c;许多企业通过CRM来实现公海池线索分配自动化。 1、基于规则的分配 CRM可以让用户设…

express学习笔记6 - 用户模块

新建router/user.js const express require(express) const routerexpress.Router() router.get(/login, function(req, res, next) {console.log(/user/login, req.body)res.json({code: 0,msg: 登录成功})})module.exportsrouter 在router/user.js引入并使用 const us…

Vue进阶(幺叁陆): transition标签实现页面跳转动画

文章目录 一、前言二、方案实现三、延伸阅读 transition标签四、拓展阅读 一、前言 在Vue项目开发过程中&#xff0c;应用全家桶vue-router实现路由跳转&#xff0c;且页面前进、后退跳转过程中&#xff0c;分别对应不同的切换动画。vue-router 切换页面时怎么设置过渡动画&am…

MySQL日志——错误日志、二进制日志

错误日志二进制日志查询日志慢查询日志 1.错误日志 查看日志位置&#xff1a; show variables like %log_error%查看错误日志&#xff1a; tail -f /var/log/mysql.log2.二进制日志 show variables like %log_bin%;cd /var/lib/mysql ll2.1 日志格式 查看日志格式指令&…

计算机视觉与图形学-神经渲染专题-ConsistentNeRF

摘要 Neural Radiance Fields (NeRF) 已通过密集视图图像展示了卓越的 3D 重建能力。然而&#xff0c;在稀疏视图设置下&#xff0c;其性能显着恶化。我们观察到&#xff0c;在这种情况下&#xff0c;学习不同视图之间像素的 3D 一致性对于提高重建质量至关重要。在本文中&…

【多模态】21、BARON | 通过引入大量 regions 来提升模型开放词汇目标检测能力(CVPR2021)

文章目录 一、背景二、方法2.1 主要过程2.2 Forming Bag of Regions2.3 Representing Bag of Regions2.4 Aligning bag of regions 三、效果 论文&#xff1a;Aligning Bag of Regions for Open-Vocabulary Object Detection 代码&#xff1a;https://github.com/wusize/ovdet…

pytorch(续周报(1))

文章目录 2.1 张量2.1.1 简介2.1.2 创建tensor2.1.3 张量的操作2.1.4 广播机制 2.2 自动求导Autograd简介2.2.1 梯度 2.3 并行计算简介2.3.1 为什么要做并行计算2.3.2 为什么需要CUDA2.3.3 常见的并行的方法&#xff1a;网络结构分布到不同的设备中(Network partitioning)同一层…