Datawhale 李宏毅机器学习 Task2

2023-10-27

一、回归的定义和举例

定义:

      Regression 就是找到一个函数 function,通过输入特征 x,输出一个数值 Scalar。

举例:

①股市预测      

 输入:过去10年股票的变动、新闻咨询、公司并购咨询等

输出:预测明天股市的平均值

②自动驾驶

输入:无人车上的各个传感器的数据,例如路况、测出的车距等

输出:方向盘的角度

③商品推荐

输入:商品A的特性,商品B的特性

输出:购买商品B的可能性

④宝可梦进化的属性预测

输入:进化前的CP值、物种(Bulbasaur)、血量(HP)、重量(Weight)、高度(Height)

输出:进化后的CP值

二、模型步骤(以宝可梦进化所获得属性成长为例)

  • step1:模型假设,选择模型框架(线性模型)
  • step2:模型评估,如何判断众多模型的好坏(损失函数)
  • step3:模型优化,如何筛选最优的模型(梯度下降)

Step 1:模型假设-线性模型

一元线性模型(单个特征):以一个特征 x_{cp}xcp​ 为例,线性模型假设 y = b + w·x_{cp}y=b+w⋅xcp​ ,所以 ww 和 bb 可以猜测很多模型。

多元线性模型(多个特征):在实际应用中,输入特征肯定不止 x_{cp}xcp​ 这一个。例如,进化前的CP值、物种(Bulbasaur)、血量(HP)、重量(Weight)、高度(Height)等,特征会有很多。

chapter3-1.png

  • xi​:就是各种特征(fetrure)
  • wi​:各个特征的权重 
  • b:偏移量

Step 2:模型评估-损失函数

有了这些真实的数据,那我们怎么衡量模型的好坏呢?从数学的角度来讲,我们使用距离。求【进化后的CP值】与【模型预测的CP值】差,来判定模型的好坏。也就是使用损失函数(Loss function) 来衡量模型的好坏,统计10组原始数据的和,和越小模型越好。如下图所示:

chapter3-4.png

推导过程:

chapter3-5.png

  • 图中每一个点代表着一个模型对应的 ww 和 bb
  • 颜色越深代表模型更优

可以与后面的图11(等高线)进行对比

Step 3:最佳模型-梯度下降 

chapter3-6.png

chapter3-7.png

chapter3-8.png

chapter3-9.png

chapter3-10.png

我们通过梯度下降gradient descent不断更新损失函数的结果,这个结果会越来越小,那这种方法找到的结果是否都是正确的呢?前面提到的当前最优问题外,还有没有其他存在的问题呢?

其实还会有其他的问题:

  • 问题1:当前最优(Stuck at local minima)
  • 问题2:等于0(Stuck at saddle point)
  • 问题3:趋近于0(Very slow at the plateau)

chapter3-13.png

注意:其实在线性模型里面都是一个碗的形状(山谷形状),梯度下降基本上都能找到最优点,但是再其他更复杂的模型里面,就会遇到 问题2 和 问题3 了

w和b偏微分的计算方法

chapter3-14.png

总结

  • Pokemon:原始的CP值极大程度的决定了进化后的CP值,但可能还有其他的一些因素。
  • Gradient descent:梯度下降的做法;后面会讲到它的理论依据和要点。
  • Overfitting和Regularization:过拟合和正则化,主要介绍了表象;后面会讲到更多这方面的理论

参考资料:
​​​​​

李宏毅机器学习

Datawhale 笔记资料

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Datawhale 李宏毅机器学习 Task2 的相关文章

