《白话机器学习的数学》第2章——学习回归

2.1设置问题

        1.机器学习所做的事情正是从数据中进行学习,然后给出预测值。

2.2定义模型

        1.一次函数的表达式:

                                                     

        其中θ叫做参数。

        在统计学领域,人们常常使用 θ 来表示未知数和推测值。采用 θ加数字下标的形式,是为了防止当未知数增加时,表达式中大量出现 a、b、c、d…这样的符号。这样不但不易理解,还可能会出现符号本身不够用的情况。         ​

2.3最小二乘法 

       1.实际数据和预测函数之间没有误差是最理想的情况。

        2.不可能让所有点的误差都等于 0。所以我们要做的是让所有点的误差之和尽可能地小。

        3.假设有 n 个训练数据, 那么它们的误差之和可以用这样的表达式表示。这个表达式称为 目标函数,E(θ) 的 E 是误差的英语单词 Error 的首字母。      

                         

        表达式中x(i) 和 y(i) 中的 i 不是 i 次幂的意思,而是指第 i 个训 练数据。

2.3.1最速下降法 

        4.微分是计算变化的快慢程度时使用的方法。

        5.只要向与导数的符号相反的方向移动 x,函数就会自然而然地沿着最小值的方向前进了。

        6.最速下降法或梯度下降法:

                                         

        A:=B意思是通过B来定义A。

        η是称为学习率的正的常数。根据学习率的大小,到达最小值的更新次数也会发生变化。换种说法就是收敛速度会不同。有时候甚至会出现完全无法收敛,一直发散的情况。

         7.假设g(x)的微分是2x-2,如果 η 较大,那么 x := x − η(2x − 2) 会在两个值上跳 来跳去,甚至有可能远离最小值。这就是发散状态。而当 η 较小 时,移动量也变小,更新次数就会增加,但是值确实是会朝着收敛的方向而去。

        8.当目标函数拥有多个变量时,不能用普通的微分,要用偏微分。

                                                

        9. 由于E函数中并没有θ0,只有fθ(x),而fθ(x)中又包含θ0,所以可以采用复合函数的微分方式来求解。

                                                               

                                                  

                       

                        

        至此就可以将两个函数的微分分别求出来,最终得出结论:

                         

2.4多项式回归 

        1.在更多的情况下,将fθ(x)定义为二次函数,或者是更多次数的函数更加贴合原先的函数。

        虽然次数越大拟合得越好,但也会出现过拟合的问题。 

        2.求多项式的微分与一次函数的方法相同,最终得出结论:

                    

2.5多重回归

        1.在前面的假设中,考虑的变量只有一个x,即使是增加次数,也只是修改了关于x一个变量的表达式,而更多的情况下,会有很多个变量,即不同的x。

              

         2.可以把参数 θ 和变量 x 看作向量。只是把 θ 和 x 用列向量来定义。

                   ​​​​​​​

             

        3.包含了多个变量的回归称为多重回归。对多重回归的微分与前面的方式相同,都是通过偏微分计算。

        4.最速下降法就是对所有的训练数据都重复进行计算。

2.6随机梯度下降法

        1.最速下降法的缺点:①计算时间长,②容易陷入局部最优解。

        2.最速下降法的参数更新表达式:

               

        在这个表达式使用了所有训练数据的误差,而在随机梯度下降法中会随机选择一个训练数据,并使用它来更新参数。这个表达式中的 k 就是被随机选中的数据索引。

                       

         3.最速下降法更新 1 次参数的时间,随机梯度下降法可以更新 n 次。此外,随机梯度下降法由于训练数据是随机选择的,更新参数时使用的又是选择数据时的梯度,所以不容易陷入目标函数的局部最优解。

        4.设随机选择 m 个训练数据的索引的集合为 K,那么我们这样来更新参数。

                

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

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

相关文章

网络访问(Socket/WebSocket/HTTP)

概述 HarmonyOS为用户提供了网络连接功能,具体由网络管理模块负责。通过该模块,用户可以进行Socket网络通滚、WebSocket连接、HTTP数据请求等网络通信服务。 Socket网络通信:通过Socket(嵌套字)进行数据通信,支持的协议包括UDP核…

【教程】vscode添加powershell7终端

win10自带的 powershell 是1.0版本的,太老了,更换为powershell7后,在 vscode 的集成终端中没有显示本篇教程记录在vscode添加powershell7终端的过程 打开vscode终端配置 然后来到这个页面进行设置 查看 powershell7 的安装位置&#xff…

JDK HttpClient - Java 11 可用的 JDK 内置的 HTTP 客户端

在 Java 应用的开发中,发送 HTTP 请求是一个常见的需求。应用在开发时,通常会使用流行的开源第三方库作为 HTTP 客户端,如 Apache HttpClient 或 OkHttp 等。这里介绍的是 JDK 自带的 HttpClient 实现,Java 11 可用。说到这里&…

物联网主机 E6000:智慧应急领域的创新力量

在当今瞬息万变的世界中,突发事件和紧急情况时有发生。如何迅速、准确地应对这些挑战,保障人民生命财产安全,成为了社会发展的重要课题。而物联网主机 E6000 的出现,为智慧应急领域带来了全新的解决方案。 一、强大的性能与功能 物…

Java学习 - Spring Boot整合 Thymeleaf 实例

什么是 Thymeleaf Thymeleaf 是新一代的 Java 模板引擎,类似于 Velocity、FreeMarker 等传统引擎,其语言和 HTML 很接近,而且扩展性更高; Thymeleaf 的主要目的是将优雅的模板引入开发工作流程中,并将 HTML 在浏览器中…

