01.机器学习引言
1.机器学习的步骤
1. 数据搜集
其中数据划分,是将数据集分为训练集、验证集和测试集(通常不考虑时间)
2. 数据清洗
3. 特征工程
-
提取对象:原始数据(特征提取一般在特征选择之前)
-
提取目的:自动地构建新的特征,将原始数据转换为一组具有明显物理意义(例如,几何特征、纹理特征)或统计意义的特征
-
常用方法:
-
降维方面:PCA、ICA、LDA等
-
图像方面:SIFT、Gabor、HOG等
-
文本方面:词袋模型、词嵌入模型等
-
注意:传统机器学习跟深度学习在特征提取的区别:
深度学习不需要去做特征工程,模型自己对数据做特征工程
4. 数据建模
4.1 模型分类:
- 概率模型:决策树、朴素贝叶斯、隐马尔科夫模型、高斯混合模型等
- 非概率模型:感知机、支持向量机、KNN、AdaBoost、K-means以及神经网络等
4.2损失函数(衡量模型的好坏):
损失函数就是用来衡量模型预测结果跟真实数据之间的真值的。例如,平均损失函数(Quadratic Loss Function)L(Y,f(x)) = (Y- f(x))2,损失函数越小,模型性能越好。
所以我们在设定好一个模型之后,给定一个训练集,训练的目的就是去优化这个损失函数:
min f 1 N ∑ i = 1 n L ( y i , f ( x i ) ) \mathop {\min }\limits_f {1 \over N}\sum\limits_{i = 1}^n {L{{({y_i},f({x_i}))}}} fminN1i=1∑nL(yi,f(xi))
4.3 优化算法
怎么求这个损失函数呢?怎求的具体算法就称为优化算法,现在主要的优化算法有:梯度下降法、牛顿法、拟牛顿法、ADAM等等。
4.4评价指标
(1).评测模型好坏的评价指标:
-
正确肯定(True Positive,TP):预测为真,实际为真
-
正确否定(True Negative,TN):预测为假,实际为假
-
错误肯定(False Positive,FP):预测为真,实际为假
-
错误否定(False Negative,FN):预测为假,实际为真
(2).参考指标
Accuracy (准确率) = T P + T N T P + T N + F P + F N {{TP + TN} \over {TP + {\rm{TN}} + {\rm{FP + FN}}}} TP+TN+FP+FNTP+TN
Precision(精确率) = T P T P + F P {{TP} \over {TP + {\rm{FP}}}} TP+FPTP
Recall(召回率) = T P T P + F N {{TP} \over {TP + {\rm{FN}}}} TP+FNTP
F1 score = 2 × P r e c i s i o n × R e c a l l P r e c i s i o n + R e c a l l {{2 \times {\rm{Precision}} \times {\rm{Recall}}} \over {{\rm{Precision}} + {\rm{Recall}}}} Precision+Recall2×Precision×Recall
3.
2.数据集
2.1 K折交叉验证
交叉验证既可以解决数据集的数据量不够大的问题,也可以解决参数调优的问题。
步骤:
1.使用训练集训出k个模型
2.用k个模型分别对交叉验证集计算得出交叉验证误差(代价函数的值)
3.选取代价函数值最小的模型
4.用步骤3中选出的模型对测试集计算,得出推广误差(代价函数的值)
2.2 数据集的不均衡
数据不平衡是指数据集中各类样本数量不均匀的情况。这种情况会给模型的训练带来很大的问题
平滑数据集分布不平衡的解决方法:
SMOTE (Synthetic Minority Over-sampling Technique)算法:在少样本的距离的中间再生成一个新的样本
3.机器学习分类
-
监督学习:输入的数据中有监督信息,以概率函数、代数函数或人工神经网络为基函数模型,采用迭代计算方法,学习结果为函数
-
无监督学习:输入数据中没有监督信息,采用聚类方法,学习结果为类别。典型的无监督学习有聚类,降维算法等。除此之外,还有自监督学习,半监督学习,对比学习等概念。
-
强化学习:以环境为反馈(奖/惩信号)作为输入,以统计和动态规划技术为指导的一种学习方法。
3.1 监督学习
-
分类(classfication)
-
回归(regression)
3.2 无监督
-
聚类(Clustering)
-
降维(Demensionality Reduction)
3.3 强化学习
用于描述和解决智能体(agent)在与环境的交互过程中通过学习策略以达成回报最大化或实现特定目标的问题。
4.编程基础
- 编程语言:python、R
- 编程系统:Linux、anaconda
- 编程平台:jupyter notebook , vscode,pycharm
- 编程库:numpy,pandas,matplotlib,scikit-learn,pytorch,tensorflow
相关文章:
01.机器学习引言
1.机器学习的步骤 1. 数据搜集 其中数据划分,是将数据集分为训练集、验证集和测试集(通常不考虑时间) 2. 数据清洗 3. 特征工程 提取对象:原始数据(特征提取一般在特征选择之前) 提取目的:…...
结构型(二) - 桥接模式
一、概念 桥接模式(Bridge Pattern):是用于把抽象化与实现化解耦,使得二者可以独立变化。它通过提供抽象化和实现化之间的桥接结构,来实现二者的解耦。 另一种理解方式:一个类存在两个(或多个…...
多维时序 | MATLAB实现WOA-CNN-GRU-Attention多变量时间序列预测
多维时序 | MATLAB实现WOA-CNN-GRU-Attention多变量时间序列预测 目录 多维时序 | MATLAB实现WOA-CNN-GRU-Attention多变量时间序列预测预测效果基本介绍模型描述程序设计参考资料 预测效果 基本介绍 MATLAB实现WOA-CNN-GRU-Attention多变量时间序列预测,WOA-CNN-GR…...
C#与西门子PLC1500的ModbusTcp服务器通信1--项目背景
最近在一个120万元的项目中,涉及到modbustcp通信,我作为软件总工负责项目的通信程序开发,modbus是一个在工业自动化领域中的通信协议,可以是modbusrtu,modbusascii,modbustcp三个形式,具体来说是…...
Socks5代理与IP代理:网络安全与爬虫之道
1. Socks5代理的多功能性 Socks5代理是一种支持TCP和UDP协议的代理技术,适用范围广泛。不同于传统HTTP代理,Socks5代理在传输数据时更为灵活,可以满足实时数据传输的需求,适用于在线游戏、视频流等场景。此外,Socks5代…...
苹果电脑怎么录屏?步骤详解,看到就是赚到
苹果电脑作为一款受欢迎的高性能设备,不仅在日常工作中发挥着重要作用,还可以用于创造内容,如录制屏幕内容。录屏功能能够帮助用户将屏幕上的活动记录成视频,方便分享、演示或存档。可是您知道苹果电脑怎么录屏吗?通过…...
vb毕业生管理系统设计与实现
【摘要】 本毕业生管理系统是使用VB和ACCESS数据库为开发工具开发的一个全新的管理系统(MIS)。开发出的软件可以在任何一个装有VB环境的机器上运行。本毕业生管理系统包括六个子模块:用户登陆模块、学籍管理模块、学生成绩模块、毕业设计选题模块、毕业设计成绩管理模块、系…...
WPF入门到精通:4.页面增删改查及调用接口(待完善)
在WPF中,页面的增删改查可以通过使用DataGrid等控件来实现。接口的调用可以使用HttpClient或RestSharp等网络库来完成。 1.页面增删改查 使用DataGrid控件来展示数据,并通过绑定数据源来实现数据的增删改查操作。示例代码如下: XAML代码&a…...
容器和云原生(三):kubernetes搭建与使用
目录 单机K8S docker containerd image依赖 kubeadm初始化 验证 crictl工具 K8S核心组件 上文安装单机docker是很简单docker,但是生产环境需要多个主机,主机上启动多个docker容器,相同容器会绑定形成1个服务service,微服务…...
spring boot集成jasypt 并 实现自定义加解密
一. 技术需求 由于项目中的配置文件 配置的地方过多,现将配置文件统一放到nacos上集中管理 且密码使用加密的方式放在配置文件中 项目中组件使用的版本环境如下 spring cloud 2021.0.5 spring cloud alibaba 2021.0.5.0 spring boot 2.6.13 二. 技术实现 配置文…...
Qt文件系统操作和文件的读写
一、文件操作类概述 QIODevice:所有输入输出设备的基础类 QFile:用于文件操作和文件数据读写的类QSaveFile:用于安全保存文件的类QTemporaryFile:用于创建临时文件的类QTcpSocket和QUdpSocket:分别实现了TCP和UDP的类…...
MME: A Comprehensive Evaluation Benchmark for Multimodal Large Language Models
本文也是LLM系列相关文章,针对《MME: A Comprehensive Evaluation Benchmark for Multimodal Large Language Models》的翻译。 MME:一个多模态大型语言模型的综合评估基准 摘要1 引言2 MME评估套件3 实验4 分析5 结论 摘要 多模态大语言模型(MLLM&…...
学习开发振弦采集模块的注意事项
学习开发振弦采集模块的注意事项 (三河凡科科技/飞讯教学)振弦采集模块是一种用来实时采集和处理振弦信号的电子设备,在工业、航空、医疗等领域都有广泛应用。学习开发振弦采集模块需要注意以下几点: 一、硬件选择 首先需要选择…...
抵御时代风险:高级安全策略与实践
目录 网页篡改攻击 流量攻击 数据库攻击 恶意扫描攻击 域名攻击 在今天的数字时代,网站已经成为企业、机构和个人展示信息、交流互动的重要平台。然而,随着网络攻击技术的不断进步,网站也面临着各种安全威胁。本文将探讨五种常见的网络攻…...
(3)、SpringCache源码分析
1、入口说明 @EnableCaching是开启SpringCache的一个总开关,开启时候我们的缓存相关注解才会生效,所以我们@EnableCaching开始作为入口进行分析, 2、分析@EnableCaching注解 @Target(ElementType.TYPE) @Retention(RetentionPolicy.RUNTIME) @Documented @Import(...
如何在 Ubuntu 中安装最新的 Python 版本
动动发财的小手,点个赞吧! Python 是增长最快的主要通用编程语言。其原因有很多,例如其可读性和灵活性、易于学习和使用、可靠性和效率。 目前使用的 Python 有两个主要版本 – 2 和 3(Python 的现在和未来)࿱…...
等保测评--安全物理环境--测评方法
安全子类--物理位置选择 a)机房场地应选择在具有防震、防风和防雨等能力的建筑内; 一、测评对象 记录类文档和机房 二、测评实施 1)检查机房所在建筑物是否具有建筑物抗震设防审批文档; 2)检查机房门窗是否不存在因风导致的尘土严重; 3)检查机房是否不存在雨水渗漏…...
解决jmeter导入jmx文件报错方法
有的时候我们导入别人的jmx文件,但是在导入的时候会报错,如下图: 这是缺少jmeter插件jar包所引起的,下载对应jar包放到jmeter安装目录对应的lib/ext下就可以了。可以通过插件管理工具包下载安装,也可以直接下载对应的…...
CH32V307 开启浮点后rtthread的修改
官方版本是3.1.3,而且只有整数的,开启浮点后要做一些修改,这里问了官方并贴出来方便大家使用: 首先在mounriver开启浮点,步骤: 开启浮点:ide 开启float point->rvf, floating point abi->…...
网络面试题(172.22.141.231/26,该IP位于哪个网段? 该网段拥有多少可用IP地址?广播地址是多少?)
此题面试中常被问到,一定要会172.22.141.231/26,该IP位于哪个网段? 该网段拥有多少可用IP地址?广播地址是多少? 解题思路: 网络地址:172.22.141.192 10101100.00010110.10001101.11000000 广播…...
<6>-MySQL表的增删查改
目录 一,create(创建表) 二,retrieve(查询表) 1,select列 2,where条件 三,update(更新表) 四,delete(删除表…...
学校招生小程序源码介绍
基于ThinkPHPFastAdminUniApp开发的学校招生小程序源码,专为学校招生场景量身打造,功能实用且操作便捷。 从技术架构来看,ThinkPHP提供稳定可靠的后台服务,FastAdmin加速开发流程,UniApp则保障小程序在多端有良好的兼…...
Java - Mysql数据类型对应
Mysql数据类型java数据类型备注整型INT/INTEGERint / java.lang.Integer–BIGINTlong/java.lang.Long–––浮点型FLOATfloat/java.lang.FloatDOUBLEdouble/java.lang.Double–DECIMAL/NUMERICjava.math.BigDecimal字符串型CHARjava.lang.String固定长度字符串VARCHARjava.lang…...
Java多线程实现之Callable接口深度解析
Java多线程实现之Callable接口深度解析 一、Callable接口概述1.1 接口定义1.2 与Runnable接口的对比1.3 Future接口与FutureTask类 二、Callable接口的基本使用方法2.1 传统方式实现Callable接口2.2 使用Lambda表达式简化Callable实现2.3 使用FutureTask类执行Callable任务 三、…...
2021-03-15 iview一些问题
1.iview 在使用tree组件时,发现没有set类的方法,只有get,那么要改变tree值,只能遍历treeData,递归修改treeData的checked,发现无法更改,原因在于check模式下,子元素的勾选状态跟父节…...
DIY|Mac 搭建 ESP-IDF 开发环境及编译小智 AI
前一阵子在百度 AI 开发者大会上,看到基于小智 AI DIY 玩具的演示,感觉有点意思,想着自己也来试试。 如果只是想烧录现成的固件,乐鑫官方除了提供了 Windows 版本的 Flash 下载工具 之外,还提供了基于网页版的 ESP LA…...
Robots.txt 文件
什么是robots.txt? robots.txt 是一个位于网站根目录下的文本文件(如:https://example.com/robots.txt),它用于指导网络爬虫(如搜索引擎的蜘蛛程序)如何抓取该网站的内容。这个文件遵循 Robots…...
自然语言处理——Transformer
自然语言处理——Transformer 自注意力机制多头注意力机制Transformer 虽然循环神经网络可以对具有序列特性的数据非常有效,它能挖掘数据中的时序信息以及语义信息,但是它有一个很大的缺陷——很难并行化。 我们可以考虑用CNN来替代RNN,但是…...
【C++从零实现Json-Rpc框架】第六弹 —— 服务端模块划分
一、项目背景回顾 前五弹完成了Json-Rpc协议解析、请求处理、客户端调用等基础模块搭建。 本弹重点聚焦于服务端的模块划分与架构设计,提升代码结构的可维护性与扩展性。 二、服务端模块设计目标 高内聚低耦合:各模块职责清晰,便于独立开发…...
tree 树组件大数据卡顿问题优化
问题背景 项目中有用到树组件用来做文件目录,但是由于这个树组件的节点越来越多,导致页面在滚动这个树组件的时候浏览器就很容易卡死。这种问题基本上都是因为dom节点太多,导致的浏览器卡顿,这里很明显就需要用到虚拟列表的技术&…...
