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矩阵运算_二维矩阵求逆

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

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 数据结构:循环队列(C语言实现)[通俗易懂]

    数据结构:循环队列(C语言实现)[通俗易懂]生活中有很多队列的影子,比如打饭排队,买火车票排队问题等,可以说与时间相关的问题,一般都会涉及到队列问题;从生活中,可以抽象出队列的概念,队列就是一个能够实现“先进先出”的存储结构。队列分为链式队列和静态队列;静态队列一般用数组来实现,但此时的队列必须是循环队列,否则会造成巨大的内存浪费;链式队列是用链表来实现队列的。这里讲的是循环队列,首先我们必须明白下面几个问题一、循环队列的基础知识1

    2022年6月2日
    39
  • Log4net用法

    Log4net用法日记是我们在程序中经常用到的,故记于此首先要下载Log4net.dll官方网站:http://logging.apache.org/log4net/vs里创建一个c#控制台程序,在App.con

    2022年7月2日
    26
  • java转化为string_php有必要转java吗

    java转化为string_php有必要转java吗Stringdatas=“{key:value,key2:value2}”;JSONObjectjsonObject=JSONObject.parseObject(datas);1.上面的代码是把json字符串转化为json对象jsonObject.put(“key3″,”value3”);2.上面的代码对其进行赋值ObjectexO1=JSON.to…

    2022年8月23日
    11
  • SecureCRT中文乱码解决方法(6)

    SecureCRT中文乱码解决方法(6)1、重新查看会话,是否中文显示正常2、依然无法正常显示中文,可能是由于Linux系统中默认的字符编码非UTF8所致用root用户登录。输入cat/etc/sysconfig/i18n如果安装系统为中文系统,则修改【LANG=“zh_CN.UTF-8”】如果安装系统为英文系统,则修改【LANG=“en_US.UTF-8”】保存文件。断开SSH,重新登录。就正常了下面是修改…

    2022年7月17日
    20
  • VMI管理常见的业务场景(一)[通俗易懂]

    VMI管理常见的业务场景(一)[通俗易懂]VMI管理常见的业务场景(一)什么是VMI管理?和传统库存管理的差别VMI是供应商管理库存(VendorManagedInventory)的简称,为了界定清楚这个新的库存管理思想,需要弄明白它和传统库存管理的差别。传统库存管理是指对物料的收发存的业务管理,是各节点企业独立管理自有库存,最明显的缺点是容易存在库存管理的牛鞭效应、上下游企业利益对抗、合作与沟通困难等问题。VMI库存管理系统能够突破传统的条块分割的库存管理模式,VMI是一种在用户和供应商之间…

    2022年5月26日
    60
  • IPv4基础知识

    IPv4基础知识

    2021年4月14日
    155

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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