机器学习笔记

news2024/11/16 12:37:00

1.类型
有监督:分类、回归
无监督:聚类、降维
2.挑战:
过拟合:泛化能力弱
欠拟合:模型过于简单

二、

1.开发流程
数据收集->数据清洗->特征工程->数据建模
2.选择性能指标:
回归问题 均方根误差rmse
在这里插入图片描述
平均绝对误差 mae
在这里插入图片描述

rmse 对异常值更加敏感
3.寻找相关性
区间是-1 到 1,靠近0为没有线性相关性
4.数据清理
处理缺失值
5.处理文本和分类属性
将文本转到数字;
有序类别:“坏”“好”“平均”等
无序类别:创建独热向量
6.特征缩放
目标值不缩放,同比例缩放所有属性的两种常用方法是最大最小缩放(归一化)和标准化
7.归一
将值重新缩放使其最终范围在0~1间
实现方法是将值减去最小值并除以最大值和最小值的差
提供转化器
8.标准
首先减去平均值(所以标准化值的均值总是零),然后除以方差,从而使得结果的分布具备单位方差。
标准化不将数值绑定到特定范围。
受异常值影响更小
9.k-折交叉验证
防止过拟合,在训练数据中分出一部分作为验证数据
它将训练集随机分割成k个不同的子集,每个子集称为一个折叠,然后对模型进行k次训练和评估——每次挑选1个折叠进行评估,使用另外的k-1个折叠进行训练。产生的结果是k次评估分数

三、

1.混淆矩阵
行表示实际类别,列表示预测类别
在这里插入图片描述

2.精度与召回率

预测与实际相符就是真
预测正面为正

正类预测的准确率是精度:真正占正类的概率
正确检测到的正类实例的比率是召回率:
在这里插入图片描述

预测不是预测是
实际不是真负假正
实际是假负真正

3.F1分数
F 1 = 2 1 精度 + 1 召回率 F_1=\frac{2}{{\frac{1}{精度}}+{\frac{1}{召回率}}} F1=精度1+召回率12
F1分数是精度和召回率的谐波(harmonic mean)平均值。
正常的平均值平等对待所有的值,而谐波平均值会给予低值更高的权重。因此,只有当召回率和精度都很高时,分类器才能得到较高的F1分数
4.精度/召回率权衡
基于决策函数计算出一个分值,高于他为正
在这里插入图片描述
5.roc曲线
绘制的真正类率和假正类率
虚线表示春随机分类器的ROC曲线、优秀的分类器应该远离该曲线(向左上角)
比较方法:测量曲线下面积(AUC)完美的分类器ROC AUC 等于1,纯随机等于0.5

四、

1.梯度下降
优化算法,能够为大范围的问题找到最优解。中心思想:迭代地调整参数从而是成本函数最小化。
调整参数向量相关的误差函数的局部梯度,并不断沿着降低梯度的方向调整直到梯度降为零,达到最小值。
先使用一个随机的θ,然后逐步改进,知道收敛出一个最小值
在这里插入图片描述
学习率太高太低
在这里插入图片描述

应用梯度下降时,需要保证所有特征值的大小比例都差不多
2.随机梯度下降
随机性的好处在于可以逃离局部最优,缺点是定位不出最小值。
解决方法:逐步降低学习率。开始的步长大然后越来越小。叫做:模拟退火
确定每个迭代学习率的函数叫作学习率调度。
学习率降的太快:可能会陷入局部最小值,甚至是停留在走向最小值的半途中。
太慢:需要太长时间才能跳到差不多最小值附近,如果提早结束训练,可能只得到一个次优的解决方案
3.多项式回归
可以使用线性模型来拟合非线性数据,一个简单的方法就是将每个特征的幂次方添加为一个新特征,然后在此扩展特征集上训练一个线性模型
在这里插入图片描述

