线性代数 - 应该学啥 以及哪些可以交给计算机

        AI很热,所以小伙伴们不免要温故知新旧时噩梦 - 线代。

        (十几年前,还有一个逼着大家梦回课堂的风口,图形学。)

        这个真的不是什么美好的回忆,且不说老师的口音,也不说教材的云山雾绕,单单是求解这件事情,你直接用python的numpy的lin-alg来做,它不香吗?

        (matlab其实更好,还可以看动画,不过动辄几十个G,然后价格/破解也劝退,非专业选手装属实蛋疼,国内专业选手还在被禁止使用)

        掰着手指头数一数,最烦的几种题型,其实都是可以一行搞定的 - 

        行列式计算 秩的计算 - 

det = numpy.linalg.det(a)
rank = numpy.linalg.rank(a)

        向量点乘 叉乘 - 

#内积 面积
muti_dot = numpy.dot(b, a)
#外积 法向量
muti_cross = numpy.cross(b, a)

        矩阵求逆 - 

inv = numpy.inv(a)

        特征根与特征向量 - 

x1,x2 = numpy.linalg.eig(a)

        还免费附赠求解方程 - 

x = numpy.linalg.solve(A, b)

        数学学习,最核心的是理解定义。最可惜的是教材上的所有重要的定义,几乎不是给正常地球人看的,不说是线性无关,至少也是驴唇不对马嘴。对于智商摸到天顶星的大神当然是无所谓,因为你把教材上的公式留下就够了,但是对于我等资质平庸者,那就是天坑,一见误终身那种。

        拜托,一个工科生,学的目的不就是,3种分解拆吧拆吧,然后理解/优化算法?

#奇异值分解 对角阵
u,sigma,v = numpy.linalg.svd(A)#QR分解 正规正交阵-上三角阵
q,r = numpy.linalg.qr(A)#LU分解/Cholesky分解 下三角阵-上三角阵
l = numpy.linalg.cholesky(A)

        线代学习中,我认为最核心最提纲挈领的几个点 - 

        第一个,数组(行m),向量(列n),与矩阵(mxn)的关系,其实一个式子就够(矩阵和向量相乘,也就是我们常见的解方程组的样式) (借用神图)- 

        额,这个图目的不是,计算机可以用它来解方程了!当然,用计算机解方程这点也很重要。

        画重点!线性变换的概念就是从这里面出来的。对于矩阵A,用一个n维的向量x乘它,就是对于这个矩阵本身的线性变换。也是从这里,线性代数被引入了工程。

        第二个,矩阵分块和零矩阵。所有变换技巧的基础,就是适当分块,然后构造零子矩阵。各路大神们按照自己的需要和喜欢,整出了不同的分解方法,用来算相关性,推荐歌曲和商品,算pagerank,预测概率,等等等等等。比如,存入计算机的数据是稀疏矩阵,如果不把这些0踢出来,未经优化的数据直接参与运算,强如老黄的GPU,也得直接算的冒烟冒火吐了跪了。比如,不同的技巧对应不同的算法,同一个问题,算法的复杂度,区别天渊。

        第三个,对角阵。这个是理解维数,坐标的基础,并且进一步可以扩张向量空间。

        当然,对于科班生,每一个看似自然的定理,弄清背后的证明花的时间都远超前面这些。

        统计是数据,图像是数据,海量的数据只能交给计算机,计算机理解相关性,唯一的方式就是靠矩阵(填格子得到)和线性代数。这也就从另一个方面说明了,IT的风口为啥总是要大家温书。假如十年后再来一个风口,大概率大家还是要一脑袋往线代上扎!

PS - 如果觉得不好,请告诉作者改进;如果觉得好,请推荐给你的小伙伴。

        

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/290012.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

win10微软拼音输入法 - bug - 在PATH变量为空的情况下,无法输入中文

文章目录 win10微软拼音输入法 - bug - 在PATH变量为空的情况下,无法输入中文概述笔记实验前提条件100%可以重现 - 无法使用win10拼音输入法输入中文替代的输入法软件备注END win10微软拼音输入法 - bug - 在PATH变量为空的情况下,无法输入中文 概述 在…

linux 内存介绍

大致共有四类:VSS、RSS、PSS、USS ,通常情况下,VSS > RSS > PSS > USS 1.VSS(Virtual Set Size)虚拟耗用内存(包含共享库占用的内存) VSS表示一个进程可访问的全部内存地址空间的大小。这个大小包括了进程已…

Linux:Jenkins:参数化版本回滚(6)

上几章我讲到了自动集成和部署 Linux:Jenkins全自动持续集成持续部署(4)-CSDN博客https://blog.csdn.net/w14768855/article/details/136977106 当我们觉得这个页面不行的时候,需要进行版本回滚,回滚方法我这里准备了…

Memcached非关系型数据库介绍

使用背景 Memcached 不是一个数据库,而是一个高性能的分布式内存对象缓存系统。它主要用于减轻数据库负载,提高动态Web应用的速度、可扩展性和性能。Memcached 的工作原理是将数据存储在内存中,以提供快速的数据访问。当应用程序需要访问数据…

基于springboot+vue+Mysql的家政服务管理平台

开发语言:Java框架:springbootJDK版本:JDK1.8服务器:tomcat7数据库:mysql 5.7(一定要5.7版本)数据库工具:Navicat11开发软件:eclipse/myeclipse/ideaMaven包:…

Rabbitmq消息顺序的问题以及解决方案

1.1消息顺序的场景 场景1:一个queue,多个consumer 一个queue,有多个consumer去消费,这样就会造成顺序的错误,consumer从MQ里面读取数据是有序的,但是每个consumer的执行时间是不固定的,无法保…

