机器学习之线性回归使用Python和tensorflow实现
导入依赖包
import tensorflow as tf
import numpy as np
import matplotlib.pylab as plt
from pylab import mpl
mpl.rcParams['font.sans-serif'] = ['SimHei']
生成直线数据并加入噪音画图显示
train_x = np.linspace(-1, 1, 100) # 生成 -1 到 1之间 分成100份
# print(train_x)
noise = np.random.randn(*train_x.shape) * 0.3
train_y = 2 * train_x + noise # 给每一个点加上噪音
# print(noise)
plt.plot(train_x, train_y, "go", label="我的初始数据")
plt.legend()
plt.show()
定义模型的输入和输出
x = tf.placeholder("float")
y = tf.placeholder("float")
# 定义并初始化模型的权重偏置
w = tf.Variable(tf.random_normal([1]), name="weight")
b = tf.Variable(tf.zeros([1]), name="bias")
# 定义模型的前向传播过程
y_predict = tf.multiply(w, x) + b
定义模型的损失函数,反向传播
cost = tf.reduce_mean(tf.square(y - y_predict))
learning_rate = 0.01 # 定义学习率
optimizer = tf.train.GradientDescentOptimizer(learning_rate).minimize(cost) # 定义优化器
init = tf.global_variables_initializer()
定义超参数
train_epochs = 100
display_epoch = 2
训练模型
with tf.Session() as sess:
sess.run(init)
plotdata = {"epochs": [], "cost": []} # 保存训练得到的参数
for epoch in range(train_epochs):
for X, Y in zip(train_x, train_y):
sess.run(optimizer, feed_dict={x: X, y: Y})
if epoch % display_epoch == 0:
print("训练的epoch为:%d cost为:%f %f" % (epoch+1, sess.run(cost, feed_dict={x: train_x, y: train_y}), sess.run(b)))
plotdata["epochs"].append(epoch+1)
plotdata["cost"].append(sess.run(cost, feed_dict={x: train_x, y: train_y}))
print("训练完成")
print("模型训练的结果为: ", "w", sess.run(w), "b:", sess.run(b), "cost:",
sess.run(cost, feed_dict={x: train_x, y: train_y}))
画图显示
plt.plot(train_x, train_y, "go", label="我的初始数据")
plt.plot(train_x, sess.run(w) * train_x + sess.run(b), label='Fitted line')
plt.legend()
plt.show()
机器学习之线性回归使用Python和tensorflow实现的更多相关文章
- 机器学习之线性回归(纯python实现)][转]
本文转载自:https://juejin.im/post/5a924df16fb9a0634514d6e1 机器学习之线性回归(纯python实现) 线性回归是机器学习中最基本的一个算法,大部分算法都 ...
- 《转载》python/人工智能/Tensorflow/自然语言处理/计算机视觉/机器学习学习资源分享
本次分享一部分python/人工智能/Tensorflow/自然语言处理/计算机视觉/机器学习的学习资源,也是一些比较基础的,如果大家有看过网易云课堂的吴恩达的入门课程,在看这些视频还是一个很不错的提 ...
- 机器学习3- 一元线性回归+Python实现
目录 1. 线性模型 2. 线性回归 2.1 一元线性回归 3. 一元线性回归的Python实现 3.1 使用 stikit-learn 3.1.1 导入必要模块 3.1.2 使用 Pandas 加载 ...
- 机器学习4- 多元线性回归+Python实现
目录 1 多元线性回归 2 多元线性回归的Python实现 2.1 手动实现 2.1.1 导入必要模块 2.1.2 加载数据 2.1.3 计算系数 2.1.4 预测 2.2 使用 sklearn 1 ...
- 干货 | 请收下这份2018学习清单:150个最好的机器学习,NLP和Python教程
机器学习的发展可以追溯到1959年,有着丰富的历史.这个领域也正在以前所未有的速度进化.在之前的一篇文章中,我们讨论过为什么通用人工智能领域即将要爆发.有兴趣入坑ML的小伙伴不要拖延了,时不我待! 在 ...
- TensorFlow 学习笔记(1)----线性回归(linear regression)的TensorFlow实现
此系列将会每日持续更新,欢迎关注 线性回归(linear regression)的TensorFlow实现 #这里是基于python 3.7版本的TensorFlow TensorFlow是一个机器学 ...
- JavaScript机器学习之线性回归
译者按: AI时代,不会机器学习的JavaScript开发者不是好的前端工程师. 原文: Machine Learning with JavaScript : Part 1 译者: Fundebug ...
- 机器学习1—简介及Python机器学习环境搭建
简介 前置声明:本专栏的所有文章皆为本人学习时所做笔记而整理成篇,转载需授权且需注明文章来源,禁止商业用途,仅供学习交流.(欢迎大家提供宝贵的意见,共同进步) 正文: 机器学习,顾名思义,就是研究计算 ...
- 机器学习、NLP、Python和Math最好的150余个教程(建议收藏)
编辑 | MingMing 尽管机器学习的历史可以追溯到1959年,但目前,这个领域正以前所未有的速度发展.最近,我一直在网上寻找关于机器学习和NLP各方面的好资源,为了帮助到和我有相同需求的人,我整 ...
随机推荐
- Python学习--- requests库中文编码问题
为什么会有ISO-8859-1这样的字符集编码 requests会从服务器返回的响应头的 Content-Type 去获取字符集编码,如果content-type有charset字段那么request ...
- 【转】Java学习---Java的锁和Mysql的锁机制
[原文]https://www.toutiao.com/i6593861446428262916/ Java和数据库的锁机制 https://www.toutiao.com/i659386144642 ...
- linux 下获取文件最后几行
在Linux下,获取文件倒数几行的命令是: tail -n 10 your_filename #获取倒数10行
- Mysql学习第二天
Mysql语句执行 用户登录与管理 mysql -uroot -p -hlocalhost test # 指定登录test数据库 mysql -uroot -p -hlocalhost company ...
- HTML页面打印分页标签样式
<html> <head> <meta name="vs_targetSchema" content="http://schemas ...
- [CTSC2018]混合果汁
题目连接:https://www.luogu.org/problemnew/show/P4602 因为题中说是让最小值最大,所以自然想到二分答案.对于每一个二分的值,判断是否合法,若合法,在右区间二分 ...
- 转,敏感词过滤,PHP实现的Trie树
原文地址:http://blog.11034.org/2012-07/trie_in_php.html 项目需求,要做敏感词过滤,对于敏感词本身就是一个CRUD的模块很简单,比较麻烦的就是对各种输入的 ...
- C#中public与private与static
现在静下心来想要重新细致的过一遍C#,因为自己做C#没有底气,, 闲话少说 先来一句话 public(共有的) 声明的方法和属性,可以被外部调用. private(私有的) 声明的方法和属性,只能在本 ...
- php输出js到前端
echo "<script language='javascript'>";echo "alert('invalid user...');";ech ...
- 第12章 GPIO输入—按键检测
第12章 GPIO输入—按键检测 全套200集视频教程和1000页PDF教程请到秉火论坛下载:www.firebbs.cn 野火视频教程优酷观看网址:http://i.youku.com/fi ...