4.学习曲线
用来估计模型的泛化性能:该曲线绘制的是模型在训练集和验证集上关于训练集大小(或训练迭代)的性能函数
要生成这个曲线,只需要在不同大小的训练子集上多次训练模型即可
5.代码实现
当训练集中只有一个或两个实例时,模型可以很好地拟合它们。随着将新实例添加到训练集中,模型不可能完美拟合。因为有噪声和他不是线性的,训练数据上的误差会一直上升到平稳的状态。
训练模型时,无法正确泛化,最初验证误差很大,经历更多的训练示例,开始学习,验证错误逐渐降低。误差最终达
到一个平稳的状态,非常接近另外一条曲线
与线性回归模型相比,训练时据上的误差会小很多。
曲线之间存在间隙。这意味着该模型在训练数据上的性能要比在验证数据上的性能好得多,这是过拟合模型的标志。如果使用更大的训练集,则两条曲线会继续接近
6.正则化线性模型
减少过拟合的一个好方法是对模型进行正则化(即约束模型):它拥有的自由度越少,则过拟合数据的难度就越大。
包括岭回归,Lasso回归,弹性网络
7.岭回归
成本函数:

将正则化项添加到成本函数,迫使学习算法不仅拟合数据,而且还使模型权重尽可能小
超参数α控制要对模型进行正则化的程度。如果α=0,则岭回归仅是线性回归。如果α非常大,则所有权重最终都非常接近于零,结果是一条经过数据均值的平线
偏置项𝜃0没有进行正则化
在执行岭回归之前缩放数据(例如使用StandardScaler)很重要,因为它对输入特征的缩放敏感。大多数正则化模型都需要如此
8.Lasso回归
在这里插入图片描述
线性回归的另一种正则化叫作最小绝对收缩和选择算子回归
Lasso回归的一个重要特点是它倾向于完全消除掉最不重要特征的权重

7.逻辑回归
被广泛用于估算一个实例属于某个特定类别的概率,是一个二元分类器。
模型:

说出介于0和1之间
预测:
估算出实例x属于正类的概率𝑝= ℎ𝜽(𝒙),就可以做出预测𝑦
在这里插入图片描述

8.Softmax回归
经过推广,可以支持多个类别,且不需要训练并组合多个二元分类器
给定一个实例x,Softmax回归模型首先计算出每个类k的分数𝑠𝑘(𝑥),然后对这些分数应用softmax函数(也叫归一化指数),估算出每个类的概率

五、

1.硬间隔支持向量机

2.非线性支持向量机

六、

决策树模型
1.分类树、回归树
2.基本思想:减少不缺定性
3.度量不确定性的指标:
分类错误率
熵:
在这里插入图片描述

基尼指数:
在这里插入图片描述

4.结束划分:
预设或无法再分

七、

1.bagging
给定一个训练集,基于自助采样法采样出T个含有m个训练样本的采样集;
基于采样机训练一个基学习器,将这些基学习器进行结合;
每个预测器使用费的算法相同,当时在不同的训练集随机子集上进行训练

2.boosting
增加前一个基学习器在训练过程中预测错误样本的权重,使得后续基学习器更加关注这些打标错误的训练样本,尽可能纠正这些错误,一直向下串行直至产生需要的T个基学习器,Boosting最终对这T个学习器进行加权结合,产生集成学习器。
特点:串行 序列化
3.区别
样本选择:
bagging:训练集在原始集是有放回选取的
boosting:每一轮的训练集不变,只是每个样例的权重发生变化
样例权重:
bagging:权重相等
boosting:根据失误率不服按调整样例的权值,错误率越大权重越大
预测函数:
bagging:所有预测函数的权重相等
boosting:每个弱分类器都有对应的权重,对于分类误差小的分类器权重更大
并行计算:
bagging:可以并行
boosting:只能顺序生成

九、

