当前位置:网站首页>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]所创,转载请带上原文链接,感谢
边栏推荐
- 快快使用ModelArts,零基础小白也能玩转AI!
- Network programming NiO: Bio and NiO
- 华为云“四个可靠”的方法论
- Can't be asked again! Reentrantlock source code, drawing a look together!
- ipfs正舵者Filecoin落地正当时 FIL币价格破千来了
- html
- 阿里云Q2营收破纪录背后,云的打开方式正在重塑
- Vuejs development specification
- Listening to silent words: hand in hand teaching you sign language recognition with modelarts
- 6.1.2 handlermapping mapping processor (2) (in-depth analysis of SSM and project practice)
猜你喜欢
How to demote a domain controller in Windows Server 2012 and later
阿里云Q2营收破纪录背后,云的打开方式正在重塑
Python自动化测试学习哪些知识?
合约交易系统开发|智能合约交易平台搭建
数据产品不就是报表吗?大错特错!这分类里有大学问
100元扫货阿里云是怎样的体验?
PN8162 20W PD快充芯片,PD快充充电器方案
中国提出的AI方法影响越来越大,天大等从大量文献中挖掘AI发展规律
I think it is necessary to write a general idempotent component
TRON智能钱包PHP开发包【零TRX归集】
随机推荐
Grouping operation aligned with specified datum
速看!互联网、电商离线大数据分析最佳实践!(附网盘链接)
一篇文章带你了解CSS对齐方式
(2)ASP.NET Core3.1 Ocelot路由
加速「全民直播」洪流,如何攻克延时、卡顿、高并发难题?
[event center azure event hub] interpretation of error information found in event hub logs
Filecoin主网上线以来Filecoin矿机扇区密封到底是什么意思
Keyboard entry lottery random draw
人工智能学什么课程?它将替代人类工作?
Vue 3 responsive Foundation
Network security engineer Demo: the original * * is to get your computer administrator rights! 【***】
Network programming NiO: Bio and NiO
What problems can clean architecture solve? - jbogard
6.1.1 handlermapping mapping processor (1) (in-depth analysis of SSM and project practice)
Arrangement of basic knowledge points
JVM memory area and garbage collection
教你轻松搞懂vue-codemirror的基本用法:主要实现代码编辑、验证提示、代码格式化
hadoop 命令总结
合约交易系统开发|智能合约交易平台搭建
带你学习ES5中新增的方法