当前位置: 首页 > news >正文

机器学习模型总结

多元线性回归(linear regression)

自变量:连续型数据,因变量:连续型数据
选自:周志华老师《机器学习》P53-55
思想:残差平方和达到最小时的关系式子即为所求,残差平方和:实际值和估计值之间差的平方和。
后续补充:求解方式1:手动推导,求解方式2:梯度下降。手动推到时矩阵不可逆如何加归纳偏好。
1708912697172.png
残差平方和达到最小:
1708912981710.png
image.png
1708915530950.png
1708915566263.png

逻辑回归(logistic regression)

以下选自:王汉生《应用商务统计分析》第四章
(1)变量:连续型数据,因变量:离散型数据
(2)思想:假设了一个式子,计算事件发生的可能性。
令事件发生的可能性用Z表示:
1708917629500.png
设定一个阈值c,使得:
1708918318362.png
无论对F(t)的具体函数形式作任何假设,该假设都不可能完全反映真实情形,那么挑选那些“方便"的假设,假设服从正态分布。1708918723906.png,该模型称为probit模型,但是很多年前计算不够发达的时候,这种假设过于复杂,计算不出来,所以便产生了如下的公式:
1708918896806.png
(3)效果评测方式:
TPR:召回率,有问题的预测为有问题的比例,即预测出来有问题的个数/所有有问题的个数:TP/(TP+FN)
FPR:误报,FP/(TN+FP),将正常的预测为有问题的数/所有正常的个数
**同一个模型,找效果最好时的阈值:**设置不同的阈值后可以绘制ROC曲线,然后选取自己想要的召回率和误报平衡组合。ROC曲线同对角线(虚线)相比,永远是向上突起的。这说明TPR的取值必须高于FPR的取值,否则,这种预测方法是错误的。
1709021599181.png
**不同模型之间的效果比较:**绘制不同模型的ROC曲线,选择最上面的曲线所代表的模型。
1709021766068.png
补充“公式构造符合常识”:选自李航《统计学习方法》P77-80
下图可见,t越大概率越大(t就是z,就是上面的线性函数值),t无穷大时候概率接近于1,t越接近负无穷概率值越接近0。
1709021528658.png

决策树(decision tree)

选自李航《统计学习方法》第五章
思想:找到一种划分方法,每次划分时,大大降低系统的混乱度,让系统信息明确。
3.1 知识点介绍:
(1)熵:信息越混乱,随机变量的熵越大。
1709086775282.png
(2)信息增益
1709091088171.png
1709090998931.png
上面案例数据如下:
1709091722391.png

(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
1709108956044.png
3.2 算法介绍:
划分方法1:ID3算法
思想:信息增益越大,即熵降低的越多,就选此种划分方法。
1709101305095.png
1709110796572.png

**划分方法2:C4.5算法 **

思想:信息增益比越大,熵降低的越多,就选此时的划分方法。
以信息增益作为划分训练数据集的特征,存在偏向于选择取值较多的特征的问题。使用信息增益比(informationganrawo)可以对这一问题进行校正。
1709110914699.png
划分方法3:基尼指数
CART算法(分类和回归)
1709107656317.png
1709107730671.png
(1)分类
1709107969504.png
(2)回归
1709108051085.png
3.3 剪枝方法:
预剪枝:限定深度、设置阈值
后剪枝:最小误差剪枝、基于错误剪枝、降低错误剪枝、悲观错误剪枝
降低错误剪枝 (自下而上,使用测试集来剪枝。对每个结点,计算剪枝前和剪枝后的误判个数,若是剪枝有利于减少误判(包括相等的情况),则减掉该结点所在分枝。)
悲观错误剪枝(根据剪枝前后的错误率来决定是否剪枝。和rep不同之处在于,pep只需要训练集即可,不需要验证集,并且pep是自上而下剪枝的。)
后续补充:三者之间的区别,如何处理连续值。

随机森林(Random Forest,RF)

特征随机选择,有放回采样n个样本,构建很多个决策树,那么由各个决策树的结果怎么得到最终的结果呢。
选自:周志华老师《机器学习》P181-183
对于回归问题:
1709195074679.png
1709195391627.png
对于分类问题:
1709197712164.png
1709197849184.png

GBDT

XGboost

支持向量机(support vector machines,SVM)

**选自:周志华老师《机器学习》第六章 周志华老师《机器学习》的视频课程(主讲人:周老师) **
首先说下我自己的理解过程,然后再引入周老师西瓜书内容:
思想:找到一个平面,a)可以很好的区分不同类别的点(使得分类器的训练误差小,线性可分时要求训练误差为0),b)可以识别未知类别样本的类别(即多大程度上信任该分类器在未知样本上分类的效果。)


