• 李宏毅-机器学习和深度学习概念入门笔记1


    一、机器学习相关规定

    1.什么是机器学习:本质就是找一个函数
    2.深度学习:使用类神经网络
    在这里插入图片描述
    3.修课的先决条件:
    在这里插入图片描述

    二、机器学习的相关概念

    1.机器学习中的三个任务

    1.Regression:回归,找出一个函数来进行预测,输出一个数值
    2.Classification:分类问题,yes/no
    3.Structured learning:有结构性的学习,输出图片或者别的文件,让机器学会创造

    三、线性函数模型

    1.找线性函数一般的三个步骤
    • 第一步:先猜测一个带有未知参数的函数,如y=b+wx1;一般w叫做权重,b叫做偏差,x1是特征
    • 第二步:定义一个loss即损失函数,这个函数的输入就是b和w; 如 f=L(b,w),是一个参数方程
    • 在这里插入图片描述
      -在这里插入图片描述
      error surface误差曲线:可以枚举出很多的不同的参数,然后进行计算损失函数L,得到的等高线图叫做误差曲线。从而知道比较好的参数和Loss函数。
      在这里插入图片描述
    • 第三步:最优化optimization
      学习率:也是自己设定的,会影响更新的速度。它就是一种超参数:haperparameters,自己来设定的参数。
      梯度下降gradient descent
      假如现在的loss函数L只有一个参数w

    先选一个随机初始的w0
    对函数在随机初始值w0处进行求导
    选择一个学习率n,乘以这个导数值,然后进行更新
    不断的迭代更新直到停止
    停止的标志:可以自己设定更新多少次,也可以不断调整参数直到微分值为0,那么参数值不会继续更新;但是我们这时候找到的是局部最优解local minima而不是真正的全局最优global minima,即找到的是极值点而不是最值点。
    补:如下图所示是负梯度:梯度的负方向为函数值下降的最快的方向;负梯度方向不一定是负值,只是梯度的反方向
    在这里插入图片描述
    假如现在Loss函数有两个参数,那么也跟上面差不多。计算微分可以直接使用pytorch
    在这里插入图片描述
    如下图所示,是一个小的实例
    在这里插入图片描述
    总结三个步骤
    在这里插入图片描述
    如果希望预测更好,则可以根据领域的知识不断进行改进
    在这里插入图片描述

    四.简单线性模型及其推广原理

    1.线性模型及其推广原理(第一步具体做法)
    • 所有分段曲线(piecewise linear curves)= 常数(constant)+一段蓝色曲线

    在这里插入图片描述

    • 这条蓝色的分段函数可以用一条曲线来进行逼近,如下所示,可以叫做sigmoid函数 在这里插入图片描述

    • 如果改变各个参数的值,那么可以得到不同的曲线函数,然后进行叠加,就等得到任意的线性函数。

    • 在这里插入图片描述

    • 因此我们得到一个新的公式,在这里插入图片描述

    推导过程–当有多个特征的时候 假如xj是不同的天数的数值(j是特征个数),i表示sigmoid函数的个数。 用wij表示用第i个sigmoid里面乘以第j天(第j个特征)的权重。

    那么第i个sigmoid函数就等于第j天的x即xj乘以对应的权重再进行相加再加b。可以用ri来表示每个表达式。
    在这里插入图片描述

    • 把上述式子用向量来表示
    • 在这里插入图片描述
    • 在这里插入图片描述
    • 在这里插入图片描述
      合并之后的用线性代数的表达式如下所示:
      在这里插入图片描述
      在这里插入图片描述
    2. 简单线性模型及其推广原理(第二步具体做法)

    这里是引用

    3.最优化—找一组θ值使得loss最小

    在这里插入图片描述
    在这里插入图片描述
    另外一种处理方式,把整个数据集分成多批来进行
    在这里插入图片描述
    在这里插入图片描述

    单位斜坡函数(ReLU)
    两个reLU函数可以叠加成为一个hard sigmoid函数
    在这里插入图片描述
    激活函数:这里sigmoid和relu都是激活函数,relu比较好
    在这里插入图片描述
    可以做很多次来降低Loss,如下所示
    在这里插入图片描述
    神经元和神经网络
    在这里插入图片描述
    隐藏层和深度学习
    在这里插入图片描述
    为什么是叠的很深而不是叠的很胖?—后续解答

  • 相关阅读:
    【C++】类型转换
    【英语:基础高阶_经典外刊阅读】L7.阅读能力整合—长篇实战训练
    C#扩展桌面的处理
    【kafka实战】01 3分钟在Linux上安装kafka
    利用Linux中的iptables进行网络代理配置
    python-opencv图像傅里叶变换
    OpenAI 现已开始考虑自研 AI 芯片战略
    深度强化学习笔记
    Linux:基础IO(二.缓冲区、模拟一下缓冲区、详细讲解文件系统)
    面试题 Android 如何实现自定义View 固定帧率绘制
  • 原文地址:https://blog.csdn.net/weixin_44124248/article/details/126537885