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

news2024/11/13 14:50:47
       随着全球各行业的数据治理、数字化转型智能化辅助的引入发展,机器学习(包括深度学习)在逐步深入到各行各业,所以,有必要对机器学习的常见术语,经典算法及应用场景进行一次总结,其实机器学习兴起目的是为了解决人类的各种各样的分类回归问题,通过人类智能化的设计,实现机器的自动化或智能化,而且机器主要学习人类解决问题的归纳和综合逻辑方法,但目前还无法实现演绎逻辑。特别是一些数据量密集,准确性要求快捷及时的场景,比如人脸识别、车牌设备、行人检测、安全预警、垃圾邮件识别等等。
机器学习的几个关键名词:训练集、测试集、特征值、有监督、非监督、半监督、分类和回归。
训练集:用于训练算法形成模型的数据集组合,一般都是有标签的数据集。
测试集:用于测试训练形成的模型的测试验证数据集,一般与训练集的比例是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.coloradmin.cn/o/812154.html

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

相关文章

Vue2 第九节 过滤器

&#xff08;1&#xff09;定义&#xff1a;对要显示的数据进行特定格式化后再显示 &#xff08;2&#xff09;语法&#xff1a; ① 注册过滤器 1&#xff09;Vue.filter(name, callback) 全局过滤器 2&#xff09; new Vue({filters:{}}) 局部过滤器 ② 使用过滤器 1&…

SQL注入漏洞及解决(PreparedStatement对象)

四、SQL注入漏洞 加个or true都能查出来&#xff0c;很危险&#xff01;&#xff01;&#xff01; 会报错&#xff0c;因为代码中也拼了个引号 我们使用#将后面的内容注释起来&#xff0c;前面还是条完整的sql&#xff0c;还是能查到 使用—注释&#xff0c;代码可能加trim()&…

编译运行miniob最小数据库系统

minibo是一个用于教学的小型数据库系统&#xff0c;麻雀虽小五脏俱全&#xff0c;该项目包含了数据库的核心内容&#xff0c;并且代码量小&#xff0c;适合新手学习&#xff0c;最近由于需要学习c/cpp&#xff0c;因此打算从这个项目入手&#xff0c;本文就介绍编译运行miniob的…

《零基础入门学习Python》第072讲:GUI的终极选择:Tkinter9

这节课我们接着来讲解 Canvas 组件&#xff0c;既然 Cnavas 是画布的意思&#xff0c;那我们能不能让这个组件来设计一个画板呢&#xff1f;像Windows 自带的画图程序&#xff0c;我们的用户可以在上面随心所欲的绘制自己想要的图画&#xff0c;大家仔细想想&#xff0c;其实画…

美团小图币代挂教程

登陆美团官网获取对应的cookie 美团官网&#xff0c;点击右上角登陆对应账号。登陆成功后使用f12来获取 cookie 此时如果没有任何数据&#xff0c;点击网页刷新。找到如下的网络请求 赋值cookie项的全部内容&#xff0c;此时已经获取到对应账号的cookie 使用cookie登陆代挂…

NODEJS笔记

全局对象 global/window console.log/info/warn/error/time/timeEnd process.arch/platform/version/env/kill/pid/nextTick Buffer.alloc(5,abcde) String/toString setTimeout/clearTimeout setInterval/clearInterval setImmediate/clearImmediate process.nextTi…

1.netty介绍

1.介绍 是JBOSS通过的java开源框架是异步的,基于事件驱动(点击一个按钮调用某个函数)的网络应用框架,高性能高可靠的网络IO程序基于TCP,面向客户端高并发应用/点对点大量数据持续传输的应用是NIO框架 (IO的一层层封装) TCP/IP->javaIO和网络编程–>NIO—>Netty 2.应用…

HTTP请求走私漏洞简单分析

文章目录 HTTP请求走私漏洞的产生HTTP请求走私漏洞的分类HTTP请求走私攻击的危害确认HTTP请求走私漏洞通过时间延迟技术确认CL漏洞通过时间延迟技术寻找TE.CL漏洞 使用差异响应内容确认漏洞通过差异响应确认CL.TE漏洞通过差异响应确认TE.CL漏洞 请求走私漏洞的利用通过请求漏洞…

【面试题】与通义千问的芯片前端设计模拟面试归纳

这里是尼德兰的喵芯片设计相关文章,欢迎您的访问! 如果文章对您有所帮助,期待您的点赞收藏! 让我们一起为芯片前端全栈工程师而努力! 前言 两个小时,与chatGPT进行了一场数字IC前端设计岗的面试_尼德兰的喵的博客-CSDN博客 和GPT-3.5的回答可以对比品尝,味道更好。 模…