随机推荐

  • Doxygen使用介绍

    Doxygen的主页为http doxygen nl 它的license为GPL 最新发布版本为1 8 17 源代码存放在https github com doxygen doxygen 它支持的语言包括C C Objective C C
  • matlab求解普通函数的导数问题(diff函数的用法)

    目录 一元函数的导数 MATLAB函数语法 应用举例 例1 普通函数求导 例2 复合泛函求导 例3 矩阵函数求导 多元函数的偏导数 MATLAB函数语法 应用举例 例1 求偏导并绘图 例2 三元函数求偏导 一元函数的导数 MATLAB函数语
  • matlab RANSAC拟合二次多项式曲线(详细过程版)

    目录 一 算法概述 二 代码实现 三 结果展示 四 相关链接 一 算法概述 RANSAC是一种鲁棒性较强的拟合算法 可以用于估计数据集中的模型参数 对于拟合二次多项式曲线 RANSAC算法的步骤如下 1 随机选择一小部分数据点 假设它们是符
  • NodeMCU-32S-内部DAC音频输出测试

    NodeMCU 32S 内部DAC音频输出测试 文章目录 NodeMCU 32S 内部DAC音频输出测试 前言 硬件说明 软件编译 测试 ESP32 DAC参考链接 前言 一直想玩玩ESP32的蓝牙音频功能 手上面有一个NodeMCU 32
  • DAY02: 编程入门03- 核心代码解析

    1 Arduino默认提供的两个方法 setup 方法 用于初始化 程序一开始 只运行一次 用于定于引脚为OUTPUT还是INPUT loop 方法 循环不停得执行 用于编写小车移动旋转等一直需要命令的代码 2 小车电机运动的核心方法 定于
  • ESP8266 NodeMCU 擦除闪存执行出厂重置

    在本教程中 我们将了解如何在 Windows Linux 和 MacOS 中使用 esptool py 命令行实用程序擦除 ESP8266 的闪存 并讨论为什么以及何时需要执行此操作 与任何电子设备一样 有时您可能需要将 ESP8266 重
  • 学校报名登记收缴费用小程序开发制作

    报名登记收缴费用小程序 适合培训机构 幼儿园 小学 高中 初中 大学等学校 报名登记小程序 微信扫码登记 手机端登记报名信息 数据发送至管理后台 管理员可查阅数据列表 完成了学生报名信息收集 审核 修改 复审 收费 等多项复杂功能 收费可以
  • 蜣螂优化(DBO)算法附MATLAB代码

    目录 一 蜣螂优化 DBO 算法灵感来源 二 蜣螂优化 DBO 算法设计 三 蜣螂优化 DBO 算法MATLAB部分代码 四 运行结果 蜣螂优化 Dung Beetle Optimizer DBO 算法是2022年11月27日提出的 大家可
  • Sentinel服务熔断和降级

    还记得我们前所说的服务降级吗 也就是说我们需要在整个微服务调用链路出现问题的时候 及时对服务进行降级 以防止问题进一步恶化 那么 各位是否有思考过 如果在某一时刻 服务B出现故障 可能就卡在那里了 而这时服务A依然有大量的请求 在调用服务B
  • 29. Divide Two Integers

    这题 Given two integers dividend and divisor divide two integers without using multiplication division and mod operator Re
  • UnityVR--机械臂场景5-记录角度自动旋转

    机械臂已经能够在示教模式下单步旋转了 下一步 我们可以将每个关节旋转的角度记录下来 让机械臂自动旋转到指定位置 1 在UI画布上增加两个按钮 recordButton和AutoButton 一个用来记录每个节点旋转的角度 另一个让机械臂自动
  • 【算法修炼】优先队列

    优先队列 一 最后一块石头的重量 简单 二 数组中两元素的最大乘积 简单 三 根据字符出现频率排序 中等 四 找到和最大的长度为k的子序列 简单 优先队列 也称为堆 Heap 它可以在保证队列的结构下 对队列的内部元素进行排序 可以按照某个
  • Windows上通过CMake编译COLMAP源码操作步骤

    COLMAP源码 https github com colmap colmap 最新的稳定版本位于master分支 最新的开发版本位于dev分支 这里使用master分支进行编译 commit id为1555ff0 官方推荐使用vs2019
  • 高速计数器学习

    S7 1200 CPU 提供了最多 6 个 1214C 高速计数器 其独立于 CPU 的扫描周期进行计数 可测量的单相脉冲频率最高为 100KHz 双相或 A B 相最高为 30KHz 除用来计数外还可用来进行频率测量 高速计数器可用于连接
  • LeetCode刷题复习

    内容参考CyC大佬的LeetCode复习指南 算法思想复习 在考虑更优解时 先从数据状况入手 一般C 1s可以运行 1 0 7 1 0 8 10 7 10 8 107 108次 看有何特点可以利用 如有序 回文 重复 推公式等 1 1双指针
  • spring boot 如何配置Logback

    在 Spring Boot 项目中 Logback 是默认的日志框架 要配置 Logback 你需要创建一个名为 logback spring xml 的配置文件并将其放在项目的 src main resources 目录下 以下是一个详细
  • Unity设置物体旋转角度误区

    小白欢迎评论 共同探讨 共同进步 第一篇Unity的博文 这篇很短 接下来会陆续更新笔记本上之前记得坑 在这里有一个小误区 一般新手都非常容易出的错误 设置物体位置我们都是给transform position赋值 那么问题来了 设置物体的
  • ubuntu 12.04新安装好后需要进行的包升级和清理工作

    根据这么多次的操作经验 我发现 ubuntu系统在新安装好后需要进行一些包的升级和清理工作 不然的话 后续安装各种软件都不顺畅 会出现各种各样的问题 需要进行的包升级和清理工作其实很简单 只需要执行以下两条命令即可 apt get f in
  • 视觉slam g2o 编译出现 Cmake Error:By not providing “FindG2O.cmake““G2OConfig.cmake“ in CMAKE_MODULE_PATH错误

    第一步 这时需要在cmakelist文件中更改几行代码 代码如下 将LIST APPEND CMAKE MODULE PATH PROJECT SOURCE DIR cmake list APPEND CMAKE MODULE PATH X
  • Datawhale 李宏毅机器学习 Task2

    一 回归的定义和举例 定义 Regression 就是找到一个函数 function 通过输入特征 x 输出一个数值 Scalar 举例 股市预测 输入 过去10年股票的变动 新闻咨询 公司并购咨询等 输出 预测明天股市的平均值 自动驾驶