tensorflow的归一化与梯度下降

本文详细探讨了在TensorFlow中如何进行数据归一化以及如何应用梯度下降法优化线性回归模型。通过实例代码,解释了这两个关键步骤在深度学习模型训练过程中的作用和实现方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

代码:

# coding=utf-8
# By author MZ


import  numpy as np
from sklearn.datasets import load_boston
import tensorflow as tf
from sklearn.preprocessing import StandardScaler


## 从sklearn的数据集中拿出波士顿房价数据
boston = load_boston()
x=boston.data #获取数据集中的真实数据
y=boston.target #数据的标签
print(y.shape) # 打印下数据的shape
m,n = boston.data.shape
## numpy的.c_是combine,用来将两个矩阵进行相加(按列)
X = np.c_[np.ones((m, 1)), x]
## 使用sklearn中的StandardScaler类可以将数据按期属性(按列进行)减去其均值,并除以其方差。
## 得到的结果是,对于每个属性/每列来说所有数据都聚集在0附近,方差为1。
## 好处在于可以保存训练集中的参数(均值、方差)直接使用其对象转换测试集数据
## 对数据进行归一化后,梯度下降的速度会有明显的提升
scaler = StandardScaler().fit(X)
scaled_housing_data_plus_bias = scaler.transform(X)



## 定义两个常量,一个是x一个是y
X_true = tf.constant(scaled_housing_data_plus_bias, dtype=tf.float32, name="xx")
y_true = tf.constant(y, dtype=tf.float32, name="yy")

# tf.random_uniform类似于numpy的ranom.rand
theta=tf.Variable(tf.random_uniform([n + 1, 1],-1.0,1.0),name="theta")


y_hat=tf.matmul(X_true,theta,name="y_hat")
erro=y_hat-y_true
# print(y_
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值