1.主成分分析
需要找到一种合理的方法,在减少需要分析的指标同时,尽量减少原指标包含信息的损失,以达到对所收集数据进行全面分析的目的。
由于各变量之间存在一定的相关关系,因此可以考虑将关系紧密的变量变成尽可能少的新变量,使这些新变量是两两不相关的,那么就可以用较少的综合指标分别代表存在于各个变量中的各类信息。
降维算法
2.概念
PCA的主要思想是将n维特征映射到k维上,这k维是全新的正交特征也被称为主成分,是在原有n维特征的基础上重新构造出来的k维特征。
PCA的工作就是从原始的空间中顺序地找一组相互正交的坐标轴,新的坐标轴的选择与数据本身是密切相关的。
第一个新坐标轴选择是原始数据中方差最大的方向,第二个新坐标轴选取是与第一个坐标轴正交的平面中使得方差最大的,第三个轴是与第1,2个轴正交的平面中方差最大的。依次类推,可以得到n个这样的坐标轴。
通过这种方式获得的新的坐标轴,我们发现,大部分方差都包含在前面k个坐标轴中,后面的坐标轴所含的方差几乎为0。
于是,我们可以忽略余下的坐标轴,只保留前面k个含有绝大部分方差的坐标轴。
3.基于特征值分解协方差矩阵实现PCA算法
在这里插入图片描述

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

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

相关文章

node-sass@4.14.1 包含风险, 如何升级依赖至 dart-sass

文章目录需求我上网都查到了哪些信息在 github 看到了 node-sass 依赖的最新版本的列表:关于方案2的失败不同版本的 nodejs 和 node-sass依赖的**适配关系**从何得知替代方案——dart-sass如何安装 dart sass?需求 在做一个基于Node、React的前端项目&a…

这才是打开Java面试的正确方式,金三银四互联网大厂Java面试八股来袭

前言 招聘旺季已经到了,不知道大家是否准备好了,面对金三银四的招聘旺季,如果没有精心准备那笔者认为那是对自己不负责任;就我们 Java 程序员来说,多数的公司总体上面试都是以自我介绍项目介绍项目细节/难点提问基础知…

【LeetCode】剑指 Offer(3)

目录 写在前面: 题目:剑指 Offer 09. 用两个栈实现队列 - 力扣(Leetcode) 题目的接口: 解题思路: 代码: 过啦!!! 写在最后: 写在前面&…

追光进行时:沿着全光运力的新航道,加速驶向算力时代

2021年,工信部印发《新型数据中心发展三年行动计划(2021—2023年)》,明确指出“用3年时间,形成总体布局持续优化,全国一体化算力网络国家枢纽节点、省内数据中心、边缘数据中心梯次布局”,“算力…

LeetCode230218_148、654. 最大二叉树

给定一个不重复的整数数组 nums 。 最大二叉树 可以用下面的算法从 nums 递归地构建: 创建一个根节点,其值为 nums 中的最大值。 递归地在最大值 左边 的 子数组前缀上 构建左子树。 递归地在最大值 右边 的 子数组后缀上 构建右子树。 返回 nums 构建的 最大二叉树…

页面置换算法

页面置换算法 在进程运行过程中,若需要访问的物理块不在内存中,就需要通过一定的方式来将页面载入内存,而此时内存很可能已无空闲空间,因此就需要一定的算法来选择内存中要被置换的页面,这种算法就被称为页面置换算法…

redis容器部署及相关配置文件解释

背景:我们项目上的redis除了几个核心业务的集群部署是用二进制部署的,其他环境基本都是容器部署。所以整理了一下redis容器相关的配置。docker-compose部署的配置version: 3services:redis:image: redis:6.2.5container_name: redisrestart: alwaysports…

springmvc+jsp电影院购票售票选座推荐网站java ssm

本电影购票推荐网站以SSM作为框架,B/S模式以及MySql作为后台运行的数据库。本系统主要包括以下功能模块:个人中心、用户管理、电影信息管理、电影类型管理、影院信息管理、系统管理、订单管理等模块,通过这些模块的实现能够基本满足日常电影购…

mysql 时区设置

方法一:修改 mysql 的配置文件永久设置时区(优点:永久保存设置,缺点:需重启MySQL服务)找到你MySQL的安装目录(如果不记得安装在哪 可以输入show variables like “%char%”; 查看)&a…