贴西瓜书对如上式子的推导过程:
1709168590810.png
1709168944486.png

1709169375201.png
从下图最后的推导结果可知,要满足KKT条件,最优解时候的变量取值都为支持向量,也就是说最后决定这个模型的就是这些支持向量,支持向量机的名字由此而来。
1709169547816.png
线性不可分时,进行特征空间映射,使得可分:
1709173074662.png
内积不好计算,选用核函数来替代计算,理想状态下内积就等于选择的核函数,但确定性的最优解不好找,可以一个个核函数的试,在很多核函数中找一个最合适的。
1709174975264.png
1709175915138.png

朴素贝叶斯(naǐve Bayes)

思想:对于给出的待分类项,求解在此项出现的条件下各个类别出现的概率,判定给概率最大的类别。在求解概率的时候假设各个属性之间独立同分布。
选自”算法杂货铺-分类算法之朴素贝叶斯分类
1709020493138.png
1709020609996.png
1709020776550.png
特征属性为离散值值可以直接数数求比例即可计算概率,特征属性为连续值时,用如下方法:
1709021089558.png

k近邻法(k-nearest neighbor,k-NN)

选自李航《统计学习方法》P37
可做分类和回归问题。分类思想:给定一个有标签的训练数据集,对新的实例,根据k个最近邻的训练实例的类别,通过多数表决等方式进行预测。
1709014947466.png
补充“距离加权表决”:选自Pang-Ning Tan等著,范明等译《数据挖掘导论完整版_人民邮电出版社》P138
1709016428633.png
后续补充:knn的缺陷,如计算量大,噪声敏感,补充如何降低计算开销。

textrank

思想:指向点v(i)的所有边的值加总便是v(i)的textrank值。每条边上值的计算,如v(j)和v(i)边值的计算为:
w=v(i)和v(j)边权重/v(j)指出的所有权重和
score=v(j)的textrank
w*score便为所求。
1709017067011.png

k均值(k-means)

选自Pang-Ning Tan等著,范明等译《数据挖掘导论完整版_人民邮电出版社》P310
算法思想:
1709023110355.png
1709024483175.png

相关文章:

机器学习模型总结

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

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每日刷题&#xff08;115&#xff09; 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) 是一种消息通信模式&#xff0c;它允许客户端之间进行异步的消息传递 Redis 客户端可以订阅任意数量的频道。 模型中的角色 在该模型中&#xff0c;有三种角色&#xff1a; 发布者&#xff08;Publisher&#xff09;&#xff1a;负责发送信…...

ngx_waf入门教程:保护你的Nginx服务器

ngx_waf入门教程&#xff1a;保护你的Nginx服务器 在今天的网络环境中&#xff0c;安全性是每个网站和应用程序都必须考虑的关键因素。Nginx作为一款流行的开源Web服务器和反向代理服务器&#xff0c;广泛应用于各种业务场景。为了增强Nginx的安全性&#xff0c;我们可以使用n…...

视觉Transformers中的位置嵌入 - 研究与应用指南

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

真香定律!我用这种模式重构了第三方登录

分享是最有效的学习方式。 博客&#xff1a;https://blog.ktdaddy.com/ 老猫的设计模式专栏已经偷偷发车了。不甘愿做crud boy&#xff1f;看了好几遍的设计模式还记不住&#xff1f;那就不要刻意记了&#xff0c;跟上老猫的步伐&#xff0c;在一个个有趣的职场故事中领悟设计模…...

Linux入门到入土

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

基础真空技术外国文献Fundamentals of Vacuum Technology

基础真空技术外国文献Fundamentals of Vacuum Technology...

LeetCode每日一题【c++版】- 用队列实现栈与用栈实现队列

用队列实现栈 题目描述 请你仅使用两个队列实现一个后入先出&#xff08;LIFO&#xff09;的栈&#xff0c;并支持普通栈的全部四种操作&#xff08;push、top、pop 和 empty&#xff09;。 实现 MyStack 类&#xff1a; void push(int x) 将元素 x 压入栈顶。int pop() 移除…...

