part1.基本介绍

1.机器学习的三个任务

一般情况下,我们在机器学习中有三个基本任务,分别是Regression Classification和Structured

Regression是计算数值解

而Classification则是求离散解(分类),也就是做选择题

Structured则是找一个结构,这种结构除了数据结构,还包括文字、绘画等广义的结构或者说某种意义上,让机器学习了之后创造一种东西出来

2.找函数三步骤

2.1写出一个带有为止参数的函数

也就是面对一些我们位置的问题,仙写出一个带有未知参数的函数,也就是先猜测一下我们要如何求这个问题的解,比如一下这个简单的线性函数:

这个猜测来自于作者对问题本质的了解,我们管这种带未知参数的函数为模型,也就是数学模型

2.2 定义Loss

第二部要定义一个Loss

这个所谓的Loss其实就是一个Function,输入的值就是我们定义的未知参数,在上述就是我们给定的b和w(参数,变量是x),这个Loss输出的值代表 现在如果我们把这一组未知的参数设定为某个值的时候,这个数值好还是差。

就像我们在计算一组数据的线性回归方程的时候,是不是会有一部分和实际上的值偏差?某种意义上来说,这个Loss函数就是在对这个偏差值的情况做出评价

这里我们可以把每个离散值的误差加起来然后求个平均(原文中引用的视频播放量作为参考,但我觉得这个比较好理解,就随便放张图了)

这种就是绝对差值叫MAE Mean Absolute error 还有就是把这个插值的平方算出来的,就叫Mean Square error,或者MSE,作业利用的MAR比较多

计算出来得到一个Error surface

2.3 优化

当然了,第三步就是优化问题,最佳化问题的结果,其实也就是我们要去找最好的w和b,让loss最小化

在这们课程里我们会用到的优化方式就只有梯度下降,现在我们简化一下,假设我们的未知参数只有一个,就是w

那当我们有不同的w,就会有不同的 loss,这时候我们的error surface就是一条曲线,如下图:

那我们要怎么去找这么一个w呢?

看着复杂,其实也就是跟着这条曲线的斜率变化去做调整:斜率为负,则向右找;斜率为正,就向左找

那每次走多少呢?这就涉及到一个调参了:

注:loss是自己定义的,所以可以是负的

当然这里老师也注意到了局部最优解的问题,其实我也想到了,就是如果只根据这个逼近“极小值”的方法,其实是找不到最小值的,这个确实是梯度下降方法的一个问题。下面是老师的一段那话:

现在我们回到之前的有两个参数的模型,也就是有w和b的那个,这时候我们如何梯度下降呢?

这个η就是我们定义的步长,或者说叫learning rate

其实由上可以看出,整个loss的收敛方向其实是朝着 多个维度进行的,并不是单指一个方向,当多个维度下的数据都有不同的方向时,其效应就像带有引力的洞一样,会将我们的点向最深不见底的洞吸引过去。

什么时候停下来?两种情况

1.一开始就设定好最多迭代多少次,设定好迭代次数

2.最好的情况就是直接找到了极小值 w' = 0,当然这个...

线性模型

以上三个步骤:定义模型,写出loss,优化参数这三个步骤合起来就被我们称作训练,当然了,这个训练是在我们知道答案的基础上进行的,但是这并不是我们想要的,某种意义上来说这只是对过去规律的总结,真正对于我们重要的是未来的发展,预知未来。

那我们来拿着数据来预测一下试试看

然后我们发现,真实的数据和我们预测的数据 还是有很大的差距的,实际的数据有一定的周期,周末看的人多,工作日看的人少,然后七天一个循环

那我们假设给定它一个这样的参数列表:

我们之前只考虑了一天,那我们最低的loss是0.58k的误差,其实这里计算出来的误差是0.33k,这两个数据至今的差距,就不言而喻了。

那我们考虑一个月,甚至考虑一年,又怎么样呢?我们管这种模型称作线性模型,之后会浅谈怎么把线性模型做得更好。

part2.基本介绍p2

当然了线性的模型当然是比较简单的,但是现实肯定不可能处处都有线性的模型