nacos源码打包及相关配置

nacos 本地下载后&#xff0c;需要 install 下&#xff1a; mvn clean install -Dmaven.test.skiptrue -Dcheckstyle.skiptrue -Dpmd.skiptrue -Drat.skiptruenacos源码修改后&#xff0c;重新打包生成压缩包命令&#xff1a;在 distribution 目录中运行&#xff1a; mvn -Pr…

数字化转型导师坚鹏:数字化时代扩大内需的8大具体建议

在日新月异的数字化时代、复杂多变的国际化环境下&#xff0c;扩大内需成为推动经济发展的国家战略&#xff0c;如何真正地扩大内需&#xff1f;结合本人15年的管理咨询经验及目前实际情况的深入研究&#xff0c;提出以下8大具体建议&#xff1a; 1、制定国民收入倍增计划。结…

QObject::connect: No such signal me::sendMsg(QString s) in ...

QObject::connect: No such signal me::sendMsg&#xff08;QString s&#xff09; in ... 解决方案 在使用qt4的connect中&#xff0c;爆的bug&#xff1a; 导致 teacher 的槽函数 receiveMsg(QString s) 一直没有被调用。。。。 解决方案 去掉参数名&#xff0c; 保留类型…

spring6——容器

文章目录 容器&#xff1a;IocIoc容器控制反转&#xff08;Ioc&#xff09;依赖注入IoC容器在Spring的实现 基于XML管理Bean搭建环境获取bean依赖注入setter注入构造器注入特殊值处理字面量赋值null值xml实体CDATA节 特殊类型属性注入为对象类型属性赋值方式一&#xff1a;引入…

Spring依赖注入和ioc在spring中的实现方式

目录 一、依赖注入 1.IOC思想 2.什么是依赖注入&#xff1f; 3.实例化对象中有pojo类型属性 二、IOC在Spring中的实现方式 1.获取bean的三种方式 1.1根据bean的id获取 1.2根据bean的类型获取&#xff08;最常用&#xff0c;因为在IOC容器中&#xff0c;一个类型的bean只…

APUE学习62章终端(一): 整体概览

1. 什么是终端 <Linux_UNIX系统编程手册下>的第62.1介绍了整体概览&#xff0c;但是说得比较模糊&#xff0c;什么是终端这个问题请参考下面的博客: https://www.cnblogs.com/changrunwei/p/15759664.html 它讲解了以下概念: 终端(UNIX和Linux把人和机器可以交互的接…

剑指offer47.礼物的最大价值

这道题挺简单&#xff0c;学过动态规划就会。如果要走到grid[i][j],那你的上一步必须是grid[i-1][j]或者grid[i][j-1],具体是grid[i-1][j]还是grid[i][j-1]&#xff0c;就看哪一步的价值最大&#xff0c;所以用一个与grid等大的dp数组来表示走到grid[i][j]的最大价值是dp[i][j]…

阿里用户序列建模MIMN

Practice on Long Sequential User Behavior Modeling for Click-Through Rate Prediction 摘要 对于序列建模&#xff0c;实践了机器学习算法与在线服务协同设计的CTR预测系统&#xff0c;理论上可以处理无限长的用户序列。 从服务系统的角度来看&#xff0c;通过设计一个单…

MIT 6.830数据库系统 -- lab five

MIT 6.830数据库系统 -- lab five 项目拉取引言搜索练习1 BTreeFile.findLeafPage() 插入练习2 Spliting Page 删除练习3 页再分配练习4 合并页 事务 项目拉取 原项目使用ant进行项目构建&#xff0c;我已经更改为Maven构建&#xff0c;大家直接拉取我改好后的项目即可: http…

选择器jQuery

诚信是你价格不菲的鞋子&#xff0c;踏遍千山万水&#xff0c;质量也应永恒不变。 jQuery选择器大全总结&#xff1a; jQuery选择器是一种用于在HTML文档中选择元素的强大工具。下面是一些常用的jQuery选择器的总结&#xff1a; 基本选择器&#xff1a; 元素选择器&#xff1a…

《吐血整理》进阶系列教程-拿捏Fiddler抓包教程(14)-Fiddler断点(breakpoints)实战,篡改或伪造数据

1.简介 上一篇主要就讲解和分享Fiddler断点的理论和操作&#xff0c;今天宏哥就用具体例子&#xff0c;将上一篇中的理论知识实践一下。而且在实际测试过程中&#xff0c;有时候需要修改请求或响应数据&#xff0c;或者直接模拟服务器响应&#xff0c;此时可以使用fiddler进行…