深入理解快速排序算法:从原理到实现

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

云原生核心技术 (7/12): K8s 核心概念白话解读(上):Pod 和 Deployment 究竟是什么?

大家好&#xff0c;欢迎来到《云原生核心技术》系列的第七篇&#xff01; 在上一篇&#xff0c;我们成功地使用 Minikube 或 kind 在自己的电脑上搭建起了一个迷你但功能完备的 Kubernetes 集群。现在&#xff0c;我们就像一个拥有了一块崭新数字土地的农场主&#xff0c;是时…...

云计算——弹性云计算器(ECS)

弹性云服务器&#xff1a;ECS 概述 云计算重构了ICT系统&#xff0c;云计算平台厂商推出使得厂家能够主要关注应用管理而非平台管理的云平台&#xff0c;包含如下主要概念。 ECS&#xff08;Elastic Cloud Server&#xff09;&#xff1a;即弹性云服务器&#xff0c;是云计算…...

1.3 VSCode安装与环境配置

进入网址Visual Studio Code - Code Editing. Redefined下载.deb文件&#xff0c;然后打开终端&#xff0c;进入下载文件夹&#xff0c;键入命令 sudo dpkg -i code_1.100.3-1748872405_amd64.deb 在终端键入命令code即启动vscode 需要安装插件列表 1.Chinese简化 2.ros …...

【项目实战】通过多模态+LangGraph实现PPT生成助手

PPT自动生成系统 基于LangGraph的PPT自动生成系统&#xff0c;可以将Markdown文档自动转换为PPT演示文稿。 功能特点 Markdown解析&#xff1a;自动解析Markdown文档结构PPT模板分析&#xff1a;分析PPT模板的布局和风格智能布局决策&#xff1a;匹配内容与合适的PPT布局自动…...

P3 QT项目----记事本(3.8)

3.8 记事本项目总结 项目源码 1.main.cpp #include "widget.h" #include <QApplication> int main(int argc, char *argv[]) {QApplication a(argc, argv);Widget w;w.show();return a.exec(); } 2.widget.cpp #include "widget.h" #include &q…...

探索Selenium:自动化测试的神奇钥匙

目录 一、Selenium 是什么1.1 定义与概念1.2 发展历程1.3 功能概述 二、Selenium 工作原理剖析2.1 架构组成2.2 工作流程2.3 通信机制 三、Selenium 的优势3.1 跨浏览器与平台支持3.2 丰富的语言支持3.3 强大的社区支持 四、Selenium 的应用场景4.1 Web 应用自动化测试4.2 数据…...

【p2p、分布式,区块链笔记 MESH】Bluetooth蓝牙通信 BLE Mesh协议的拓扑结构 定向转发机制

目录 节点的功能承载层&#xff08;GATT/Adv&#xff09;局限性&#xff1a; 拓扑关系定向转发机制定向转发意义 CG 节点的功能 节点的功能由节点支持的特性和功能决定。所有节点都能够发送和接收网格消息。节点还可以选择支持一个或多个附加功能&#xff0c;如 Configuration …...

算术操作符与类型转换:从基础到精通

目录 前言&#xff1a;从基础到实践——探索运算符与类型转换的奥秘 算术操作符超级详解 算术操作符&#xff1a;、-、*、/、% 赋值操作符&#xff1a;和复合赋值 单⽬操作符&#xff1a;、--、、- 前言&#xff1a;从基础到实践——探索运算符与类型转换的奥秘 在先前的文…...

简单介绍C++中 string与wstring

在C中&#xff0c;string和wstring是两种用于处理不同字符编码的字符串类型&#xff0c;分别基于char和wchar_t字符类型。以下是它们的详细说明和对比&#xff1a; 1. 基础定义 string 类型&#xff1a;std::string 字符类型&#xff1a;char&#xff08;通常为8位&#xff09…...

k8s从入门到放弃之Pod的容器探针检测

k8s从入门到放弃之Pod的容器探针检测 在Kubernetes&#xff08;简称K8s&#xff09;中&#xff0c;容器探测是指kubelet对容器执行定期诊断的过程&#xff0c;以确保容器中的应用程序处于预期的状态。这些探测是保障应用健康和高可用性的重要机制。Kubernetes提供了两种种类型…...