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

白话机器学习的数学-1-回归

1、设置问题

投入的广告费越多,广告的点击量就越高,进而带来访问数的增加。

2、定义模型

定义一个函数:一次函数
y = ax + b  (a 是斜率、b 是截距)
定义函数:

3、最小二乘法

例子:  用随便确定的参数计算的值与实际的值存在偏差。
假设有 n 个训练数据, 那么它们的误差之和可以用这样的表达式表示。
这个表达式称为 目标函数,E(θ) 的 E 是误差的英语单词 Error 的首字母,∑读作“西格玛”。
这么做是为了找到使 E(θ) 的值最小 的 θ,这样的问题称为最优化问题。
来计算一下表格 E(θ) 的值,设 θ0 = 1、θ1 = 2, 然后将刚才列举的 4 个训练数据代入表达式

4、梯度下降法(最速下降法)

微分是计算变化的快慢程度时使用的方法。
函数 g(x):
微分(求导):
x < 1 为负数,x = 1 为0,x > 1 为正数。
根据导数的符号来决定移动 x 的方向,只要向与导数的符号相反的方向移动 x,g(x) 就会自然而然地沿着最小值的方向前进了, 这也被称为最速下降法或梯度下降法 。
η  是称为学习率的正的常数,读作“伊塔”。根据学习率的大小, 到达最小值的更新次数也会发生变化。换种说法就是收敛速度会 不同。有时候甚至会出现完全无法收敛,一直发散的情况。
比如 η = 1,从 x = 3 开始 (结果是一直发散,无法收敛):
那设 η = 0.1,同样从 x = 3 开始:
回过头来看一下目标函数 E(θ):
这个目标函数是拥有 θ0 和 θ1 的双变量函数,所以不能用 普通的微分,而要用偏微分:
设:
计算微分:
同样:
所以参数 θ0 和 θ1 的更新表达式是:

5、多项式回归

上面是一次函数,用更大次数的表达式, 这样就能表示更复杂的曲线。
不过对于要解决的问题,在找出最合适的表达式之前,需要 不断地去尝试。
虽然次数越大拟合得越好,但难免也会出现过拟合的问题。
如二次函数:
曲线如下:
曲线看起来更拟合数据。
计算微分:
像这样增加函数中多项式的次数,然后再使用函数的分析方法被称为多项式回归。

6、多重回归

多项式回归问题中确实会涉及不同次数的项,但是使用的变量依然只有广告费一项。
我们稍微扩展一下之前设置的问题。之前只是根据广告费来预 测点击量,现在呢,决定点击量的除了广告费之外,还有广告的 展示位置和广告版面的大小等多个要素。
为了让问题尽可能地简单,这次我们只考虑广告版面的大小,设 广告费为 x1、广告栏的宽为 x2、广告栏的高为 x3,那么 fθ 可以 表示如下:
下面我们把它推广到有 n 个变量的情况:
使用向量表示:
求微分:
u 对 v 微分的部分是一样的,所以只需要求 v 对 θj 的微分就好了
那么第 j 个参数的更新表达式就是这样的:
像这样包含了多个变量的回归称为多重回归。

7、随机梯度下降法

梯度下降法是对所有的训练数据都重复进行计算,缺点是计算量大、计算时间长,且容易陷入局部最优解 。
在随机梯度下降 法中会随机选择一个训练数据,并使用它来更新参数。这个表达 式中的 k 就是被随机选中的数据索引:
梯度下降法更新 1 次参数的时间,随机梯度下降法可以更新 n 次。 此外,随机梯度下降法由于训练数据是随机选择的,更新参数时使用的又是选择数据时的梯度,所以不容易陷入目标函数的局部最优解。
我们前面提到了随机选择 1 个训练数据的做法,此外还有随机选 择 m 个训练数据来更新参数的做法。
设随机选择 m 个训练数据的索引的集合为 K,那么我们这样 来更新参数:
这种做法被称为小批量(mini-batch)梯度下降法。
不管是随机梯度下降法还是小批量梯度下降法,我们都必须考虑 学习率 η。
把 η 设置为合适的值是很重要的, 可以通过反复尝试来找到合适的值。

