用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 ...
最新文章
- 如何定制一款12306抢票浏览器——用户界面
- 创业,你准备好了吗?
- 这是我看过最全的工业机器人知识介绍 !
- [20180818]校内模拟赛
- [C++]const 总结
- Python map, reduce, filter和sorted
- C++希尔密码Hill Cipher算法(附完整源码)
- oracle 约束 Oracle 10g学习系列(5)
- Spring Data JPA 从入门到精通~思维导图
- Java反射基础(二)--Fileds对象的使用
- linux touch 源码,一天一个shell命令 linux文本操作系列-touch命令用法
- java版本不兼容_java 中jdk版本不兼容的问题小记
- 快速搭建本地服务器 php,本地PHP服务器环境快速搭建
- Java【付诸实践 04】Jar包class文件反编译、修改、重新编译打包方法(含反编译工具jd-gui-windows-1.6.6.zip百度云资源)
- 小孟5w接了个盲盒小程序,三周开发完毕
- 笔记本合上盖子就断网怎么办?
- ios不能保存png_管理各种iOS设备文件的管理软件
- 电脑计算机打不开显示远程过程,Win10打不开图片提示“远程过程调用失败”的解决方案...
- Saas.为什么要搞Saas,会遇到哪些问题,看看5年Saas开发踩过的坑
- Unity自定义快捷键功能,支持动态改键(附工程文件)
热门文章
- 如何在IE浏览器中引入本地字体文件
- 调用Thread类的方法:public final String getName() 为什么得到的线程对象的名称默认是:Thread-0、Thread-1、Thread-2、...呢?...
- Exadata:Smart Scan(二) FAST FULL SCAN
- 病毒周报(100201至100207)
- 091030 T 焦点在外,框架API设计
- 2009年11月14日上海讲座-Linux触摸屏驱动PPT
- Ubuntu Linux系统备份与还原命令技巧
- qi接收启动协议_无线充电Qi通信协议分析
- 数据库习题(填空题五)
- html文本框自动填充,html利用文本框input自动填写当前日期