跟我一起学习TensorFlow与深度学习(二)——房价分析实例

本文通过房价预测实例深入讲解TensorFlow的使用,涵盖优化器、损失函数、正则化和TensorBoard数据流图的可视化。讨论了线性回归、梯度下降,并提供实战代码,帮助理解模型训练过程。
摘要由CSDN通过智能技术生成

前言

大家好,再上一篇文章中,介绍了TensorFlow的基本架构与基础知识,相信大家已经对TensorFlow有了一定的了解。在这篇文章中我将使用一个房价预测的例子来带领大家熟悉TensorFlow的使用,优化器等学习算法相关概念以及TensorBoard可视化数据流图的应用。

1.优化器

1.1 损失函数

假设在线性回归问题中,我们有一个像这样的训练集,?代表了训练样本的数量,比如 ?=47。而我们的假设函数,也就是用来进行预测的函数,是这样的线性函数形式: ℎ?(?)=?0+?1x。接下来我们会引入一些术语我们现在要做的便是为我们的模型选择合适的参数 ?0 和 ?1,在简单的单变量线性回归问题中便是直线的斜率和在 ? 轴上的截距。我们选择的参数决定了我们得到的直线相对于我们的训练集的准确程度,模型所预测的值与训练集中实际值之间的差距(下图中蓝线所指)就是建模误差。
在这里插入图片描述
常见的损失函数有平方损失函数、交叉熵损失函数和指数损失函数。使用损失函数对训练样本求损失值,再累加求平均进可以得到模型的经验风险,f(x)关于训练集的平均损失就是模型的经验风险,形式如下:

R e m p = 1 N ∑ i = 1 N L ( f ( x i ; θ ) , y − i ) R_{emp} =\frac{1}{N}\sum_{i=1}^NL(f(x_i; \theta),y_{-i}) Remp=N1i=1NL(f(xi;θ),yi)

1.2正则化

我们要做的就是使损失函数尽可能地小,也就是使模型的经验风险尽可能小。然而,如果过度地追求训练数据上的低损失值,就遇到过拟合问题。训练集通常并不能完全代表真实场景的数据分布。当两者的分布不一致时,如果过分依赖训练集上的数据,面对新数据时就会无所适从,这时模型的泛化能力就会变差,这也可以被称为过拟合。如下图所示:
在这里插入图片描述
显示了模型训练的三种不同情况。在第一种情况下,由于模型过于简单,无法
刻画问题的趋势。第二个模型是比较合理的,它既不会过于关注训练数据中的噪音,又能够比较好地刻画问题的整体趋势。第三个模型就是过拟合了, 虽然第三个模型完美地划分了不同形状的点,但是这样的划分并不能很好地对未知数据做出判断,因为它过度拟合了训练数据中的噪音而忽视了问题的整体规律。
模型训练的目标是不断最小化经验风险。随着训练步数的增加,经验风险将逐渐降低,模型复杂度也将逐渐上升。为了降低过度训练可能造成的过拟合风险,可以引入专门用来度量模型复杂度的正则化项或惩罚项。常用的正则化项有L0、 L1和L2范数。因此,我们将模型最优化的目标替换为鲁棒性更好的结构风险最小化。如下所示,它由经验风险项和正则项两部分构成:
R s r m = m i n 1 N ∑ i = 1 N L ( f ( x i ; θ ) , y − i ) + λ J ( θ ) R_{srm} =min\frac{1}{N}\sum_{i=1}^NL(f(x_i; \theta),y_{-i})+\lambda J(\theta) Rsrm=minN1i=1NL(f(xi;θ),yi

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值