相关文章:

白话机器学习的数学-1-回归

1、设置问题 投入的广告费越多&#xff0c;广告的点击量就越高&#xff0c;进而带来访问数的增加。 2、定义模型 定义一个函数&#xff1a;一次函数 y ax b &#xff08;a 是斜率、b 是截距&#xff09; 定义函数&#xff1a; 3、最小二乘法 例子&#xff1a; 用随便确定的参…...

ubuntu22下安装minconda

bing 搜索 canda install 找到官方网站 https://docs.conda.io/projects/miniconda/en/latest/ 这里我们安装minconda。 官网有安装方法。 mkdir -p ~/miniconda3 wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O ~/miniconda3/miniconda.sh…...

如何借助边缘网关打造智慧配电房安全方案

配电房是电力系统的重要组成部分&#xff0c;通常设置有各种高压配电装置和箱柜&#xff0c;是企业安全管理的重点。传统的人工巡检和监控总是难以避免疏漏&#xff0c;导致风险隐患的产生和扩大。 随着物联网、边缘计算、设备联动控制等技术的普及应用&#xff0c;佰马针对配电…...

k8s的二进制部署

k8s的二进制部署 k8s的二进制部署的实验&#xff1a; 源码包部署 k8s的master01&#xff1a;192.168.233.91 组件&#xff1a;kube-apiserver kube-controller-manager kube-scheduler etcd k8s的master02&#xff1a;192.168.233.92 组件&#xff1a;kube-api…...

Python基础语法总结