ROS话题发布与订阅

续上一篇文章。 我们现在在VScode里面加入订阅方的实现。 demo02_sub.cpp #include "ros/ros.h" #include "std_msgs/String.h"/*订阅方实现:1、包含头文件ROS中文本类型 ---> std_msgs/String.h2、初始化ROS节点3、创建节点句柄4、创建订…

中国篆刻艺术孙溟㠭作品《活着》

活着只是一吸一呼之间,在意觉醒之间,在血液流动之间,抛却灵与肉生死,一切都是惘然。妻吴晓蕾题款,甲辰夏月溟㠭于寒舍小窗下刊石。

力扣高频SQL 50题(基础版)第七题

文章目录 力扣高频SQL 50题(基础版)第七题1068. 产品销售分析 I题目说明思路分析实现过程准备数据:实现方式:结果截图:总结: 力扣高频SQL 50题(基础版)第七题 1068. 产品销售分析 I 题目说明 …

PCIe 以太网芯片 RTL8125B 的 spec 和 Linux driver 分析备忘

1,下载 RTL8125B driver 下载页: https://www.realtek.com/Download/List?cate_id584 2,RTL8125B datasheet下载 下载页: https://file.elecfans.com/web2/M00/44/D8/poYBAGKHVriAHnfWADAT6T6hjVk715.pdf3, 编译driver 解压: $ tar xj…

【案例】使用React+redux实现一个Todomvc

About 大家好,我是且陶陶,今天跟大家分享一个redux的todoList案例,通过这个案例能够快速掌握redux的基本知识点🌹 ❤️…❤️…❤️…❤️…❤️…❤️…❤️…❤️…❤️…❤️…❤️…❤️…❤️…❤️…❤️…❤️…❤️…❤️…

Helm部署k8s应用

文章目录 一、概述1、什么是Helm2、特点3、工作流程4、核心概念 二、安装Helm1、二进制版本安装1.1、下载需要的版本1.2、解压1.3、将helm移动到指定路径1.4、验证 三、Helm安装资源顺序四、--set 的格式和限制1、最简单的name/value对2、多个name/value对3、更复杂的表达式4、…

Java语言程序设计基础篇_编程练习题*15.3 (移动小球)

*15.3 (移动小球) 编写一个程序,在面板上移动小球。应该定义一个面板类来显示小球,并提供向左、 向右 、向上和向下移动小球的方法,如图15-24c所示。请进行边界检査以防止球完全移到视线之外 代码展示:编程练习题15_3MoveBall.ja…

鸿蒙OpenHarmony Native API【drawing_pen.h】 头文件

drawing_pen.h Overview Related Modules: [Drawing] Description: 文件中定义了与画笔相关的功能函数 Since: 8 Version: 1.0 Summary Enumerations Enumeration NameDescription[OH_Drawing_PenLineCapStyle] { [LINE_FLAT_CAP], [LINE_SQUARE_CAP], [LINE_ROUND_…

Redis核心技术与实战学习笔记

Redis核心技术与实战学习笔记 最近想沉下心来看下redis,买了蒋德钧老师的《Redis 核心技术与实战》,这里记录一些学习笔记 希望能够坚持下去有想一起学习的童鞋,可以点击跳转到文章尾部获取学习资源,仅供学习不要用于任何商业用途!!! redis知识全景图 …

ROS2入门到精通—— 2-8 ROS2实战:机器人安全通过狭窄区域的方案

0 前言 室内机器人需要具备适应性和灵活性,以便在狭窄的空间中进行安全、高效的导航。本文提供一些让机器人在狭窄区域安全通过的思路,希望帮助读者根据实际开发适当调整和扩展 1 Voronoi图 Voronoi图:根据给定的一组“种子点”&#xff0…

Ubuntu22.04系统安装nodejs 14 保姆级教程

下载软件包 从NodeSource 的官方源下载并安装 Node.js 14.x 版本的软件包,适用于 Debian 和 Ubuntu 系统: curl -sL https://deb.nodesource.com/setup_14.x | sudo -E bash - 更新软件源 更新软件源 sudo apt-get update 下载bodejs14 下载nodejs14 sud…

Jenkins卡在等待界面解决方法

一、问题 部署jenkins服务器出现Please wait while Jenkins is getting ready to work。 二、原因分析 jenkins里面文件指向国外的官网,因为防火墙的原因连不上。 三、解决方法 将配置文件里面的url换成国内镜像: (1)修改配…

WEB攻防-通用漏洞-SQL 读写注入-MYSQLMSSQLPostgreSQL

什么是高权限注入 高权限注入指的是攻击者通过SQL注入漏洞,利用具有高级权限的数据库账户(如MYSQL的root用户、MSSQL的sa用户、PostgreSQL的dba用户)执行恶意SQL语句。这些高级权限账户能够访问和修改数据库中的所有数据,甚至执行…

2024/7/23 英语每日一段

As malware has improved and evolved, it has pushed defense software to require constant connection and more extensive control. That deeper access also introduces a far higher possibility that security software—and updates to that software—will crash the …

RabbitMQ入门详解

前言 本篇文章将详细介绍rabbitmq的基本概念知识,以及rabbitmq各个工作模式在springboot中如何使用。 文章目录 介绍 简介 RabbitMQ 核心 生产者与消费者 Exchange Queue 工作模式 简单模式 工作队列模式 发布订阅模式 路由模式 主题模式 SpringBoot中…