TensorFlow:简单预测的单变量线性回归
单变量线性回归
标签是我们要预测的真实事物y,特征是指用于描述数据的输入变量xi
样本指数据的特定实例x,有标签样本具有{特征,标签},用于训练模型;无标签样本具有{特征,?},用于对新数据做出预测
模型可将样本映射到预测标签,由模型的内部参数定义,内部参数通过学习得到
具体到这里,参数就是 y=wx+b里的w和b,也叫权重和偏差?
在监督式学习中,机器学习算法通过以下方式构建模型:检查多个样本并尝试找出可最大限度的减少损失的模型。这一过程称为经验风险最小化
如何判断损失是多少呢?那就使用到损失函数。
损失函数有L1,L2。L1是绝对值,L2是均方误差MSE,那么2个场景做损失比较时会有L1一样,L2不一样的情况
其实是挺简单的东西,但是一概念化体系化了之后是不是觉得高大上了?
那么这个尝试的过程,可以采用什么样的方法比较有效呢?
梯度下降法,梯度是一个向量(矢量),表示某一函数在该点处的方向导数沿着该方向取得最大值,也就是更陡峭的方向。下降就是要反方向,沿着比较更不陡峭的方向走,这样方向对了,才能快速的到达到底部收敛。
那么方向确定了,节奏怎么控制呢,步调太慢天都黑了还没下到山脚,小心会被吓死;步调太快步子大了容易扯着蛋,也没有必要。这里的用学习率/步长来描述这个节奏,如果梯度是2.5,学习率是0.01,那下一个尝试的点是距离前一个点2.5*0.01=0.0025的位置。(梯度是固定的,还是每走一步都会变的呢?)
个人认为好的学习率,不应该是一个固定值,而应该是先大后小。也就是先大步快速的到达底部附近,再小步寻找最底部。
学习率是学习开始之前就设置的,叫超参数,这个是和参数不同的,参数是学习过程中学到的。
这里x轴是权重值w,y轴是损失。应该说这是一个很简单的例子,因为参数只考虑了权重值,当参数有数不清的个数的时候,就要变的相当的复杂了。
另外这个图像说是凸型,实际这是一个向上的U的形状,应该叫凹才对吧,要说凸,那也只是往地上凸。
- 点赞
- 收藏
- 关注作者
评论(0)