当前位置:网站首页>Windows 10 tensorflow (2) regression analysis of principles, deep learning framework (gradient descent method to solve regression parameters)
Windows 10 tensorflow (2) regression analysis of principles, deep learning framework (gradient descent method to solve regression parameters)
2020-11-06 01:22:00 【Elementary school students in IT field】
windows10 tensorflow( Two ) Regression analysis of principle and actual combat , Deep learning framework ( The gradient descent method is used to solve the regression parameters )
TF Data generation : Reference resources TF The data generated 12 Law
TF Basic principles and conceptual understanding : tensorflow( One )windows 10 64 Bit installation tensorflow1.4 And basic concept interpretation tf.global_variables_initializer
Model :
A simple linear regression y = W * x + b, use numpy Building complete regression data , And increase interference noise
import numpy as np
# Establish a linear regression equation of one variable y=0.1x1+0.3 , At the same time, a positive distribution deviation np.random.normal(0.0,0.03) For witnessing TF The algorithm of
num_points=1000
vectors_set=[]
for i in range(num_points):
x1=np.random.normal(loc=0.0,scale=0.66)
y1=x1*0.1+0.3+np.random.normal(0.0,0.03)
vectors_set.append([x1,y1])
x_data=[v[0] for v in vectors_set]
y_data=[v[1] for v in vectors_set]
Graphic display Data distribution results
import matplotlib.pyplot as plt
#https://www.cnblogs.com/zqiguoshang/p/5744563.html
##line_styles=['ro-','b^-','gs-','ro--','b^--','gs--'] #set line style
plt.plot(x_data,y_data,'ro',marker='^',c='blue',label='original_data')
plt.legend()
plt.show()

adopt TensorFlow The code finds the best parameters W And b, Make the input data of x_data, Generate output data y_data, In this case, there will be a straight line y_data=W*x_data+b. The reader knows W It will be close 0.1,b near 0.3, however TensorFlow Don't know , It needs to calculate the value itself . Therefore, the gradient descent method is used to solve the data iteratively
import tensorflow as tf
import math
# One 、 establish graph data
# Arbitrarily construct the parameters of a univariate regression equation W And b
W=tf.Variable(tf.random_uniform([1], minval=-1.0, maxval=1.0))
b=tf.Variable(tf.zeros([1]))
y=W*x_data+b
# Define the following minimum variance
#1. Define the minimum square root of error
loss=tf.reduce_mean(tf.square(y-y_data))
#2.learning_rate=0.5
optimizer=tf.train.GradientDescentOptimizer(learning_rate=0.5)
#3. Optimize the minimum
train=optimizer.minimize(loss)
# Two 、 Initialize variable
init=tf.global_variables_initializer()
# 3、 ... and 、 start-up graph
sess=tf.Session()
sess.run(init)
for step in range(8):
sess.run(train)
print("step={},sess.run=(W)={},sess.run(b)={}".format(step,sess.run(W),sess.run(b)))
Here's the iteration 8 Results of . Gradient is like a compass , Guiding us in the smallest direction . To calculate the gradient ,TensorFlow It will take the derivative of the wrong function , In our case , The algorithm needs to work on W and b Calculating partial derivatives , To indicate the direction of advance in each iteration .

The following is the visualization of each iteration :
#Graphic display
# print(sub_1+'41')
# Be careful : You can use commas for each parameter , Separate . The first parameter represents the number of rows in the subgraph ; The second parameter represents the number of columns in the row of images ; The third parameter represents the number of images in each row , From left to right , From top to next add .
plt.subplot(4,2,step+1)
plt.plot(x_data,y_data,'ro')
plt.plot(x_data,sess.run(W)*x_data+
sess.run(b),label=step)
plt.legend()
plt.show()

版权声明
本文为[Elementary school students in IT field]所创,转载请带上原文链接,感谢
边栏推荐
- The difference between Es5 class and ES6 class
- 快快使用ModelArts,零基礎小白也能玩轉AI!
- PN8162 20W PD快充芯片,PD快充充电器方案
- Listening to silent words: hand in hand teaching you sign language recognition with modelarts
- Vuejs development specification
- Not long after graduation, he earned 20000 yuan from private work!
- xmppmini 專案詳解:一步一步從原理跟我學實用 xmpp 技術開發 4.字串解碼祕笈與訊息包
- Python crawler actual combat details: crawling home of pictures
- Real time data synchronization scheme based on Flink SQL CDC
- 小程序入门到精通(二):了解小程序开发4个重要文件
猜你喜欢

钻石标准--Diamond Standard

阿里云Q2营收破纪录背后,云的打开方式正在重塑

Filecoin最新动态 完成重大升级 已实现四大项目进展!

一篇文章带你了解CSS3圆角知识

速看!互联网、电商离线大数据分析最佳实践!(附网盘链接)

Did you blog today?

Didi elasticsearch cluster cross version upgrade and platform reconfiguration

一篇文章带你了解CSS对齐方式

ES6学习笔记(五):轻松了解ES6的内置扩展对象

Can't be asked again! Reentrantlock source code, drawing a look together!
随机推荐
前端都应懂的入门基础-github基础
Network security engineer Demo: the original * * is to get your computer administrator rights! 【***】
xmppmini 專案詳解:一步一步從原理跟我學實用 xmpp 技術開發 4.字串解碼祕笈與訊息包
如何玩转sortablejs-vuedraggable实现表单嵌套拖拽功能
Python + appium automatic operation wechat is enough
Existence judgment in structured data
Character string and memory operation function in C language
6.5 request to view name translator (in-depth analysis of SSM and project practice)
Flink on paasta: yelp's new stream processing platform running on kubernetes
How long does it take you to work out an object-oriented programming interview question from Ali school?
Swagger 3.0 天天刷屏,真的香嗎?
10 easy to use automated testing tools
Every day we say we need to do performance optimization. What are we optimizing?
Save the file directly to Google drive and download it back ten times faster
(1) ASP.NET Introduction to core3.1 Ocelot
合约交易系统开发|智能合约交易平台搭建
Asp.Net Core learning notes: Introduction
在大规模 Kubernetes 集群上实现高 SLO 的方法
一篇文章带你了解CSS3圆角知识
至联云分享:IPFS/Filecoin值不值得投资?