机器学习的概览

笔记内容侵权联系删除

机器学习算法

机器学习(包括深度学习分支)是研究“学习算法”的一门学问。所谓“学习”是指:对于某类任务T和性能度量P,一个计算机程序在T上以P衡量的性能随着经验E而自我完善,那么我们称这个计算机程序在从经验E学习。

机器学习算法与传统基于规则的区别

基于规则的方法(特点:使用显性编程来解决问题,规则可以被人工明确)

机器学习算法(特点:使用样本训练,决策的规则复杂或难以描述,由机器自动学习规则)

【问题的解决方案很复杂,或者问题可能涉及到大量的数据却没有明确的数据分布函数
遇到如下情况,可以考虑使用机器学习】

机器学习的整体流程

1.数据收集
2.数据清洗                       

3.特征提取与选择          反馈迭代
4.模型训练
5.模型评估测试
6.模型部署与整合

机器学习基本概念--数据集

数据集:在机器学习任务中使用的一组数据,其中的每一个数据称为一个样本。反映样本在某方面的表现或性质的事项或属性称为特征。
训练集:训练过程中使用的数据集,其中每个训练样本称为训练样本。从数据中学得型的过程称为学习(训练)。
测试集:学得模型后,使用其进行预测的过程称为测试,使用的数据集称为测试集,每个样本称为测试样本。

数据处理的重要性

数据对于模型来说就患至关重要的,是模型能力的天花板,没有好的数据,就没有好的模型

数据预处理  

1.数据清理
填充缺失值,发现并消除造成数据及异常点.

2.数据降维
简化数据属性,避免维度爆炸

3.数据标准化
标准化数据来减少噪声,以及提高模型准确性

数据清理 

 大部分的机器学习模型所处理的都是特征,特征通常是输入变量所对应的可用于模型的数值表示
大部分情况下,收集得到的数据需要经过预处理后才能够为算法所使用,预处理的操作主要包括以下几个部分:
数据过滤
处理数据缺失
处理可能的异常、错误或者异常值
合并多个数据源数据
数据汇总

 “脏”数据
真实的数据中通常会出现一些数据质量问题:

不完整: 数据中缺少属性或者包含一些确实的值。

多噪音: 数据包含错误的记录或者异常点。

不一致: 数据中存在矛盾的、有差异的记录。

数据的转换

对数据进行初步的预处理后,需要将其转换为一种适合机器学习模型的表示形式,以下是一些常见的数据转化的形式。
在分类问题中,将类别数据编码成为对应的数值表示(哑编码)
数值数据转换为类别数据以减少变量的值(对年龄分段)
其他数据

从文本数据中提取有用的数据(一般使用词袋法、TF-IDF或者word2vec)”处理图像数据(颜色空间,灰度化,几何变化,haar特征等,图像增强)。特征工程
对特征进行归一化、标准化,以保证同一模型的不同输入变量的值域相同。特征扩充:对现有变量进行组合或转换以生成新特征,比如平均数

特征选择的必要性
通常情况下,一个数据集当中存在很多种不同的特征,其中一些可能是多余的或者与我们要预测的值无关的。
特征选择技术的必要性体现在:

1简化模型,是模型个容易被使用者所解释
2避免维度爆炸的问题
3减少训练的时间
4提升模型泛化性,避免过拟合

特征选择的方法-Filter
过滤法(filter)在选择特征的时候是独立的,与模型本身无关。

遍历所有特征--选择最佳特征子集--学习算法--性能评估

特征选择的方法-wapper
包装器(wapper)方法使用一个预测模型来对对特征子集进行评分。

遍历所有特征--生成一个特征子集--学习算法--模型评估       

                                选择最佳的特征子集                                                       

  特征选择的方法-Embedded

 嵌入法(Embedded)的方法将特征选择作为型构建的一部分。

遍历所有的特征--生成一个特征子集--学习算法+效果评估 --生成一个特征子集     

                                                      ----选择最佳的特征子集 -----                                      

模型构建项目整体流程

  模型构建综合流程

分割数据:将数据分为训练集,测试集与验证集

训练模型:使用经过数据清理与特征工程的数据来训练

验证模型;使用验证集来验证模型的有效性

微调模型:根据业务实景的真实数据对模型进行不断微调

部署模型:部署到实际的生产场景中

测试模型:使用测试数据来评估模型在真实环境的泛化能力

  什么是好的模型? 

泛化能力
能否在实际的业务数据也能预测准确
可解释性
预测的结果是否容易被解释
预测速率

每一条数据的预测需要多长时间
可塑性
实际业务过程中数据量可能很大,随着业务量增大,预测的速率是否仍然可以接受       

模型的有效性(1)
泛化能力:机器学习的目标是使学得的模型能够很好的适用于新的样本,而不是仅仅在训练样本上工作的很好,学得的模型适用于新样本的能力称为泛化能力,也称为鲁棒性。

误差:学习到的模型在样本上的预测结果与样本的真实结果之间的差。
训练误差:模型在训练集上的误差。
泛化误差:在新样本上的误差。显然,我们更希望得到泛化误差小的模型。
欠拟合:如果训练误差很大的现象。
过拟合:如果学得的模型的训练误差很小,而泛化能力较弱即泛化误差较大的现象。  

