深度学习:Tensorflow实现线性回归梯度下降优化

简介: 深度学习:Tensorflow实现线性回归梯度下降优化

回顾

1、算法:线性回归


y = k x + b y = kx + by=kx+b


2、策略:均方误差


3、优化:梯度下降


步骤

1、准备好特征值和目标值


2、建立模型,随机初始化准备权重w和偏置b

d3.2.png


3、求损失函数,误差,均方误差

d3.2.png

4、梯度下降去优化损失过程,指定学习率

矩阵相乘

(m行,n列) * (n 行, 1列) = (m行, 1列) + 偏置

TensorFlow运算API

# 矩阵运算
tf.matmul(x, w)
# 平方
tf.square(error)
# 均值
tf.reduce_mean(error)

梯度下降API

tf.train.GradientDescentOptimizer(learning_rate)

参数:

learning_rate 学习率

方法:

minimize(loss)

return 梯度下降op

tips:模型参数必须用变量定义

代码实现

# -*- coding: utf-8 -*-
"""
实现一个线性回归预测
"""
import tensorflow as tf
# 1、准备数据,x 特征值[100, 1] y 目标值 [100]
x = tf.random_normal((100, 1), mean=1.75, stddev=0.5, name="x_data")
# 矩阵相乘必须是二维的
y_true = tf.matmul(x, [[0.7]]) + 0.8
# 2、建立线性回归模型 1个特征,1个权重,1个偏置 y = xw + b
# 随机给一个权重和偏置的值,让他们去计算损失,然后在当前状态下优化
# 用变量定义才能优化
weight = tf.Variable(tf.random_normal([1, 1], mean=0.0, stddev=1.0), name="weight")
bias = tf.Variable(0.0, name="bias")
y_predict = tf.matmul(x, weight) + bias
# 3、建立损失函数,均方误差
loss = tf.reduce_mean(tf.square(y_true - y_predict))
# 4、梯度下降优化损失,学习率learn_rate 0,1,2,3,5,7,10
train_op = tf.train.GradientDescentOptimizer(0.1).minimize(loss)
# 定义一个初始化变量的op
init_op = tf.global_variables_initializer()
# 通过会话运行程序
with tf.Session() as sess:
    # 初始化变量
    sess.run(init_op)
    # 打印随机最先初始化的权重和偏置
    print("初始化的参数权重:{}, 偏置:{}".format(weight.eval(), bias.eval()))
    # 运行优化
    for i in range(200):
        sess.run(train_op)
        print("第 {} 次优化 参数权重:{}, 偏置:{}".format(i, weight.eval(), bias.eval()))

计算结果

初始化的参数权重:[[0.313286]], 偏置:0.0
第 0 次优化 参数权重:[[0.86829025]], 偏置:0.2980913817882538
第 1 次优化 参数权重:[[0.9330569]], 偏置:0.3393169939517975
第 2 次优化 参数权重:[[0.9391256]], 偏置:0.34980931878089905
第 3 次优化 参数权重:[[0.9435929]], 偏置:0.35885265469551086
...
第 197 次优化 参数权重:[[0.7236507]], 偏置:0.7558320760726929
第 198 次优化 参数权重:[[0.7237728]], 偏置:0.7565979361534119
第 199 次优化 参数权重:[[0.72236484]], 偏置:0.7566843032836914

计算越多,计算结果越接近真实值

相关文章
|
2月前
|
人工智能 自然语言处理 TensorFlow
134_边缘推理:TensorFlow Lite - 优化移动端LLM部署技术详解与实战指南
在人工智能与移动计算深度融合的今天,将大语言模型(LLM)部署到移动端和边缘设备已成为行业发展的重要趋势。TensorFlow Lite作为专为移动和嵌入式设备优化的轻量级推理框架,为开发者提供了将复杂AI模型转换为高效、低功耗边缘计算解决方案的强大工具。随着移动设备硬件性能的不断提升和模型压缩技术的快速发展,2025年的移动端LLM部署已不再是遥远的愿景,而是正在成为现实的技术实践。
|
2月前
|
机器学习/深度学习 数据采集 人工智能
深度学习实战指南:从神经网络基础到模型优化的完整攻略
🌟 蒋星熠Jaxonic,AI探索者。深耕深度学习,从神经网络到Transformer,用代码践行智能革命。分享实战经验,助你构建CV、NLP模型,共赴二进制星辰大海。
|
机器学习/深度学习 数据采集 TensorFlow
使用Python实现智能食品加工优化的深度学习模型
使用Python实现智能食品加工优化的深度学习模型
540 59
|
机器学习/深度学习 数据采集 算法
深度学习之路径优化与车辆调度
基于深度学习的路径优化与车辆调度技术在交通管理、物流配送、公共交通、共享出行等领域具有重要应用价值。这些技术利用深度学习模型处理复杂的交通数据、实时信息以及用户需求,旨在提高运输效率、降低成本、减少拥堵并提升服务质量。
691 0
|
10月前
|
机器学习/深度学习 运维 资源调度
深度学习在资源利用率优化中的应用:让服务器更聪明
深度学习在资源利用率优化中的应用:让服务器更聪明
488 6
|
10月前
|
机器学习/深度学习 算法 PyTorch
从零开始深度学习:全连接层、损失函数与梯度下降的详尽指南
在深度学习的领域,全连接层、损失函数与梯度下降是三块重要的基石。如果你正在踏上深度学习的旅程,理解它们是迈向成功的第一步。这篇文章将从概念到代码、从基础到进阶,详细剖析这三个主题,帮助你从小白成长为能够解决实际问题的开发者。
|
机器学习/深度学习 人工智能 自然语言处理
深度学习中的优化算法及其应用
【10月更文挑战第8天】 本文将探讨深度学习中常用的优化算法,包括梯度下降法、Adam和RMSProp等,介绍这些算法的基本原理与应用场景。通过实例分析,帮助读者更好地理解和应用这些优化算法,提高深度学习模型的训练效率与性能。
906 63
|
机器学习/深度学习 数据采集 人工智能
探索人工智能中的深度学习模型优化策略
探索人工智能中的深度学习模型优化策略
517 13
|
机器学习/深度学习 数据采集 运维
使用 Python 实现深度学习模型:智能食品生产线优化
使用 Python 实现深度学习模型:智能食品生产线优化
253 13
|
机器学习/深度学习 数据采集 算法
深度学习中的模型优化策略
在深度学习的海洋中,模型优化是提升航船速度的关键。本文将探讨如何通过调整学习率、应用正则化技术以及利用先进的优化算法来提高深度学习模型的性能。我们将从简单的线性回归模型入手,逐步深入到复杂的卷积神经网络,展示如何在实践中应用这些优化策略,以期达到更好的泛化能力和计算效率。