首页 > 其他分享 >机器学习-线性代数

机器学习-线性代数

时间:2024-03-20 11:15:16浏览次数:27  
标签:机器 singular 矢量 矩阵 rank 学习 线性代数 行列式 向量

二维空间-Singular

平行的线是linear dependence的,singular的,相交的线是Non-singular的,交点就是二元方程解

 

在机器学习的计算过程中,等式右边的常数全部转化为0,确保每条线都经过(0,0)

三维空间-singular

平面相交于一条线或者重叠,则为singular

线性相关

有唯一解的方程组,是singular,所以不是linear dependence(线性相关)

可以通过部分方程推出其他方程,则相关

行列式

2*2矩阵,主对角线上的数字乘积-反对角线的数字乘积

行列式=0,则矩阵是singular

下半部为0的矩阵,行列式=对角的乘积,非零则non-singular

singular

解方程

行梯队

矩阵Rank(秩) 矩阵的行移动,不改变singular

矩阵的整行*数字,不改变,不改变singular

矩阵的非零行的数量 Rank of Matrix

the rank of martix if the information of this system

import numpy as np  
  
# 定义矩阵A  
A = np.array([[1, 2, 3], [4, 5, 6], [2, 1, 1]])  
  
# 计算矩阵的秩  
rank = np.linalg.matrix_rank(A)  
  
print("矩阵A的秩为:", rank)  # 输出:矩阵A的秩为: 3
图片压缩

原始图片的存储矩阵-Rank200,压缩后的Rank50

肉眼看不出区别,但存储空间降低75%

rank=矩阵行数,矩阵is non-singular,矩阵携带了最大的信息量,每行的信息都不相同

Rank=2-(Dimension of solution space)

dimension 解空间的维度

System1 只有一个点 解空间的维度=0

在更一般的情况下,如果有一个线性方程组包含 n 个未知数和 m 个方程,并且这个方程组有解,那么解空间的维度通常是 n - m(当然,这取决于方程组的具体形式,以及方程是否线性独立)。

 

矩阵变换成行梯形矩阵

对角线元素只有1没有0代表每行都有有效信息,矩阵non-singular

 

矩阵运算

vector 方向(direction)和大小(size,magnitude)

 

vector 矢量加法

每个维度的数字相加

矢量的距离

ab两个矢量的距离-三种表示方法

  • a-b距离矢量的绝对值和
  • a-b距离矢量的平方和的平方根

  • b到a的矢量角度的cos值

矢量的乘法

矢量的每个维度做乘法

点积-dotproduct

|u|向量的模长

<u,v>=|u|·|v|cos

矩阵向量运算

矩阵向量的线性变换

坐标系的映射

identity matrix 单位矩阵/恒等矩阵

inverse matrix 逆矩阵

取消上次矩阵变换的矩阵

神经网络

主成分分析PrincipalComponentAnalysis 降维算法

转换矩阵的行列式 determinant即转换后坐标系的单位面积

矩阵乘积的行列式 = 分别的行列式的乘积

det(AB)=det(A)·det(B)

矩阵的逆矩阵的行列式=矩阵的行列式的倒数

空间的基

任意两个不在一条直线上的向量都可以叫basis

在空间中的任意一点,可以通过向量的常数次组合到达

它们的组合叫span跨度

空间的跨度span

从远点经过span的向量能够到达坐标系的任意一点的最小的向量集叫basis

n维空间的basis的个数是n

特征基 eigenbasis

特征向量

特征值

线性无关

标签:机器,singular,矢量,矩阵,rank,学习,线性代数,行列式,向量
From: https://www.cnblogs.com/watch2learn/p/18084794

相关文章

  • vue3学习笔记
    1.创建一个vue3项目1.创建vueclinpminstall-g@vue/cli2.创建项目npmcreate<项目名称>开始敲代码啦!!!1.引用组件只需要import就可以了,因为使用了setup之后引用了就会被自动成为子组件了。2.声明数据ref用于声明基本数据类型reactive 用于声明对......
  • Android JNI学习-使用第三方SO库
    https://david1840.github.io/2018/12/03/Android-JNI学习-使用第三方SO库/CMakeList.txt在CMake中将LibTest.so导入工程cmake_minimum_required(VERSION3.4.1)add_library(#Setsthenameofthelibrary.UseSo#Setsthelibraryasasha......
  • 数据库实验课学习笔记2
    约束类型  1.主键约束    语法: 字段  数据类型  primarykey      2.外键约束   语法: foreignkey (字段) references 引用的表(引用的字段)   3.检查约束    语法: 字段  数据类型check(约束内容)  4.默认......
  • 数据库实验课学习笔记1
    数据库与数据表--数据库(文件夹)--数据表(文件)--sqlservermangerment--软件(辅助连接数据库)--navicat等用代码创建数据库   语法:createdatabase 数据库名称createdatabasetext1点击“新建查询”,选中要执行的代码,先点“分析"看你的代码是否有语法错误,......
  • 学习STM32第八天
    TIM基础1、TIM编码器接口通过定时器的编码器接口进行自动计次,之前的编码器计次是通过触发外部中断然后在中断函数中进行计次,当测量的是高速旋转的电机时,则每秒会产生成千上万个中断,程序会频繁进入中断但是中断所完成的任务又仅仅是简单的加一减一,极大地浪费软件资源。使用......
  • 学习csh有什么学习技巧
    学习csh(CShell)的学习技巧主要包括以下几点:1.理解CShell的语法和特性:CShell的语法与C语言类似,因此理解C语言的基础知识对于学习CShell会有很大的帮助。同时,需要了解CShell的特有特性,如命令历史、作业控制、别名等。2.阅读文档和教程:查阅相关的CShell文档和教程是学习的......
  • 060_深度学习
    目录神经网络深度学习各层负责内容神经网络深度学习各层负责内容......
  • 070_机器学习搭建环境
    目录机器学习基础环境安装与使用库的安装jupyternotebook使用机器学习基础环境安装与使用库的安装jupyternotebook使用......
  • C语言程序设计(第二版)学习笔记——第三章
    第三章基本数据类型及数据的输入输出3.1C语言的基本数据类型简介要在C环境下实现运算必须首先定义变量,并确定变量的数据类型,然后才能对数据进行操作。C语言的数据类型分为四大类:基本类型、构造类型、指针类型和空类型(无值类型)。3.2标识符、常量和变量3.2.1标识符1、......
  • Java学习笔记:异常处理
    目录Java学习笔记:异常处理什么是异常异常体系结构:Error、Exception自定义异常Java学习笔记:异常处理​ **2024/3/19**什么是异常异常体系结构:Error、Exception自定义异常......