模型的有效性(2)
模型的容量:指其拟合各种函数的能力,也称为模型的复杂度。
容量适合于执行任务的复杂度和所提供训练数据的数量时,算法效果通常会最佳;

容量不足的模型不能解决复杂任务,可能出现欠拟合;
容量高的模型能够解决复杂的任务,但是其容量高于任务所需时,有可能会过拟合。

过拟合的原因-误差

随着模型复杂度上升的增加,训练误差逐渐减小
同时,测试误差会随着复杂的增大而减小到某一点,继而反向增大,形成一条凸曲线

其他机器学习的重要方法

机器学习训练方法--梯度下降

梯度下降法的优化思想是用当前位置负梯度方向作为搜索方向,该方向为当前位置最快下降方向,梯度下降中越接近目标值,变化量越小

批量梯度下降(BGD),使用所有数据集中的样本(共m个样本)在当前点的梯度之和来对
权重参数进行更新操作。

随机梯度下降(SGD),随机选取一个数据集中的样本在当前的梯度来对权重参数进行更新操作

小批量梯度下降(MBGD),结合BGD与SGD的特性,每次选择数据集中n个样本的梯度来对权重参数进行更新操作。

三种梯度下降方法的比较
SGD中,因为每次训练选取的样本是随机的,这本身就带来了不稳定性,会导致损失函数在下降到最低点的过程中,产生动荡甚至反向的位移。
BGD最稳定,但是过于消耗运算资源,MBGD是SGD与BGD平衡之后的方法

模型中的参数与超参数
模型中不但有参数,还有超参数的存在。其目的是为了让模型能够学习到最佳的参数
参数有模型自动学习
超参数由人工手动设定

模型的超参数
模型超参数常应用于估计模型参数的过程中。
模型超参数通常由实践者直接指定模型超参数通常可以使用启发式方法来设置。
模型超参数通常根据给定的预测建模问题而调整。

超参数的调节方法-网格搜索
网格搜索尝试穷举搜索所有可能的超参数组合形成超参数值网格。
在实践中,人工指定的范围和步骤之间的值。

超参数的调节方法-随机搜索
在超参数搜索空间较大的情况下,采用随机搜索,会优于网格搜索的效果
随机搜索实现了对超参数的随机搜索,其中每个设置都是从可能的参数值的分布中进行取样,试图找出最佳的超参数子集

交叉验证

是用来验证分类器的性能一种统计分析方法,基本思想是把在某种意义下将原始数据进行分组,一部分作为训练集,另一部分作为验证集,首先用训练集对分类器进行训练,再利用验证集来测试训练得到的模型,以此来做为评价分类器的性能指标。【也可以调节超参数】

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

AIHub: 模型和数据集的私有云存储库

AIStor 的最新功能之一是广受欢迎的开源项目 Hugging Face 的私有云版本。这篇文章详细介绍了 AIStor 的 AIHub 如何有效地创建一个完全由企业控制的 API 兼容的私有云版本的 Hugging Face。在我们开始之前,介绍 Hugging Face 是有意义的。Hugging Face 是面向 AI 工…

激增400%!GPS欺骗成全球大患,此题何解?

据网络安全研究人员称,GPS欺骗这种可使商用客机偏离航线的数字攻击形式近期激增400%。数据显示,在今年部分时间里,甚至有多达1350架航班遭遇GPS“欺骗”。 GPS欺骗 — 关键是时间,而不仅仅是位置 GPS系统作为目前使用时间最长、应…

二维费用背包问题

1. 一和零 474. 一和零 题目中是在一个字符串数组中找出一个最大子集,满足 0 和 1 的个数不超过给定的值,这和之前的背包问题不一样的是,这里有两个限制条件,也就是二维费用背包问题,同时,这道题也是一道 …

React Query在现代前端开发中的应用

💓 博客主页:瑕疵的CSDN主页 📝 Gitee主页:瑕疵的gitee主页 ⏩ 文章专栏:《热点资讯》 React Query在现代前端开发中的应用 React Query在现代前端开发中的应用 React Query在现代前端开发中的应用 引言 React Query …

【EmbeddedGUI】脏矩阵设计说明

脏矩阵设计说明 背景介绍 一般情况下,当屏幕内容绘制完毕后,实际应用通常需要更新屏幕中的一部分内容,而不是单纯显示一个静态图片在那。 如下图所示,屏幕中有一个图片控件(Img2)和一个文本控件&#xf…

【stable diffusion模型】Stability AI出官方教程了,带你轻松玩转Stable Diffusion 3.5

前言 提示(prompt)是有效使用生成式 AI 图像模型的关键技巧。提示的结构直接影响生成的图像的质量、创造力和准确性。 今日凌晨,Stability AI 发布了 Stable Diffusion 3.5 的提示指南。该指南提供了 Stable Diffusion 3.5 的实用提示技巧&a…

docker安装到D盘

