机器学习基本概念简介:

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

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

写出一个带有未知参数的函数:
  • 比如,可以先写出 y=f(x)或是y=b+wx1
  • model:y=b+wx1
  • weight:w
  • bias:b
定义一个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
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一直降不下去的时候:

大模型参数设置Temperature_特征值

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

假设此时函数参数位于大模型参数设置Temperature_决策树_02,由泰勒级数,我们可以近似地表示出当参数位于大模型参数设置Temperature_决策树_02附近的大模型参数设置Temperature_决策树_04时函数的值:

大模型参数设置Temperature_大模型参数设置Temperature_05


里面的g是函数L在大模型参数设置Temperature_决策树_04处的梯度,是一个向量;里面的H表示一个Hessian Matrix,可以将其理解为在点大模型参数设置Temperature_决策树_04处的二阶导数:

大模型参数设置Temperature_机器学习_08


由于函数陷入的一点梯度为0,所以我们可以只关注后面的一项,式子可以表示为:

大模型参数设置Temperature_大模型参数设置Temperature_09


此时,我们将大模型参数设置Temperature_机器学习_10表示为v,可以得到下图这三种情况:

大模型参数设置Temperature_特征值_11

  1. 对于大模型参数设置Temperature_机器学习_12附近的所有大模型参数设置Temperature_决策树_13,都有大模型参数设置Temperature_决策树_14,也即矩阵H是一个正定矩阵:说明在大模型参数设置Temperature_决策树_13点上,函数L的值等于在点大模型参数设置Temperature_机器学习_12处的函数值加上一个正数,这个结果都会比在点大模型参数设置Temperature_机器学习_12处的值要大,即点大模型参数设置Temperature_机器学习_12是一个极小值点,Local minima
  2. 对于大模型参数设置Temperature_机器学习_12附近的所有大模型参数设置Temperature_决策树_13,都有大模型参数设置Temperature_python_21,也即矩阵H是一个负定矩阵:说明在大模型参数设置Temperature_决策树_13点上,函数L的值等于在点大模型参数设置Temperature_机器学习_12处的函数值加上一个正=负数,这个结果都会比在点大模型参数设置Temperature_机器学习_12处的值要小,即点大模型参数设置Temperature_机器学习_12是一个极大值点,Local maxima
  3. 对于大模型参数设置Temperature_机器学习_12附近的所有大模型参数设置Temperature_决策树_13,有些大模型参数设置Temperature_决策树_14,有些大模型参数设置Temperature_python_21:由以上两种情况可知,这种情况下在大模型参数设置Temperature_机器学习_12点周围有些地方高有些地方低,意味着这是一个Saddle point
  • 矩阵的正定可以计算特征值或是看各阶主子式是否全大于0,特征值全大于0说明是正定矩阵,小于0说明是负定矩阵;各阶主子式全大于0说明是正定矩阵