tensorflow矩阵运算_二维矩阵求逆

tensorflow矩阵运算_二维矩阵求逆线性回归算法能表示为矩阵计算,Ax=b。这里要解决的是用矩阵x来求解系数。1.导入必要的编程库,初始化计算图,并生成数据。>>>importmatplotlib.pyplotasplt>>>importnumpyasnp>>>importtensorflowastf>>>sess=tf.Session…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

线性回归算法能表示为矩阵计算,Ax=b。这里要解决的是用矩阵x来求解系数。

1.导入必要的编程库,初始化计算图,并生成数据。

>>> import matplotlib.pyplot as plt
>>> import numpy as np
>>> import tensorflow as tf

>>> sess=tf.Session()

>>> x_vals=np.linspace(0,10,100)

>>> y_vals=x_vals+np.random.normal(0,1,100)

2.创建后续求逆方法所需的矩阵。创建A矩阵,其为矩阵x_vals_column和ones_column的合并。然后以矩阵y_vals创建b矩阵。

>>> x_vals_column=np.transpose(np.matrix(x_vals))
>>> ones_column=np.transpose(np.matrix(np.repeat(1,100)))

>>> A=np.column_stack((x_vals_column,ones_column))

>>> b=np.transpose(np.matrix(y_vals))

3.将A和b矩阵转换成张量

>>> A_tensor=tf.constant(A)

>>> b_tensor=tf.constant(b)

4.使用tf.matrix_inverse()方法求逆

>>> tA_A=tf.matmul(tf.transpose(A_tensor),A_tensor)
>>> tA_A_inv=tf.matrix_inverse(tA_A)
>>> product=tf.matmul(tA_A_inv,tf.transpose(A_tensor))
>>> solution=tf.matmul(product,b_tensor)

>>> solution_eval=sess.run(solution)

5.从解中抽取系数、斜率和y截距

>>> slope=solution_eval[0][0]
>>> y_intercept=solution_eval[1][0]
>>> print(‘slope:’+str(slope))
slope:0.9469285572619588
>>> print(‘y_intercept:’+str(y_intercept))
y_intercept:0.2053153160416511
>>> best_fit=[]
>>> for i in x_vals:
…   best_fit.append(slope*i+y_intercept)

>>> plt.plot(x_vals,y_vals,’o’,label=’Data’)
[<matplotlib.lines.Line2D object at 0x000001ED8EA34390>]
>>> plt.plot(x_vals,best_fit,’r-‘,label=’Best fit line’,linewidth=3)
[<matplotlib.lines.Line2D object at 0x000001ED8BF32FD0>]
>>> plt.legend(loc=’upper left’)
<matplotlib.legend.Legend object at 0x000001ED8EA34D68>

>>> plt.show()

tensorflow矩阵运算_二维矩阵求逆

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/171648.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 深度信念网络(Deep Belief Network)[通俗易懂]

    深度信念网络(DeepBeliefNetwork,DBN)由GeoffreyHinton在2006年提出。它是一种生成模型,通过训练其神经元间的权重,我们可以让整个神经网络按照最大概率来生成训练数据。我们不仅可以使用DBN识别特征、分类数据,还可以用它来生成数据。DBN由多层神经元构成,这些神经元又分为显性神经元和隐性神经元(以下简称显元和隐元)。显元用于接受输入,隐…

  • phpstorm 里能做git的命令行操作吗?

    phpstorm 里能做git的命令行操作吗?

    2021年10月17日
  • Kali 安装 Nessus 详细过程

    Kali 安装 Nessus 详细过程详细介绍在Kali中安装Nessus的详细过程步骤以及插件下载失败解决方法

    2022年10月19日
  • Using Automake and Autoconf「建议收藏」

    引用自:http://www.pigfoot.org/cc/devel/auto1/ MurrayCumming&lt;murrayc@usa.net&gt;ChenChih-Chia&lt;pigfoot@CDPA.nsysu.edu.tw&gt;May28,2005(Updated)Abstract在Unix底下,automake和au…

  • ASMX

    ASMX当Microsoft®.NETFramework第一次发布时,它引入了一个有突破性的Web服务框架,那就是ASMX。设计ASMX的目的在于尽可能地简化Web服务的开发过程,这样即使您不是XML专家,也可以创建并运行Web服务。ASMX是通过隐藏大多数基础XML和Web服务细节来实现这一点的。与强制开发人员直接处理SOAP信封和Web服务描述语言(W

  • Hmily 源码解析 (三) —— 高效异步任务框架的使用

    Hmily 源码解析 (三) —— 高效异步任务框架的使用目录这是hmily的一个核心,hmily之所以高效就是因为hmily把日志的存储维护操作及confirm,cancel的操作通过Disruptor的异步任务框架的方式执行。关于disruptor的原理如下,我没怎么研究过。后我主要分析hmily是如何使用Disruptor这个框架。高性能队列Disruptor的使用剖析Disruptor:为什么会这么快?(一)Ringbuffer的…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号