双击安装docker默认是安装在c盘,并且安装时我们没法选择位置,如果我们要安装在其他盘可以通过命令行安装 1、下载docker https://docs.docker.com/desktop/setup/install/windows-install/ Docker Desktop 可以使用 WSL 和 Hyper-V任意一种架构&#xf…

11.11机器学习_介绍和定义

一、 机器学习介绍与定义 1. 机器学习定义 机器学习(Machine Learning)本质上就是让计算机自己在数据中学习规律,并根据所得到的规律对未来数据进行预测。 机器学习包括如聚类、分类、决策树、贝叶斯、神经网络、深度学习(Deep…

ssm111基于MVC的舞蹈网站的设计与实现+vue(论文+源码)_kaic

摘 要 随着科学技术的飞速发展,社会的方方面面、各行各业都在努力与现代的先进技术接轨,通过科技手段来提高自身的优势,舞蹈网站当然也不能排除在外。舞蹈网站是以实际运用为开发背景,运用软件工程开发方法,采用Java技…

蓝桥杯c++算法学习【2】之搜索与查找(九宫格、穿越雷区、迷宫与陷阱、扫地机器人:::非常典型的必刷例题!!!)

别忘了请点个赞收藏关注支持一下博主喵!!! 关注博主,更多蓝桥杯nice题目静待更新:) 搜索与查找 一、九宫格 【问题描述】 小明最近在教邻居家的小朋友小学奥数,而最近正好讲述到了三阶幻方这个部分,三 …

【Windows 常用工具系列 20 -- MobaXterm 登录 WSL】

文章目录 MobaXterm 登录 WSL MobaXterm 登录 WSL 在 WSL 启动之后,打开 MobaXterm: 在 Distribution 中选择自己本地安装的 ubuntu 版本,我这里使用的是ubuntu-20.4,然后在 runmethod 中选择 Localhost connection. 连接成功之…

ReactPress 安装指南:从 MySQL 安装到项目启动

ReactPress Github项目地址:https://github.com/fecommunity/reactpress 欢迎Star。 ReactPress 是一个基于 React 的开源发布平台,适用于搭建博客、网站或内容管理系统(CMS)。本文将详细介绍如何安装 ReactPress,包括…

STM32 使用 STM32CubeMX HAL库实现低功耗模式

STM32 使用 HAL 库的低功耗模式测试使用 ...... 矜辰所致前言 上次画了一个 STM32L010F4 最小系统的板子,也做了一些基本测试,但是最重要的低功耗一直拖到现在,以前在使用 STM32L151 的时候用标准库做过低功耗的项目,现在都使…

NVR小程序接入平台/设备EasyNVR多个NVR同时管理设备接入:海康NVR 3.0提示不在线如何处理?

在视频监控领域,设备的兼容性和互操作性一直是用户关注的重点。海康NVR管理平台EasyNVR作为一款轻量级的视频监控平台,凭借其强大的兼容性、可扩展性和丰富的功能,成为了公共安全领域“云平台”解决方案的杰出代表。然而,在实际应…

【C语言】Union

一.Union的用法 1.什么是Union? union 共用体名{ 成员列表 }; union,“联合体、共用体”,在某种程度上类似结构体struct的一种数据结构,共用体(union)和结构体(struct)同样可以包含很多种数据类型和变量。 2.为什么使用union&#xff1…

2023_Spark_实验十五:SparkSQL进阶操作

实验目标 通过实践掌握Spark SQL中复杂查询(包括子查询、窗口函数、联接等)的实现方式。了解如何通过合理的数据分区和缓存策略进行性能优化。实现一个基于Spark SQL的ETL数据处理流程,应用相关优化技巧。 实验背景 在本实验中&#xff0c…

PaoluGPT——窥视未知

上一题已经得到一个flag,还有一个flag 根据题目信息,说明还有一些聊天记录是没有公开的,另一个flag就在这些未公开的聊天记录中 下载题目附件看看,发现里面有个main.py: 可以看到有两条SQL查询语句,猜测应该…

初识C++ (三)

如果很迷茫的话,就学习吧 引用 一. 引用的概念 “引用(Reference)是 C 相对于C语言的又一个扩充。引用可以看做是数据的一个别名,通过这个别名和原来的名字都能够找到这份数据。 具体是什么意思呢? 我们这里来举个例子 比如:李逵&#xff0…

南京观海微电子----驱动电路中误导通及应对方法

驱动电路中的误导通 功率器件如 MOSFET、IGBT 可以看作是一个受门极电压控制的开关。当门极电压大于开通阈值时,功率器件就会 被开通,而当门极电压低于开通阈值时就会被关断。但是在实际的应用中,由于器件及外围线路寄生参数的影响&#xff0…

C++ —— 哈希详解 - 开散列与闭散列

目录 1. 哈希的概念 1.1 直接定址法 1.2 哈希冲突 1.3 负载因子 1.4 哈希函数 1.4.1 除法散列法/除留余数法 1.4.2 乘法散列法 1.4.3 全域散列法 1.5 处理哈希冲突 1.5.1 开放定址法(闭散列) 1. 线性探测(挨着查找) 2.…