首页 > 其他分享 >《白话机器学习的数学》第2章——学习回归

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

时间:2024-07-22 16:28:08浏览次数:7  
标签:机器 函数 白话 微分 学习 随机 下降 最速 表达式

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,那么我们这样来更新参数。

                

标签:机器,函数,白话,微分,学习,随机,下降,最速,表达式
From: https://blog.csdn.net/weixin_51130882/article/details/140579446

相关文章

  • python学习笔记——基础数据类型
    一、python赋初值         1.Python中的变量不需要声明。每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。    2.在Python中,变量就是变量,它没有类型,我们所说的"类型"是变量所指的内存中对象的类型。    3.等号(=)用来给变量赋值。 ......
  • C++ 学习笔记十一 封装
    封装4.1.1封装的意义封装是C++面向对象三大特性之一封装的意义:将属性和行为作为一个整体,表现生活中的事物将属性和行为加以权限控制封装意义一:​在设计类的时候,属性和行为写在一起,表现事物语法:class类名{访问权限:属性/行为};**示例1:**设计一个圆类,求圆的周......
  • Transformer 模型和Attention注意力机制学习笔记
    文章目录Transformer模型结构注意力机制ScaledDot-ProductAttention缩放点注意力机制工作流程并行机制Multi-HeadAttention多头注意力机制工作流程Embedding单词Embedding位置编码PositionalEncodingEncoderAdd&NormFeedForwardNetworkDecoderMaskedMul......
  • selenium需要学习哪些知识,给出导图
    编程语言基础(如Python)基本语法数据类型控制结构(如条件语句、循环)函数定义与使用面向对象编程概念(类、对象、继承等)Selenium基础汇总元素定位ID定位Name定位ClassName定位TagName定位LinkText定位PartialLinkText定位XPath定位(重点掌握)CSS选择器定位(重点掌......
  • mkl学习
    MathKernelLibrary)是Intel提供的一个高性能的数学库,它提供了广泛的数学函数来优化各种数学运算,包括线性代数、快速傅里叶变换(FFT)、随机数生成等。MKL库也提供了内存管理函数,如mkl_malloc()和mkl_free(),以及线性代数函数,如cblas_dgemm()。下面我将分别介绍这些函数的用法:mkl_ma......
  • 深度学习笔记
    相关学习资料https://tangshusen.me/Dive-into-DL-PyTorch/#/http://zh.d2l.ai/https://discuss.gluon.ai/c/lecture?order=views初始环境配置#下载安装脚本:https://conda.io/en/latest/miniconda.html#安装miniconda#macosshMiniconda3-py39_4.12.0-MacOSX-x86_......
  • HTML5+CSS3学习笔记第二天
    二、HTML第二天(列表、表格、表单)1.列表无序列表:每行前面多一个小点<ul><li>列表条目1</li><li>列表条目2</li><li>列表条目3</li></ul>有序列表:每行前面自动加1.2.3.的序号<ol><li>有序列表条目1</li><li>有序列表条......
  • HTML5+CSS3学习笔记第一天
    一、HTML初体验11.HTML定义:超文本标记语言超文本:链接标记:标签、带尖括号的文本2.标签语法双标签:成对出现,中间包裹内容单标签:只有开始标签eg:水平线hr、换行br<>放英文字母即标签名结束标签多一个/3.HTML基本骨架<html> <head> <title>网页标题</title> </head>......
  • 动手学深度学习(线性神经网络)
    看这一节前最好先移动至--动手学深度学习(预备知识),把基础知识打牢,使后续理解代码和原理更加容易因为这里是第三章的内容了,所以笔者的目录就从3开始咯。目录3.线性神经网络3.1线性回归3.11线性回归的基本元素3.12损失函数3.13解析解3.14随机梯度下降3.15矢量化加速3......
  • 保姆教程深度学习(多层感知机)一份足矣
    多层感知机一.隐藏层和激活函数1.为什么需要隐藏层?前面几篇博客我们通过基础知识,学习了如何处理数据,如何将输出转换为有效的概率分布,并应用适当的损失函数,根据模型参数最小化损失。但是记不记得当时我们算出来的数据都是线性的,我们把一张图片28*28=784的每一个像素视为一......