机器学习算法的数学解析与python实现—1.4机器学习的基本概念

1.常用函数
1.1假设函数(Hypothesis Function)
用H(x)表示,类似于泰坦尼克号上的锅炉,数据就是源源不断填入锅炉的燃料,锅炉带动机器运行使整个轮船前进。

1.2损失函数(Loss Function)
用L(x)表示,在机器学习中不是运行一次就能得到最终结果,而是一个不断逼近目标结果的迭代过程,损失函数就是用来衡量距离目标结果的远近。函数返回值越大,表明结果偏差就越大。

1.3成本函数(Cost Function)
用J(x)表示,成本函数与损失函数概念相近,只不过损失函数针对的是单个样本,而成本函数针对的是整个数据集,损失函数求得的总和就是成本函数,是一种包含关系。

1.4三个函数之间的关系
第一步,使用损失函数对每个样本计算它们的损失值,损失值之和为成本函数的损失值;
第二步,成本函数的损失值作为进一步优化的参考,完成对假设函数的参数调整;
第三步,参数调整完之后,重复第一步计算新的损失值,再重复第二步,依次循环直到求得最优解。

2.机器学习基本模式
梯度算法实验报告图2 假设函数产生的偏差驱动着机器学习模型不断优化

3.优化方法
优化方法是损失函数和假设函数之间的媒介,损失函数将损失值告诉优化方法,优化方法再告诉假设函数下一步调参策略。其中梯度下降算法是一种很好的优化方法。

梯度下降算法

梯度的意义:

  1. 在单变量的函数中,梯度就是函数的微分,即函数在某个点的切线的斜率;
  2. 在多变量函数中,梯度是一个向量,向量有方向,梯度的方向就指出了函数在某个点处上升最快的方向;
    那么,梯度的反方向就是函数在某个点处下降最快的方向,如果想要求最低点,一直沿着梯度的反方向走即可

梯度下降算法公式:
梯度算法实验报告
Θ1:下一个位置。
Θ0:当前所处的位置。
α:学习率或者步长,可以通过α来控制每一步走的距离,α不能太大也不能太小,太小的话,可能导致迟迟走不到最低点,太大的话,会导致错过最低点。
J是关于Θ的一个函数。
梯度前面要加一个负号表示反方向。

梯度下降算法代码

梯度算法实验报告
定义数据集和学习率
以矩阵向量的形式定义代价函数和代价函数的梯度

梯度算法实验报告
梯度下降迭代计算

运行结果:
梯度算法实验报告

拟合直线如图所示:
梯度算法实验报告

参考资料
[1]: https://www.jianshu.com/p/c7e642877b0e
[2]:https://weread.qq.com/web/reader/2c632ef071a486a92c60226kc9f326d018c9f0f895fb5e4

相关文章:

  • 2022-01-08
  • 2021-11-12
  • 2022-12-23
  • 2021-12-03
  • 2021-12-03
  • 2022-02-21
猜你喜欢
  • 2021-05-17
  • 2021-04-20
  • 2021-05-18
  • 2021-05-20
  • 2022-12-23
  • 2021-12-30
  • 2022-01-30
相关资源
相似解决方案