机器学习模型总结
多元线性回归(linear regression)
自变量:连续型数据,因变量:连续型数据
选自:周志华老师《机器学习》P53-55
思想:残差平方和达到最小时的关系式子即为所求,残差平方和:实际值和估计值之间差的平方和。
后续补充:求解方式1:手动推导,求解方式2:梯度下降。手动推到时矩阵不可逆如何加归纳偏好。
残差平方和达到最小:
逻辑回归(logistic regression)
以下选自:王汉生《应用商务统计分析》第四章
(1)变量:连续型数据,因变量:离散型数据
(2)思想:假设了一个式子,计算事件发生的可能性。
令事件发生的可能性用Z表示:
设定一个阈值c,使得:
无论对F(t)的具体函数形式作任何假设,该假设都不可能完全反映真实情形,那么挑选那些“方便"的假设,假设服从正态分布。,该模型称为probit模型,但是很多年前计算不够发达的时候,这种假设过于复杂,计算不出来,所以便产生了如下的公式:
(3)效果评测方式:
TPR:召回率,有问题的预测为有问题的比例,即预测出来有问题的个数/所有有问题的个数:TP/(TP+FN)
FPR:误报,FP/(TN+FP),将正常的预测为有问题的数/所有正常的个数
**同一个模型,找效果最好时的阈值:**设置不同的阈值后可以绘制ROC曲线,然后选取自己想要的召回率和误报平衡组合。ROC曲线同对角线(虚线)相比,永远是向上突起的。这说明TPR的取值必须高于FPR的取值,否则,这种预测方法是错误的。
**不同模型之间的效果比较:**绘制不同模型的ROC曲线,选择最上面的曲线所代表的模型。
补充“公式构造符合常识”:选自李航《统计学习方法》P77-80
下图可见,t越大概率越大(t就是z,就是上面的线性函数值),t无穷大时候概率接近于1,t越接近负无穷概率值越接近0。
决策树(decision tree)
选自李航《统计学习方法》第五章
思想:找到一种划分方法,每次划分时,大大降低系统的混乱度,让系统信息明确。
3.1 知识点介绍:
(1)熵:信息越混乱,随机变量的熵越大。
(2)信息增益
上面案例数据如下:
(3)信息增益比
特征A划分的信息增益/数据集合D中A特征的信息熵,下面截图(5.10)分母错误,作者在出版第二版的时候分母已经改为Ha(D)。
如数据集合D中”年龄“特征的信息熵:
**H年龄(D)=-(5/15)*log(5/15)-(5/15)log(5/15)-(5/15)log(5/15)=1.585
如数据集合D中”有工作“特征的信息熵:
**H有工作(D)=-(5/15)log(5/15)-(10/15)log(10/15)=0.918
3.2 算法介绍:
划分方法1:ID3算法
思想:信息增益越大,即熵降低的越多,就选此种划分方法。
**划分方法2:C4.5算法 **
思想:信息增益比越大,熵降低的越多,就选此时的划分方法。
以信息增益作为划分训练数据集的特征,存在偏向于选择取值较多的特征的问题。使用信息增益比(informationganrawo)可以对这一问题进行校正。
划分方法3:基尼指数
CART算法(分类和回归)
(1)分类
(2)回归
3.3 剪枝方法:
预剪枝:限定深度、设置阈值
后剪枝:最小误差剪枝、基于错误剪枝、降低错误剪枝、悲观错误剪枝
降低错误剪枝 (自下而上,使用测试集来剪枝。对每个结点,计算剪枝前和剪枝后的误判个数,若是剪枝有利于减少误判(包括相等的情况),则减掉该结点所在分枝。)
悲观错误剪枝(根据剪枝前后的错误率来决定是否剪枝。和rep不同之处在于,pep只需要训练集即可,不需要验证集,并且pep是自上而下剪枝的。)
后续补充:三者之间的区别,如何处理连续值。
随机森林(Random Forest,RF)
特征随机选择,有放回采样n个样本,构建很多个决策树,那么由各个决策树的结果怎么得到最终的结果呢。
选自:周志华老师《机器学习》P181-183
对于回归问题:
对于分类问题:
GBDT
XGboost
支持向量机(support vector machines,SVM)
**选自:周志华老师《机器学习》第六章 周志华老师《机器学习》的视频课程(主讲人:周老师) **
首先说下我自己的理解过程,然后再引入周老师西瓜书内容:
思想:找到一个平面,a)可以很好的区分不同类别的点(使得分类器的训练误差小,线性可分时要求训练误差为0),b)可以识别未知类别样本的类别(即多大程度上信任该分类器在未知样本上分类的效果。)
贴西瓜书对如上式子的推导过程:
从下图最后的推导结果可知,要满足KKT条件,最优解时候的变量取值都为支持向量,也就是说最后决定这个模型的就是这些支持向量,支持向量机的名字由此而来。
线性不可分时,进行特征空间映射,使得可分:
内积不好计算,选用核函数来替代计算,理想状态下内积就等于选择的核函数,但确定性的最优解不好找,可以一个个核函数的试,在很多核函数中找一个最合适的。
朴素贝叶斯(naǐve Bayes)
思想:对于给出的待分类项,求解在此项出现的条件下各个类别出现的概率,判定给概率最大的类别。在求解概率的时候假设各个属性之间独立同分布。
选自”算法杂货铺-分类算法之朴素贝叶斯分类“
特征属性为离散值值可以直接数数求比例即可计算概率,特征属性为连续值时,用如下方法:
k近邻法(k-nearest neighbor,k-NN)
选自李航《统计学习方法》P37
可做分类和回归问题。分类思想:给定一个有标签的训练数据集,对新的实例,根据k个最近邻的训练实例的类别,通过多数表决等方式进行预测。
补充“距离加权表决”:选自Pang-Ning Tan等著,范明等译《数据挖掘导论完整版_人民邮电出版社》P138
后续补充:knn的缺陷,如计算量大,噪声敏感,补充如何降低计算开销。
textrank
思想:指向点v(i)的所有边的值加总便是v(i)的textrank值。每条边上值的计算,如v(j)和v(i)边值的计算为:
w=v(i)和v(j)边权重/v(j)指出的所有权重和
score=v(j)的textrank
w*score便为所求。
k均值(k-means)
选自Pang-Ning Tan等著,范明等译《数据挖掘导论完整版_人民邮电出版社》P310
算法思想:
相关文章:

机器学习模型总结
多元线性回归(linear regression) 自变量:连续型数据,因变量:连续型数据 选自:周志华老师《机器学习》P53-55 思想:残差平方和达到最小时的关系式子即为所求,残差平方和:…...

HTML5:七天学会基础动画网页6
CSS3自定义字体 ①:首先需要下载所需字体 ②:把下载字体文件放入 font文件夹里,建议font文件夹与 css 和 image文件夹平级 ③:引入字体,可直接在html文件里用font-face引入字体,分别是字体名字和路径 例…...
mybatis中#{}和${}的区别?
#{}是占位符,预编译处理;${}是拼接符,字符串替换,没有预编译处理。 Mybatis在处理#{}时,#{}传入参数是以字符串传入,会将SQL中的#{}替换为?号,调用PreparedStatement的set方法来赋值。 Mybat…...

常用git 打tag命令
1.查看所有tag git tag 2.创建 v5.0.0的tag git tag v5.0.0 git tag (创建后查看) 3.推送到远程tag git push origin v5.0.0 4.删除远程tag git push origin --delete v5.0.0 5.删除本地tag git tag -d v5.0.0 6.添加带有备注信息的tag git tag v5.…...

Learning from Unlabeled 3D Environments forVision-and-Language Navigation
这篇论文是关于高级指令的 摘要 在视觉和语言导航 (VLN) 中,实体代理需要按照自然语言指令在真实的 3D 环境中进行导航。现有 VLN 方法的一个主要瓶颈是缺乏足够的训练数据,导致对未见过的环境的泛化效果不理想。虽然 VLN 数据通常是手动收集的&#x…...

【算法分析与设计】组合
📝个人主页:五敷有你 🔥系列专栏:算法分析与设计 ⛺️稳中求进,晒太阳 题目 给定两个整数 n 和 k,返回范围 [1, n] 中所有可能的 k 个数的组合。 你可以按 任何顺序 返回答案。 示例 示例 1&…...

