机器学习模型总结
多元线性回归(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 实现&#…...
HTML 语义化
目录 HTML 语义化HTML5 新特性HTML 语义化的好处语义化标签的使用场景最佳实践 HTML 语义化 HTML5 新特性 标准答案: 语义化标签: <header>:页头<nav>:导航<main>:主要内容<article>&#x…...
C++_核心编程_多态案例二-制作饮品
#include <iostream> #include <string> using namespace std;/*制作饮品的大致流程为:煮水 - 冲泡 - 倒入杯中 - 加入辅料 利用多态技术实现本案例,提供抽象制作饮品基类,提供子类制作咖啡和茶叶*//*基类*/ class AbstractDr…...
UDP(Echoserver)
网络命令 Ping 命令 检测网络是否连通 使用方法: ping -c 次数 网址ping -c 3 www.baidu.comnetstat 命令 netstat 是一个用来查看网络状态的重要工具. 语法:netstat [选项] 功能:查看网络状态 常用选项: n 拒绝显示别名&#…...
汽车生产虚拟实训中的技能提升与生产优化
在制造业蓬勃发展的大背景下,虚拟教学实训宛如一颗璀璨的新星,正发挥着不可或缺且日益凸显的关键作用,源源不断地为企业的稳健前行与创新发展注入磅礴强大的动力。就以汽车制造企业这一极具代表性的行业主体为例,汽车生产线上各类…...
华为OD机试-食堂供餐-二分法
import java.util.Arrays; import java.util.Scanner;public class DemoTest3 {public static void main(String[] args) {Scanner in new Scanner(System.in);// 注意 hasNext 和 hasNextLine 的区别while (in.hasNextLine()) { // 注意 while 处理多个 caseint a in.nextIn…...
Keil 中设置 STM32 Flash 和 RAM 地址详解
文章目录 Keil 中设置 STM32 Flash 和 RAM 地址详解一、Flash 和 RAM 配置界面(Target 选项卡)1. IROM1(用于配置 Flash)2. IRAM1(用于配置 RAM)二、链接器设置界面(Linker 选项卡)1. 勾选“Use Memory Layout from Target Dialog”2. 查看链接器参数(如果没有勾选上面…...
SpringBoot+uniapp 的 Champion 俱乐部微信小程序设计与实现,论文初版实现
摘要 本论文旨在设计并实现基于 SpringBoot 和 uniapp 的 Champion 俱乐部微信小程序,以满足俱乐部线上活动推广、会员管理、社交互动等需求。通过 SpringBoot 搭建后端服务,提供稳定高效的数据处理与业务逻辑支持;利用 uniapp 实现跨平台前…...
Unit 1 深度强化学习简介
Deep RL Course ——Unit 1 Introduction 从理论和实践层面深入学习深度强化学习。学会使用知名的深度强化学习库,例如 Stable Baselines3、RL Baselines3 Zoo、Sample Factory 和 CleanRL。在独特的环境中训练智能体,比如 SnowballFight、Huggy the Do…...
mysql已经安装,但是通过rpm -q 没有找mysql相关的已安装包
文章目录 现象:mysql已经安装,但是通过rpm -q 没有找mysql相关的已安装包遇到 rpm 命令找不到已经安装的 MySQL 包时,可能是因为以下几个原因:1.MySQL 不是通过 RPM 包安装的2.RPM 数据库损坏3.使用了不同的包名或路径4.使用其他包…...
uniapp 集成腾讯云 IM 富媒体消息(地理位置/文件)
UniApp 集成腾讯云 IM 富媒体消息全攻略(地理位置/文件) 一、功能实现原理 腾讯云 IM 通过 消息扩展机制 支持富媒体类型,核心实现方式: 标准消息类型:直接使用 SDK 内置类型(文件、图片等)自…...
