TensorFlow - 解释 梯度下降算法(gradient descent)

TensorFlow - 解释 梯度下降算法(gradient descent)

flyfish

给定训练数据集和损失函数,希望找到对应的 θ 使得损失函数 J(θ) 最小。

假设函数(hypothesis function)
用数学的方法描述自变量 x 和因变量 y 之间的关系
这里写图片描述
数据集(dataset)
样本(example):一个 feature 和对应的 label 数据构成一条样本(x,y)
y=2x
x可以比作feature
y可以比作label
数据集(dataset):所有样本一起构成一个数据集

损失函数(cost function)
用数学的方法衡量假设函数预测结果与真实值之间的“误差”
TensorFlow - 解释 梯度下降算法(gradient descent)_第1张图片
MSE(mean square error)均方差损失函数
所有标记数据的 模型预测结果和真实值的差值的平方 的均值

从数据中产生模型
模型的能力:
拟合:可以比较好的描述已有数据的映射关系(拟合fit).
预测:对未知数据有预测能力(泛化generalization).

原理
随机找一个 θ ,不停迭代
如果起始点在右侧,偏导部分是整数,θ 会变小
如果起始点在左侧,偏导部分是负数,θ 会变大
最后逼近最佳 θ
TensorFlow - 解释 梯度下降算法(gradient descent)_第2张图片
关键字:最佳线性逼近

最常见的方法是将导数定义为实数的差商的极限
实数变量的函数的导数测量(函数值)相对于其(参数)变化的敏感性(sensitivity)。
实数变量的函数的导数测量(输出值)相对于其(输入值)变化的敏感性(sensitivity)。
实数变量的函数的导数测量(y)相对于其(x)变化的敏感性(sensitivity)(y=2x)。

运动物体的位置相对于时间的导数是物体的速度:这测量物体的位置随时间的推移有多快。

当一个变量的函数存在时,它在选定的输入值处的一个函数的导数是切线在该点的函数图上的斜率。

切线是函数在输入值附近的最佳线性逼近。

导数常被描述为“瞬时变化率”,即因变量中瞬时变化与自变量瞬时变化的比率。

关键词:线性变换
导数在多个实变量的函数中的重新解析
导数可以推广到多个实变量的函数。在这个推广中,导数被重新解释为线性变换,其图(经过适当的翻译)是对原函数图的最佳线性逼近。

原函数的y=x^2
TensorFlow - 解释 梯度下降算法(gradient descent)_第3张图片

过(p,q点)切线方程是2p(x - p) + q
斜率是2

1(x - 0.5) + 0.25

2(x-1)+1

4(x-2)+4

6(x-3)+9
TensorFlow - 解释 梯度下降算法(gradient descent)_第4张图片

当非常多的点的切线画出来的时候,就能看到大概是什么样的函数图

你可能感兴趣的:(深度学习,TensorFlow)