深度学习: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模型,共赴二进制星辰大海。
|
12月前
|
机器学习/深度学习 人工智能 算法
猫狗宠物识别系统Python+TensorFlow+人工智能+深度学习+卷积网络算法
宠物识别系统使用Python和TensorFlow搭建卷积神经网络,基于37种常见猫狗数据集训练高精度模型,并保存为h5格式。通过Django框架搭建Web平台,用户上传宠物图片即可识别其名称,提供便捷的宠物识别服务。
970 55
|
10月前
|
机器学习/深度学习 运维 资源调度
深度学习在资源利用率优化中的应用:让服务器更聪明
深度学习在资源利用率优化中的应用:让服务器更聪明
450 6
|
10月前
|
机器学习/深度学习 算法 PyTorch
从零开始深度学习:全连接层、损失函数与梯度下降的详尽指南
在深度学习的领域,全连接层、损失函数与梯度下降是三块重要的基石。如果你正在踏上深度学习的旅程,理解它们是迈向成功的第一步。这篇文章将从概念到代码、从基础到进阶,详细剖析这三个主题,帮助你从小白成长为能够解决实际问题的开发者。
|
机器学习/深度学习 数据采集 人工智能
探索人工智能中的深度学习模型优化策略
探索人工智能中的深度学习模型优化策略
487 13
|
机器学习/深度学习 数据采集 运维
使用 Python 实现深度学习模型:智能食品生产线优化
使用 Python 实现深度学习模型:智能食品生产线优化
243 13
|
机器学习/深度学习 数据采集 算法
深度学习中的模型优化策略
在深度学习的海洋中,模型优化是提升航船速度的关键。本文将探讨如何通过调整学习率、应用正则化技术以及利用先进的优化算法来提高深度学习模型的性能。我们将从简单的线性回归模型入手,逐步深入到复杂的卷积神经网络,展示如何在实践中应用这些优化策略,以期达到更好的泛化能力和计算效率。
|
机器学习/深度学习 自然语言处理 语音技术
Python在深度学习领域的应用,重点讲解了神经网络的基础概念、基本结构、训练过程及优化技巧
本文介绍了Python在深度学习领域的应用,重点讲解了神经网络的基础概念、基本结构、训练过程及优化技巧,并通过TensorFlow和PyTorch等库展示了实现神经网络的具体示例,涵盖图像识别、语音识别等多个应用场景。
430 8
|
机器学习/深度学习 数据采集 供应链
使用Python实现智能食品供应链优化的深度学习模型
使用Python实现智能食品供应链优化的深度学习模型
205 8

热门文章

最新文章