第四章SpringBoot之Web开发

文章目录SpringBoot Web开发总览要解决的问题SpringMVC自动配置原理Web开发静态资源处理第一种静态资源处理webjar第二种静态资源映射规则自定义静态资源路径首页处理内容协商视图解析器测试转换器和格式化器修改SpringBoot的默认配置原理分析全面接管SpringMVC关于国际化处理配…

Seata架构篇 - AT模式

AT 模式 概述 Seata AT 模式是一种非侵入式的分布式事务解决方案,Seata 在内部做了对数据库操作的代理层,我们使用 Seata AT 模式时,实际上用的是 Seata 自带的数据源代理 DataSourceProxy,Seata 在这层代理中加入了很多逻辑&am…

Koin入门1-快速上手

概念 Koin 是一款轻量级的依赖注入框架,它无代理,无代码生成,无反射 大家可以自行查阅官方英文教程:https://insert-koin.io/docs/quickstart/android-compose Koin 简单的来说可以包含以下四个模块: 名称作用entity实…

2|数据挖掘|聚类分析|无监督聚类PAM算法(中心法划分)|肠型分析

常见的六大聚类算法https://blog.csdn.net/m0_57656758/article/details/127653402?ops_request_misc%257B%2522request%255Fid%2522%253A%2522167669020916782425666238%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id167669020…

C++ STL——map和set的使用

文章目录1. 关联式容器1.1 键值对1.2 树形结构的关联式容器2. set2.1 set的介绍2.2 set的插入2.3 set的删除和查找2.4 lower_bound和upper_bound3. multiset3.1 count4. map4.1 map的介绍4.2 map的插入4.3 map的遍历4.4 map的[ ]5. multimap1. 关联式容器 我们之前学的vector、…

时序预测 | MATLAB实现CNN-SVM卷积支持向量机时间序列预测

时序预测 | MATLAB实现CNN-SVM卷积支持向量机时间序列预测 目录时序预测 | MATLAB实现CNN-SVM卷积支持向量机时间序列预测预测效果基本介绍研究回顾程序设计参考资料预测效果 基本介绍 CNN-SVM预测模型将深度学习模型作为特征学习器,将SVM 支持向量机 作为训练器进行…

基于分布鲁棒联合机会约束的能源和储备调度(Matlab代码实现)

👨‍🎓个人主页:研学社的博客 💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜…

2023.2.15工作学习记录 git Docker compose容器编排

关于Git错误提交了target目录 是因为在ignore目录中没有加入biz这个工程 以后提交代码时一定要检查好自己提交的代码 首先把所有的全部取消 然后再根据自己要提交的内容一个个来勾选 Docker网络 container模式:新建的容器和已经存在的一个容器共享一个网络…

【大数据】HADOOP-YARN容量调度器Spark作业实战

目录需求配置多队列的容量调度器验证队列资源需求 default 队列占总内存的40%&#xff0c;最大资源容量占总资源的60% ops 队列占总内存的60%&#xff0c;最大资源容量占总资源的80% 配置多队列的容量调度器 在yarn-site.xml里面配置使用容量调度器 <!-- 使用容量调度器…

从 ELMo 到 ChatGPT:历数 NLP 近 5 年必看大模型

目录AI21 LabsAlibabaAllen Institute for AIAmazonAnthropicBAAIBaiduBigScienceCohereDeepMindEleutherAIGoogleHuggingfaceiFLYTEKMetaMicrosoftNVidiaOpenAISalesforceTsinghua UniversityUC BerkeleyYandex持续更新中 ...参考团队博客: CSDN AI小组 先上 “万恶之源”&…

物联网在智慧农业中的应用

随看现代科技的不断发展&#xff0c;近年来我国农业的进步是显而易见的。从八九十年代农业生产以人力为主&#xff0c;到之后的机械渐渐代替人力&#xff0c;再到如今物联网技术在农业领域的应用&#xff0c;多种前沿技术应用于农业物联网&#xff0c;对智慧农业生产的各个环节…