案例:自实现线性回归|学习笔记

简介: 快速学习案例:自实现线性回归

开发者学堂课程【深度学习框架 TensorFlow 入门案例:自实现线性回归学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/773/detail/13546


案例:自实现线性回归


内容介绍:  

一、线性回归原理复习

二、案例:实现线性回归的训练

三、代码部分  


一、线性回归原理复习

1.构建模型

y=w1x1+W2x2+...+wnxn+b

2.构造损失函数

均方误差

3.优化损失

梯度下降


二、实现线性回归的训练

准备真实数据

100样本

x 特征值形状(100。 1)

y_ .true 目标值(100, 1)

y_ .true = 0.8x + 0.7

假定 x 和 y 之间的关系满足

y=kx+b

k ≈ 0.8  b≈ 0.7

流程分析:

(100,1) * (1, 1) = (100, 1)

y_ predict = x * weights(1, 1) + bias(1, 1)

1.构建模型

y_predict = tf.matmul(x,weights) + bias

2.构造损失函数

error = tf.reduce.mean(tf.square(y_predict - y_true))

3.优化损失

optimizer=tf.train.GradientDescentOptimizer(learning_rate=0.01).minimize(error)


三、代码部分

def linear_ regression():

"""自实现一个线性回归

:return:

"""

# 1)准备数据

X = tf.random_normal(shape= [100,1])

y_true= tf.matmul(X,[[0.8]]) + 0.7

# 2)构造模型

#定义模型参数用变量

weights = tf. Variable(initial_value=tf.random_normal( shape=[1, 1]))

bias = tf.Variable(initial_value=tf.random_normal(shape= [1, 1] )

y_predict = tf.matmul(X, weights)+bias

# 3)构造损失函数

error = tf. reduce_mean(tf,square(y_predict-y_true))

# 4)优化损失

optimizer = tf.train. GradientDescentoptimizer(Learning_rate=0.01) .mininize(error)

#显式地初始化变量

init = tf.global_variables_ initializer()

# 开启会话

with tf.Session() as sess:

   # 初始化变量

   sess.run(init)

   # 查看初始化模型参数之后的值

   print("训练前模型参数为:权重%f,偏置%f,损失为%f" % (weights.eval(), bias.eval(), error.eval())

   # 开始训练

   for i in range(1000):

       sess.run(optimizer)

       print("第%d次训练后模型参数为:权重%f,偏置%f, 损失为%f"%(1 + 1, weights.eval(), bias.eval(), error.eval()))

   return None

相关文章
|
5月前
|
数据可视化 数据挖掘
【数据挖掘】多项式回归原理介绍及实战应用(超详细 附源码)
【数据挖掘】多项式回归原理介绍及实战应用(超详细 附源码)
202 1
|
5月前
【R语言实战】——Logistic回归模型
【R语言实战】——Logistic回归模型
|
5月前
|
数据可视化 算法
【R语言实战】——kNN和朴素贝叶斯方法实战
【R语言实战】——kNN和朴素贝叶斯方法实战
|
5月前
|
数据挖掘
【数据挖掘】Lasso回归原理讲解及实战应用(超详细 附源码)
【数据挖掘】Lasso回归原理讲解及实战应用(超详细 附源码)
741 0
|
11月前
|
机器学习/深度学习 数据采集 算法
r语言机器学习逻辑回归代码实战 结果分析和折线图
r语言机器学习逻辑回归代码实战 结果分析和折线图
102 1
|
12月前
|
机器学习/深度学习 数据采集 存储
实战线性回归模型
实战线性回归模型
62 0
|
机器学习/深度学习 监控 算法
机器学习测试笔记(12)——线性回归方法(下)
机器学习测试笔记(12)——线性回归方法(下)
109 0
机器学习测试笔记(12)——线性回归方法(下)
|
机器学习/深度学习 监控 算法
机器学习测试笔记(11)——线性回归方法(上)
机器学习测试笔记(11)——线性回归方法(上)
305 0
机器学习测试笔记(11)——线性回归方法(上)
|
机器学习/深度学习 存储 算法
机器学习测试笔记(17)——线性回归函数(上)
机器学习测试笔记(17)——线性回归函数(上)
88 0
|
机器学习/深度学习 存储 监控
机器学习测试笔记(17)——线性回归函数(下)
机器学习测试笔记(17)——线性回归函数(下)
130 0