李宏毅机器学习笔记:从0到写AI的更多相关文章

  1. 【机器学习】李宏毅机器学习-Keras-Demo-神经网络手写数字识别与调参

    参考: 原视频:李宏毅机器学习-Keras-Demo 调参博文1:深度学习入门实践_十行搭建手写数字识别神经网络 调参博文2:手写数字识别---demo(有小错误) 代码链接: 编程环境: 操作系统: ...

  2. 李宏毅机器学习笔记5:CNN卷积神经网络

    李宏毅老师的机器学习课程和吴恩达老师的机器学习课程都是都是ML和DL非常好的入门资料,在YouTube.网易云课堂.B站都能观看到相应的课程视频,接下来这一系列的博客我都将记录老师上课的笔记以及自己对 ...

  3. 李宏毅机器学习笔记3:Classification、Logistic Regression

    李宏毅老师的机器学习课程和吴恩达老师的机器学习课程都是都是ML和DL非常好的入门资料,在YouTube.网易云课堂.B站都能观看到相应的课程视频,接下来这一系列的博客我都将记录老师上课的笔记以及自己对 ...

  4. 李宏毅机器学习笔记6:Why deep、Semi-supervised

    李宏毅老师的机器学习课程和吴恩达老师的机器学习课程都是都是ML和DL非常好的入门资料,在YouTube.网易云课堂.B站都能观看到相应的课程视频,接下来这一系列的博客我都将记录老师上课的笔记以及自己对 ...

  5. 李宏毅机器学习笔记4:Brief Introduction of Deep Learning、Backpropagation(后向传播算法)

    李宏毅老师的机器学习课程和吴恩达老师的机器学习课程都是都是ML和DL非常好的入门资料,在YouTube.网易云课堂.B站都能观看到相应的课程视频,接下来这一系列的博客我都将记录老师上课的笔记以及自己对 ...

  6. 李宏毅机器学习笔记2:Gradient Descent(附带详细的原理推导过程)

    李宏毅老师的机器学习课程和吴恩达老师的机器学习课程都是都是ML和DL非常好的入门资料,在YouTube.网易云课堂.B站都能观看到相应的课程视频,接下来这一系列的博客我都将记录老师上课的笔记以及自己对 ...

  7. 李宏毅机器学习笔记1:Regression、Error

    李宏毅老师的机器学习课程和吴恩达老师的机器学习课程都是都是ML和DL非常好的入门资料,在YouTube.网易云课堂.B站都能观看到相应的课程视频,接下来这一系列的博客我都将记录老师上课的笔记以及自己对 ...

  8. 【ML入门】李宏毅机器学习笔记01-Learning Map

    版权声明:小博主水平有限,希望大家多多指导.本文仅代表作者本人观点,转载请联系知乎原作者——BG大龍. 目录 1 什么是机器学习? 2 机器学习的3个步骤 3 李宏毅老师的机器学习课程 4 按“模型的 ...

  9. 李宏毅机器学习笔记——新手感悟——PM2.5作业

    python也不会,计算机也不会,啥都不会,只带了个脑子考了计算机研究生.研究生选了人工智能方向.看来注定是漫长的学习之旅. PM2.5作业,我是一个字都看不懂.所以我采用了直接看答案的方案.把答案看 ...

  10. VCS使用学习笔记(0)——写在前面的话

    由于毕业设计做的是数字IC相关,虽然不是纯设计,但是也有设计相关.有设计就要有仿真验证,我就趁此机会来学习一下VCS的使用吧.当然,这里只是学习其简单的逻辑仿真功能,从波形仿真到覆盖率等,基本上不涉其 ...

随机推荐

  1. Windows上Navicat工具远程连接PostgreSQL数据库

    首先,在pgdata(也就是在安装pg时指定的存放数据的文件见中)文件夹中,找到pg_hba.conf文件,在文件最后写入下面的内容: host all all 0.0.0.0/0 trust 接着, ...

  2. [笔记] 二维FFT

    假设现在有2个矩阵a和b,分别是n行m列和x行y列,现在你要计算它们的二维卷积,也就是求出矩阵s满足: \(s_{i,j}=\sum_{i'\leq i,j'\leq j}a_{i',j'}b_{i- ...

  3. Skywalking Swck Agent注入实现分析

    项目地址: GitHub - apache/skywalking-swck: Apache SkyWalking Cloud on Kubernetes 项目简介: A bridge project ...

  4. 我说HashMap初始容量是16,面试官让我回去等通知

    众所周知HashMap是工作和面试中最常遇到的数据类型,但很多人对HashMap的知识止步于会用的程度,对它的底层实现原理一知半解,了解过很多HashMap的知识点,却都是散乱不成体系,今天一灯带你一 ...

  5. asp.net core web 解决方案多项目模板制作打包总结

    一.文件夹\项目结构 1.1.文件夹 net6.0:针对.net 6.0 项目模板 net6.0pack:针对net6.0打包 1.2.项目结构 Web\WebApi多项目.各层项目.单元测试项目 目 ...

  6. 【ps下载与安装】Adobe Photoshop 2022 for Mac v23.5 中文永久版下载 Ps图像编辑软件

    Adobe Photoshop 2022 mac破解版,是一款Ps图像编辑软件,同时支持M1/M2芯片和Intel芯片安装,此主要的更新包括多个新增和改进的功能,例如改进的对象选择工具,其悬停功能可预 ...

  7. faker

    faker是一个生成伪造数据的Python第三方库,可以伪造城市,姓名,文班等各自信息,而且支持中文   安装 pip3 install faker   使用 # 导包 from faker impo ...

  8. 9.为url添加可选的后缀

    为url添加可选的后缀 在drf的机制中,响应数据的格式不再与单一内容类型连接,可以同时享有json格式或html格式,我们可以为api路径添加格式后缀的支持,使用格式后缀给我们明确指定了给定格式的u ...

  9. git 多个commit 如何合并

    git 多个commit 如何合并 本篇主要介绍一下 git 中多个commit 如何合并, 因为commit 太多 会导致提交记录混乱, 所以有时候会把多个commit 合并成一个 保持提交记录干净 ...

  10. .Net Core&RabbitMQ限制循环消费

    前言 当消费者端接收消息处理业务时,如果出现异常或是拒收消息将消息又变更为等待投递再次推送给消费者,这样一来,则形成循环的条件. 循环场景 生产者发送100条消息到RabbitMQ中,消费者设定读取到 ...