第二十一章 Jquery ajax

文章目录 1. jquery下载2. jquery的使用3. jquery页面加载完毕执行4. jquery属性控制6. 遍历器 2. ajax1. 准备后台服务器2. ajax发送get请求3. ajax发送post请求 1. jquery下载 点击下载 稳定版本1.9 2. jquery的使用 存放到html文件的同级目录 3. jquery页面加载完毕执行…

论文《Exploring to Prompt for Vision-Language Models》阅读

论文《Exploring to Prompt for Vision-Language Models》阅读 论文概况论文动机(Intro)MethodologyPreliminaryCoOp[CLASS]位置Context 是否跨 class 共享表示和训练 ExperimentsOverall ComparisonDomain GeneralizationContext Length (M) 和 backbon…

【C语言】linux内核tcp_push函数

一、讲解 这个 tcp_push 函数是在Linux内核的TCP网络栈实现中,用于推动TCP缓冲区中待发送数据包的传输。这段代码需要在具备操作系统和网络编程知识背景下来解释。下面我将分步骤用中文逐一讲解这个函数的作用: 1. struct tcp_sock *tp tcp_sk(sk);&am…

Docker搭建LNMP环境实战(07):安装nginx

1、模拟应用场景描述 假设我要搭建一个站点,假设虚拟的域名为:api.test.site,利用docker实现nginxphp-fpmmariadb部署。 2、目录结构 2.1、dockers根目录 由于目前的安装是基于Win10VMWareCentOS虚拟机,同时已经安装了VMWareT…

冒泡排序(六大排序)

冒泡排序 冒泡排序的特性总结: 1. 冒泡排序是一种非常容易理解的排序 2. 时间复杂度:O(N^2) 3. 空间复杂度:O(1) 4. 稳定性:稳定 动图分析: 代码实现: Swap(int*p1,int*p2) {int tmp *p1;*p1*p2…

网络稳定性(蓝桥省赛)

0网络稳定性 - 蓝桥云课 (lanqiao.cn) 知识点&#xff1a;克鲁斯卡尔生成树&#xff0c;lca&#xff0c;倍增 最小生成树的模板&#xff1a;最小生成树【模板】-CSDN博客 题解代码如下&#xff1a; #include<bits/stdc.h> using namespace std; const int N3e5100; co…

ssh 公私钥(github)

一、生成ssh公私钥 生成自定义名称的SSH公钥和私钥对&#xff0c;需要使用ssh-keygen命令&#xff0c;这是大多数Linux和Unix系统自带的标准工具。下面&#xff0c;简单展示如何使用ssh-keygen命令来生成具有自定义名称的SSH密钥对。 步骤 1: 打开终端 首先&#xff0c;打开我…

用Kimichat快速识别出图片中的表格保存到Excel

如果有一张图片格式的表格&#xff0c;想要快速复制到Excel表格中&#xff0c;那么一般要借助于OCR工具。之前试过不少在线OCR工具&#xff0c;识别效果差强人意。其实&#xff0c;kimichat就可以非常好的完成这个任务。 下面是一张研报中的表格&#xff0c;只能以图片形式保存…

RTOS线程切换的过程和原理

0 前言 RTOS中最重要的一个概念就是线程&#xff0c;线程的按需切换能够满足RTOS的实时性要求&#xff0c;同时能将复杂的需求分解成一个个线程执行减轻我们开发负担。 本文从栈的角度出发&#xff0c;详细介绍RTOS线程切换的过程和原理。 注&#xff1a;本文参考的RTOS是RT-T…

DataX-Oracle新增writeMode支持update

目录 前言 第一步下载源码 第二步修改源码 1、Oraclewriter 2、WriterUtil 2.1、修改getWriteTemplate方法 2.2、新增onMergeIntoDoString与getStrings方法 3、CommonRdbmsWriter 3.1、修改startWriteWithConnection 3.2、修改doBatchInsert 3.3、修改fillPreparedStatem…

单例模式如何保证实例的唯一性

前言 什么是单例模式 指一个类只有一个实例&#xff0c;且该类能自行创建这个实例的一种创建型设计模式。使用目的&#xff1a;确保在整个系统中只能出现类的一个实例&#xff0c;即一个类只有一个对象。对于频繁使用的对象&#xff0c;“忽略”创建时的开销。特点&#xff1a…

zedboard+AD9361 运行 open WiFi

先到github上下载img&#xff0c;网页链接如下&#xff1a; https://github.com/open-sdr/openwifi?tabreadme-ov-file 打开网页后下载 openwifi img 用win32 Disk lmager 把文件写入到SD卡中&#xff0c;这一步操作会把SD卡重新清空&#xff0c;注意保存数据。这个软件我会…

基于SpringBoot和Vue的在线视频教育平台的设计与实现

今天要和大家聊的是一款基于SpringBoot和Vue的在线视频教育平台的设计与实现 &#xff01;&#xff01;&#xff01; 有需要的小伙伴可以通过文章末尾名片咨询我哦&#xff01;&#xff01;&#xff01; &#x1f495;&#x1f495;作者&#xff1a;李同学 &#x1f495;&…

mysql--事务四大特性与隔离级别

事务四大特性与隔离级别 mysql事务的概念事务的属性事务控制语句转账示例 并发事务引发的问题脏读脏读场景 不可重复读幻读幻读场景 事务的隔离级别读未提交读已提交可重复读&#xff08;MySQL默认&#xff09; 总结 mysql事务的概念 事务就是一组操作的集合&#xff0c;他是一…