李宏毅机器学习小笔记

机器学习基本概念简介:

  • 机器学习模型中的两类参数:
    • 模型参数(Parameter):
      • 需要从数据中学习和估计得到,称为模型参数(Parameter)—即模型本身的参数。比如,线性回归直线的加权系数(斜率)及其偏差项(截距)都是模型参数.
    • 超参数(hyperparameter):
      • 机器学习算法中的调优参数(tuning parameters),需要人为设定,称为超参数(Hyperparameter)。比如,正则化系数λ,决策树模型中树的深度,梯度下降法中的学习速率α,迭代次数epoch,批量大小batch-size,k近邻法中的k(最相近的点的个数),决策树模型中树的深度,等等

机器学习寻找函数的过程:

  1. 写出一个带有未知参数的函数:
    • 比如,可以先写出 y=f(x)或是y=b+wx1
    • model:y=b+wx1
    • weight:w
    • bias:b
  2. 定义一个loss:
    • Loss: L=1/n(e1+e2+…+en)
    • mean absolute error(MAE) e=|y-y’|
    • mean square error(MSE) e=(y-y’)^2
    • question:为什么loss的值会是负的:
      • answerloss是自己设定的,所以有可能会变成复数,比如设置为loss=|y-y‘|-100
  3. Optimization:
    • 找出使得L最小的一组w和b,记为w ,b**
      1. 随机选择一个初始的点w0
      2. 计算L关于w的导数、微分
      3. 使用梯度下降算法等更新w的值
        • 要设置learning rate学习率
        • hyperparameters:
          • 做机器学习时需要自己设定的东西(参数)

深度学习基本概念简介:

激活函数(Activation Function):
  • Sigmoid:
  • ReLU(Rectified Linear Unit):
    • c max(0,b+wx)
    • 2个ReLU可以合出一个hard Sigmoid
  • 这些Sigmoid或者ReLU叫做Neuron(神经元),很多的Neuron就叫做Neural Network,每一排Neuron叫做Layer(Hidden Layer),很多的Hidden Layer就叫做Deep,这一整套技术就叫做Deep Learning

当training data上的loss函数太大时,可能会有两个原因:

  1. Model Bias 太小
  2. Optimization Issue(没有选好优化方式)

当training data上的loss函数太小时:

  • 如果testing data上的loss函数也很小就刚好符合要求
  • 如果testing data上的loss函数比较大,就可能是发生了overfitting

当optimization时loss一直降不下去的时候:

在这里插入图片描述

  • 可能陷入了local minima
  • 可能陷入了 saddle point
  • 可能陷入了local maxima
  • 这些点的梯度gradient都是0,统称为critical point
那该怎么区分此时是在哪一点呢?

假设此时函数参数位于 θ \theta θ,由泰勒级数,我们可以近似地表示出当参数位于 θ \theta θ附近的 θ ′ \theta' θ时函数的值:
泰勒级数
里面的g是函数L在 θ ′ \theta' θ处的梯度,是一个向量;里面的H表示一个Hessian Matrix,可以将其理解为在点 θ ′ \theta' θ处的二阶导数:Hessian Matrix
由于函数陷入的一点梯度为0,所以我们可以只关注后面的一项,式子可以表示为:
忽略梯度值
此时,我们将 ( θ − θ ′ ) (\theta-\theta') (θθ)表示为v,可以得到下图这三种情况:
三种情况

  1. 对于 θ ′ \theta' θ附近的所有 θ \theta θ,都有 v T H v > 0 v^THv>0 vTHv>0,也即矩阵H是一个正定矩阵:说明在 θ \theta θ点上,函数L的值等于在点 θ ′ \theta' θ处的函数值加上一个正数,这个结果都会比在点 θ ′ \theta' θ处的值要大,即点 θ ′ \theta' θ是一个极小值点,Local minima
  2. 对于 θ ′ \theta' θ附近的所有 θ \theta θ,都有 v T H v < 0 v^THv<0 vTHv<0,也即矩阵H是一个负定矩阵:说明在 θ \theta θ点上,函数L的值等于在点 θ ′ \theta' θ处的函数值加上一个正=负数,这个结果都会比在点 θ ′ \theta' θ处的值要小,即点 θ ′ \theta' θ是一个极大值点,Local maxima
  3. 对于 θ ′ \theta' θ附近的所有 θ \theta θ,有些 v T H v > 0 v^THv>0 vTHv>0,有些 v T H v < 0 v^THv<0 vTHv<0:由以上两种情况可知,这种情况下在 θ ′ \theta' θ点周围有些地方高有些地方低,意味着这是一个Saddle point
  • 矩阵的正定可以计算特征值或是看各阶主子式是否全大于0,特征值全大于0说明是正定矩阵,小于0说明是负定矩阵;各阶主子式全大于0说明是正定矩阵
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值