数仓模型设计方法论
在当今大数据时代,数据已经成为企业最重要的资产之一。而数据仓库作为企业数据管理和分析的核心基础设施,其设计方法论对于企业的数据治理和决策分析至关重要。本文将探索数仓模型设计的方法论,帮助读者更好地理解和应用数仓模型设计。 一、…...

MySQL 面试题
MySQL 基础 数据库的约束与范式? 七大约束: 检查约束:以数据类型以及数据的长度进行约束,在一个表中, 所插入的数据,必须和数据类型匹配,并且范围不能超过指定的长度。非空约束 not null&…...

计算机专业必看的十部电影
计算机专业必看的十部电影 1. 人工智能2. 黑客帝国3. 盗梦空间4. 社交网络5. Her6. 模仿游戏7. 斯诺登8. 头号玩家9. 暗网10. 网络迷踪 计算机专业必看的十部电影,就像一场精彩盛宴! 《黑客帝国》让你穿越虚拟世界,感受高科技的魅力《模仿游戏…...

数据库之间数据迁移工具datax
简介 DataX 是阿里云 DataWorks数据集成 的开源版本,在阿里巴巴集团内被广泛使用的离线数据同步工具/平台。DataX 实现了包括 MySQL、Oracle、OceanBase、SqlServer、Postgre、HDFS、Hive、ADS、HBase、TableStore(OTS)、MaxCompute(ODPS)、Hologres、DRDS, databe…...
uniapp:根据环境(开发、测试、生产)选择服务器接口或者业务
一、根据环境(开发、测试、生产)选择服务器接口或者业务 打开main.js 页面,使用以下代码 const accountInfo wx.getAccountInfoSync(); const envWx accountInfo.miniProgram.envVersion; if (envWx develop) {console.log(开发环境&…...

Leetcode—63. 不同路径 II【中等】
2024每日刷题(115) Leetcode—63. 不同路径 II 动态规划算法思想 实现代码 class Solution { public:int uniquePathsWithObstacles(vector<vector<int>>& obstacleGrid) {int m obstacleGrid.size();int n obstacleGrid[0].size();…...

Redis 之三:Redis 的发布订阅(pub/sub)
概念介绍 Redis 发布订阅 (pub/sub) 是一种消息通信模式,它允许客户端之间进行异步的消息传递 Redis 客户端可以订阅任意数量的频道。 模型中的角色 在该模型中,有三种角色: 发布者(Publisher):负责发送信…...
ngx_waf入门教程:保护你的Nginx服务器
ngx_waf入门教程:保护你的Nginx服务器 在今天的网络环境中,安全性是每个网站和应用程序都必须考虑的关键因素。Nginx作为一款流行的开源Web服务器和反向代理服务器,广泛应用于各种业务场景。为了增强Nginx的安全性,我们可以使用n…...

视觉Transformers中的位置嵌入 - 研究与应用指南
视觉 Transformer 中位置嵌入背后的数学和代码简介。 自从 2017 年推出《Attention is All You Need》以来,Transformer 已成为自然语言处理 (NLP) 领域最先进的技术。 2021 年,An Image is Worth 16x16 Words 成功地将 Transformer 应用于计算机视觉任务…...

真香定律!我用这种模式重构了第三方登录
分享是最有效的学习方式。 博客:https://blog.ktdaddy.com/ 老猫的设计模式专栏已经偷偷发车了。不甘愿做crud boy?看了好几遍的设计模式还记不住?那就不要刻意记了,跟上老猫的步伐,在一个个有趣的职场故事中领悟设计模…...

Linux入门到入土
Linxu Linux 简介 Linux 内核最初只是由芬兰人林纳斯托瓦兹(Linus Torvalds)在赫尔辛基大学上学时出于个人爱好而编写的。 Linux 是一套免费使用和自由传播的类 Unix 操作系统,是一个基于 POSIX(可移植操作系统接口)…...

基础真空技术外国文献Fundamentals of Vacuum Technology
基础真空技术外国文献Fundamentals of Vacuum Technology...
LeetCode每日一题【c++版】- 用队列实现栈与用栈实现队列
用队列实现栈 题目描述 请你仅使用两个队列实现一个后入先出(LIFO)的栈,并支持普通栈的全部四种操作(push、top、pop 和 empty)。 实现 MyStack 类: void push(int x) 将元素 x 压入栈顶。int pop() 移除…...

深入理解快速排序算法:从原理到实现
目录 1. 引言 2. 快速排序算法原理 3. 快速排序的时间复杂度分析 4. 快速排序的应用场景 5. 快速排序的优缺点分析 5.1 优点: 5.2 缺点: 6. Java、JavaScript 和 Python 实现快速排序算法 6.1 Java 实现: 6.2 JavaScript 实现&#…...

XML Group端口详解
在XML数据映射过程中,经常需要对数据进行分组聚合操作。例如,当处理包含多个物料明细的XML文件时,可能需要将相同物料号的明细归为一组,或对相同物料号的数量进行求和计算。传统实现方式通常需要编写脚本代码,增加了开…...

Chapter03-Authentication vulnerabilities
文章目录 1. 身份验证简介1.1 What is authentication1.2 difference between authentication and authorization1.3 身份验证机制失效的原因1.4 身份验证机制失效的影响 2. 基于登录功能的漏洞2.1 密码爆破2.2 用户名枚举2.3 有缺陷的暴力破解防护2.3.1 如果用户登录尝试失败次…...

微信小程序之bind和catch
这两个呢,都是绑定事件用的,具体使用有些小区别。 官方文档: 事件冒泡处理不同 bind:绑定的事件会向上冒泡,即触发当前组件的事件后,还会继续触发父组件的相同事件。例如,有一个子视图绑定了b…...

python打卡day49
知识点回顾: 通道注意力模块复习空间注意力模块CBAM的定义 作业:尝试对今天的模型检查参数数目,并用tensorboard查看训练过程 import torch import torch.nn as nn# 定义通道注意力 class ChannelAttention(nn.Module):def __init__(self,…...

23-Oracle 23 ai 区块链表(Blockchain Table)
小伙伴有没有在金融强合规的领域中遇见,必须要保持数据不可变,管理员都无法修改和留痕的要求。比如医疗的电子病历中,影像检查检验结果不可篡改行的,药品追溯过程中数据只可插入无法删除的特性需求;登录日志、修改日志…...

Docker 运行 Kafka 带 SASL 认证教程
Docker 运行 Kafka 带 SASL 认证教程 Docker 运行 Kafka 带 SASL 认证教程一、说明二、环境准备三、编写 Docker Compose 和 jaas文件docker-compose.yml代码说明:server_jaas.conf 四、启动服务五、验证服务六、连接kafka服务七、总结 Docker 运行 Kafka 带 SASL 认…...

React19源码系列之 事件插件系统
事件类别 事件类型 定义 文档 Event Event 接口表示在 EventTarget 上出现的事件。 Event - Web API | MDN UIEvent UIEvent 接口表示简单的用户界面事件。 UIEvent - Web API | MDN KeyboardEvent KeyboardEvent 对象描述了用户与键盘的交互。 KeyboardEvent - Web…...

04-初识css
一、css样式引入 1.1.内部样式 <div style"width: 100px;"></div>1.2.外部样式 1.2.1.外部样式1 <style>.aa {width: 100px;} </style> <div class"aa"></div>1.2.2.外部样式2 <!-- rel内表面引入的是style样…...
Axios请求超时重发机制
Axios 超时重新请求实现方案 在 Axios 中实现超时重新请求可以通过以下几种方式: 1. 使用拦截器实现自动重试 import axios from axios;// 创建axios实例 const instance axios.create();// 设置超时时间 instance.defaults.timeout 5000;// 最大重试次数 cons…...
关于 WASM:1. WASM 基础原理
一、WASM 简介 1.1 WebAssembly 是什么? WebAssembly(WASM) 是一种能在现代浏览器中高效运行的二进制指令格式,它不是传统的编程语言,而是一种 低级字节码格式,可由高级语言(如 C、C、Rust&am…...