1.每条语句结束不需要分号(也可以加上), 直接换行, 注意: 如果两行代码写一行, 则必须加分号. 2.定义变量不需要指定类型(如果需要写类型, 需要在变量名后面加": 类型, 这个写法只是方便读代码). 3.变量名大小写敏感. 4.查看变量类型: type(变量名). 5.Python中的int表…...

矩阵理论基本知识

1、矩阵范数、算子范数 矩阵无穷范数是非自相容范数&#xff0c;矩阵1-范数、矩阵2-范数是自相容范数矩阵2-范数&#xff1a;Frobenius范数&#xff0c;是向量2-范数的自然推广。 ∥ A ∥ m 2 ∥ A ∥ F ∑ a i j ∗ a i j \|A\|_{m2}\|A\|_{F}\sqrt{\sum a_{ij}^*a_{ij}} ∥…...

《深入理解Java虚拟机(第三版)》读书笔记:Java内存区域与内存溢出异常、垃圾收集器与内存分配策略

下文是阅读《深入理解Java虚拟机&#xff08;第3版&#xff09;》这本书的读书笔记&#xff0c;如有侵权&#xff0c;请联系删除。 文章目录 第2章 Java内存区域与内存溢出异常2.2 运行时数据区域2.3 HotSpot虚拟机对象探秘 第3章 垃圾收集器与内存分配策略3.2 对象已死&…...

android 手机主界面侧滑退出app问题

最近重新搭了个app&#xff0c;发现手机显示APP主界面时&#xff0c;沿着手机右边向左滑&#xff0c;会直接关闭应用&#xff0c;所以想搞个第一次提示&#xff0c;第二次退出app的效果。 结果搞出个复杂的东西&#xff0c;下面是两段代码。1: 1:GestureDetector扩展函数。其…...

spring boot 配置全局日期和时间格式

spring boot 为项目配置 全局日期和时间格式化yyyy-MM-dd HH:mm:ss 方式一&#xff1a;代码配置全局日期和时间格式化 /*** author hua*/ Configuration public class WebConfiguration implements WebMvcConfigurer {/*** 项目全局时间格式化*/ Bean public ObjectMapper get…...

GoLang学习之路,对Elasticsearch的使用,一文足以(包括泛型使用思想)(二)

书写上回&#xff0c;上回讲到&#xff0c;Elasticsearch的使用前提即&#xff1a;语法&#xff0c;表结构&#xff0c;使用类型结构等。要学这个必须要看前面这个&#xff1a;GoLang学习之路&#xff0c;对Elasticsearch的使用&#xff0c;一文足以&#xff08;包括泛型使用思…...

鸿蒙APP的代码规范

鸿蒙APP的代码规范是为了确保代码质量、可读性和可维护性而定义的一系列规则和标准。以下是一些建议的鸿蒙APP代码规范&#xff0c;希望对大家有所帮助。北京木奇移动技术有限公司&#xff0c;专业的软件外包开发公司&#xff0c;欢迎交流合作。 1. 代码风格&#xff1a; 采用…...

蓝桥杯-每日刷题-027

出租汽车计费器 一、题目要求 题目描述 有一个城市出租汽车的计费规则是3公里内&#xff08;含3公里&#xff09;基本费6元&#xff0c;超过3公里&#xff0c;每一公里1.4元。 现在对于输入具体的公里数x&#xff08;0<x<1000&#xff09;&#xff0c;编程计算x公里所需…...

安装Node修改Node镜像地址搭建Vue脚手架创建Vue项目

1、安装VSCode和Node 下载VSCode Visual Studio Code - Code Editing. Redefined 下载Node Node.js (nodejs.org) 检验是否安装成功&#xff0c;WinR,输入cmd命令&#xff0c;使用node -v可以查看到其版本号 2、修改镜像地址 安装好node之后&#xff0c;开始修改镜像地址 …...

git 学习 之一个规范的 commit 如何写

最好的话做一件完整的事情就提交一次...

2023 年人工智能研究与技术排名前 10 的国家

人工智能研究是一项全球性的工作。虽然美国和中国因其对人工智能的贡献而备受关注&#xff0c;但事实是&#xff0c;世界各国都在涉足这项技术&#xff0c;尝试新的突破&#xff0c;并吸引投资者的关注。 斯坦福大学的《2023年人工智能报告》估计&#xff0c;到 2022 年&#…...

留言板(Mybatis连接数据库版)

目录 1.添加Mybatis和SQL的依赖 2.建立数据库和需要的表 3.对应表中的字段&#xff0c;补充Java对象 4.对代码进行逻辑分层 5.后端逻辑代码 之前的项目实例【基于Spring MVC的前后端交互案例及应用分层的实现】https://blog.csdn.net/weixin_67793092/article/details/134…...

第十二章 Sleuth分布式请求链路跟踪

Sleuth分布式请求链路跟踪 gitee:springcloud_study: springcloud&#xff1a;服务集群、注册中心、配置中心&#xff08;热更新&#xff09;、服务网关&#xff08;校验、路由、负载均衡&#xff09;、分布式缓存、分布式搜索、消息队列&#xff08;异步通信&#xff09;、数…...

EasyExcel多线程批量导出数据,动态表头,静态资源访问

1.导入依赖 <dependency><groupId>com.alibaba</groupId><artifactId>easyexcel</artifactId><version>3.1.1</version></dependency>2.建立实体 Data public class ActResultLogVO implements Serializable {private static…...

树莓派界面改成中文

安装完树莓派系统(Raspberry Pi OS with Desktop)&#xff0c;第一次启动时&#xff0c;时会有如下面二个图所示&#xff0c;让你选择区域时区和语言。 树莓派默认的语言为英文&#xff0c;如果你在安装时没有选择的话&#xff0c;默认的区域为英国&#xff0c;语言为英国英文&…...

软件工程期末复习

● 用例&#xff1a;借书 ●参与者&#xff1a;管理员,借阅者 ●操作流&#xff1a; ① 管理员进入图书借阅界面&#xff0c;用例开始。 ② 系统要求输入借阅者的借书证编码。 ③系统检验借书证编码,如果正确,则显示借阅者的信息。 A1&#xff1a;借书证编码有错。 A2: 如果该借…...

挑战杯推荐项目

“人工智能”创意赛 - 智能艺术创作助手&#xff1a;借助大模型技术&#xff0c;开发能根据用户输入的主题、风格等要求&#xff0c;生成绘画、音乐、文学作品等多种形式艺术创作灵感或初稿的应用&#xff0c;帮助艺术家和创意爱好者激发创意、提高创作效率。 ​ - 个性化梦境…...

相机Camera日志实例分析之二:相机Camx【专业模式开启直方图拍照】单帧流程日志详解

【关注我&#xff0c;后续持续新增专题博文&#xff0c;谢谢&#xff01;&#xff01;&#xff01;】 上一篇我们讲了&#xff1a; 这一篇我们开始讲&#xff1a; 目录 一、场景操作步骤 二、日志基础关键字分级如下 三、场景日志如下&#xff1a; 一、场景操作步骤 操作步…...

DAY 47

三、通道注意力 3.1 通道注意力的定义 # 新增&#xff1a;通道注意力模块&#xff08;SE模块&#xff09; class ChannelAttention(nn.Module):"""通道注意力模块(Squeeze-and-Excitation)"""def __init__(self, in_channels, reduction_rat…...

2021-03-15 iview一些问题

1.iview 在使用tree组件时&#xff0c;发现没有set类的方法&#xff0c;只有get&#xff0c;那么要改变tree值&#xff0c;只能遍历treeData&#xff0c;递归修改treeData的checked&#xff0c;发现无法更改&#xff0c;原因在于check模式下&#xff0c;子元素的勾选状态跟父节…...

【Web 进阶篇】优雅的接口设计:统一响应、全局异常处理与参数校验

系列回顾&#xff1a; 在上一篇中&#xff0c;我们成功地为应用集成了数据库&#xff0c;并使用 Spring Data JPA 实现了基本的 CRUD API。我们的应用现在能“记忆”数据了&#xff01;但是&#xff0c;如果你仔细审视那些 API&#xff0c;会发现它们还很“粗糙”&#xff1a;有…...

Spring AI 入门:Java 开发者的生成式 AI 实践之路

一、Spring AI 简介 在人工智能技术快速迭代的今天&#xff0c;Spring AI 作为 Spring 生态系统的新生力量&#xff0c;正在成为 Java 开发者拥抱生成式 AI 的最佳选择。该框架通过模块化设计实现了与主流 AI 服务&#xff08;如 OpenAI、Anthropic&#xff09;的无缝对接&…...

uniapp中使用aixos 报错

问题&#xff1a; 在uniapp中使用aixos&#xff0c;运行后报如下错误&#xff1a; AxiosError: There is no suitable adapter to dispatch the request since : - adapter xhr is not supported by the environment - adapter http is not available in the build 解决方案&…...

Android Bitmap治理全解析:从加载优化到泄漏防控的全生命周期管理

引言 Bitmap&#xff08;位图&#xff09;是Android应用内存占用的“头号杀手”。一张1080P&#xff08;1920x1080&#xff09;的图片以ARGB_8888格式加载时&#xff0c;内存占用高达8MB&#xff08;192010804字节&#xff09;。据统计&#xff0c;超过60%的应用OOM崩溃与Bitm…...

管理学院权限管理系统开发总结

文章目录 &#x1f393; 管理学院权限管理系统开发总结 - 现代化Web应用实践之路&#x1f4dd; 项目概述&#x1f3d7;️ 技术架构设计后端技术栈前端技术栈 &#x1f4a1; 核心功能特性1. 用户管理模块2. 权限管理系统3. 统计报表功能4. 用户体验优化 &#x1f5c4;️ 数据库设…...

Java求职者面试指南:Spring、Spring Boot、MyBatis框架与计算机基础问题解析

Java求职者面试指南&#xff1a;Spring、Spring Boot、MyBatis框架与计算机基础问题解析 一、第一轮提问&#xff08;基础概念问题&#xff09; 1. 请解释Spring框架的核心容器是什么&#xff1f;它在Spring中起到什么作用&#xff1f; Spring框架的核心容器是IoC容器&#…...