用Tensorflow求逆矩阵
线性回归算法能表示为矩阵计算,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求逆矩阵相关推荐
- python C++ 求逆矩阵库
python求逆矩阵库 https://numpy.org/ C++求逆矩阵库 http://eigen.tuxfamily.org/index.php?title=Main_Page
- 变换例题_用初等变换求逆矩阵的小小解释
在我们学习逆矩阵的过程中,肯定会遇到这样一种求逆矩阵的方法: 若A是一个n阶可逆矩阵, (虚竖线打不出,凑合着看吧!)这一过程中经历了一系列初等行变换,并且我们下结论说: 中的 就是A的逆矩阵! 按逻 ...
- 求逆矩阵计算器_991CN的矩阵运算
昨天的推文中说了一道二端口的题目,虚线中的大二端口由两个小二端口级联而成,在计算过程中,我们需要使用到矩阵的运算,昨天讲题的时候说会说一下用计算器进行矩阵运算,今天我们就来说一下. 其实在算电路的时候 ...
- numpy求逆矩阵_线性代数精华2——逆矩阵的推导过程
点击上方蓝字,和我一起学技术. 上一讲当中我们复习了行列式的内容,行列式只是开胃小菜,线性代数的大头还是矩阵. 矩阵的定义很简单,就是若干个数按照顺序排列在一起的数表.比如m * n个数,排成一个m ...
- 选主元的高斯-约旦(Gauss-Jordan)消元法解线性方程组/求逆矩阵
选主元的高斯-约当(Gauss-Jordan)消元法在很多地方都会用到,例如求一个矩阵的逆矩阵.解线性方程组(插一句:LM算法求解的一个步骤),等等.它的速度不是最快的,但是它非常稳定(来自网上的定义 ...
- matlab求逆矩阵_MPU6050姿态解算2-欧拉角amp;旋转矩阵
1 IMU姿态解算 IMU,即惯性测量单元,一般包含三轴陀螺仪与三轴加速度计.之前的文章 码农爱学习:MPU6050姿态解算方式1-DMPzhuanlan.zhihu.com 已将对MPU6050这 ...
- C语言 n*n矩阵求值及求逆矩阵
求出矩阵的值以及输出逆矩阵,英语不好,略拗口. 上代码: #include<stdio.h> #include<string.h> #include<math.h> ...
- 3.3 伴随矩阵法求逆矩阵
文章目录 逆矩阵定义 伴随矩阵 python实现 逆矩阵定义 逆矩阵指的是另一个矩阵和自己相乘会变成单位矩阵,符号是右上角一个 − 1 -1 −1,就是: A A − 1 = A − 1 A = ...
- 选主元的高斯-约当(Gauss-Jordan)消元法解线性方程组和求逆矩阵
选主元的高斯-约当(Gauss-Jordan)消元法在很多地方都会用到,例如求一个矩阵的逆矩阵.解线性方程组(插一句:LM算法求解的一个步骤),等等.它的速度不是最快的,但是它非常稳定(来自网上的定义 ...
- 用高斯约当法求逆矩阵A-1
原矩阵: 求. 用高斯约当法求逆矩阵. #include<iostream> #include<cstdio> #include<cs ...
最新文章
- 图像的泊松(Poisson)编辑、泊松融合完全详解
- 在ubuntu上安装samba实现与windows的文件共享
- 从钱龙数据中读取股票权息信息导入到数据库
- Linux学习之路01
- django-解决-修改过的模型类不能被正常迁移的解决办法
- Python入门--以主程序的方式运行,if __name__==‘__main__‘
- 全网首发:安装Python(或其他软件)出现0x80072f7d错误的解决办法
- 思岚科技RPlidar A3激光雷达ROS源码详解
- antd表单按钮验证置灰
- selenium:表单frame切换和句柄窗口切换
- 海森堡与他的矩阵力学分享者
- 2019上半年软件设计师 下午真题-简答题及免费答案(一)
- 生成目录_将word转换成PDF
- 一个优秀的国产ITSM软件应该有哪些特性?
- 一文总结经典卷积神经网络CNN模型
- includes的使用
- SqlServer邮件
- 阿里云ONS消息队列入门指南
- 浅谈www.baidu.com和baidu.com
- WPS操作时会留下历史记录如何关闭历史功能保护个人隐私
热门文章
- 请认真使用没有后悔药的parted分区工具
- ZTree async中文乱码,ZTree reAsyncChildNodes中文乱码,zTree中文乱码
- 【转帖】MATLAB中用FDATool设计滤波器及使用
- Install/Remove of the Service Denied
- java一个进程可以村多少个线程_一台 Java 服务器可以跑多少个线程?
- java jeditorpane 自动换行_java – JTextPane JScrollPane自动换行?
- python logger.debug_python处理logger日志
- mybatis 多表插入_CRUD_Operator-Mybatis
- cuda10安装_Mmdetection的安装和使用
- Day003 20210208