【机器学习|数学基础】Mathematics for Machine Learning系列之线性代数(1):二阶与三阶行列式、全排列及其逆序数
@
前言
Hello!小伙伴!
非常感谢您阅读海轰的文章,倘若文中有错误的地方,欢迎您指出~
自我介绍 ଘ(੭ˊᵕˋ)੭
昵称:海轰
标签:程序猿|C++选手|学生
简介:因C语言结识编程,随后转入计算机专业,有幸拿过一些国奖、省奖...已保研。目前正在学习C++/Linux/Python
学习经验:扎实基础 + 多做笔记 + 多敲代码 + 多思考 + 学好英语!
机器学习小白阶段
文章仅作为自己的学习笔记 用于知识体系建立以及复习
知其然 知其所以然!
二阶与三阶行列式
二阶行列式
记作
\(\begin{vmatrix}
a_{11} & a_{12}\\
a_{21} & a_{22}
\end{vmatrix}=a_{11}*a_{22}-a_{12}*a_{21}\)
定义
主对角线上的两元素之积减去副对角线上两元素之积所得的差,即:\(a_{11}*a_{22}-a_{12}*a_{21}\)
注:行列式本质是一个数值,比如\(\begin{vmatrix}
1 & 2\\
3 &4
\end{vmatrix}\)代表的就是数值(-2=1×4-2×3)
举例
\(\begin{vmatrix}
3 & -2\\
2 & 1
\end{vmatrix} = ?\)
答:
\(\begin{vmatrix}
3 & -2\\
2 & 1
\end{vmatrix}=3*1-(-2)*2=3-(-4)=7\)
三阶行列式
记作
\(\begin{vmatrix}
a_{11} & a_{12} & a_{13}\\
a_{21} & a_{22} & a_{23}\\
a_{31} & a_{32} & a_{33}\\
\end{vmatrix}=a_{11}*a_{22}*a_{33}+a_{12}*a_{23}*a_{31}+a_{13}*a_{21}*a_{32}-a_{11}*a_{23}*a_{32}-a_{12}*a_{21}*a_{33}-a_{13}*a_{22}*a_{31}\)
举例
\(\begin{vmatrix}
1 & 2 & -4\\
-2 & 2 & 1\\
-3 & 4 & -2\\
\end{vmatrix} = ?\)
答:
\(\begin{vmatrix}
1 & 2 & -4\\
-2 & 2 & 1\\
-3 & 4 & -2
\end{vmatrix}=1*2*(-2)+2*1*(-3)+(-4)*(-2)*4-1*1*4-2*(-2)*(-2)-(-4)*2*(-3)=-14\)
全排列及其逆序数
全排列
定义
从n个不同元素中任取m(m≤n)个元素,按照一定的顺序排列起来,叫做从n个不同元素中取出m个元素的一个排列。
当m=n时所有的排列情况叫全排列。
公式
全排列数f(n)=n!(定义0!=1)
举例
用1、2、3三个数字,可以组成多少个没有重复数字的三位数 ?
答:3×2×1=6种。
假设先放百位,有三种可能,再放十位,有两种可能,最后放个位,只有一种可能了。
故为3×2×1=6种
从上面例子可以发现:
当有n个不同数字进行排列时
第一个位置有(n)选择,第二个位置有(n-1)种选择...第n个位置有1种选择,一共有n(n-1)(n-2)...2*1种可能,也就是n!种排列方式。
我们用\(P_{n}\)表示n种不同元素的所有排列的种数,则
\(P_n=n*(n-1)*(n-2)*...*3*2*1=n!\)
逆序数
概念
- 标准次序:n个不同的数字,我们可以规定从小到大为标准次序
- 逆序:与标准排列次序相反(比如两个元素排序是从大到小,与标准次序相反,则视为逆序)
- 排列的逆序数:一个排列中所有逆序的总数
计算排列的逆序数的方法
n个元素(依次为1,2,3...n-1,n),规定从小到大为标准次序
设\(p_1p_2...p_n\)为这n个元素的一个排列,对于元素\(p_i\)(i=1,2...,n),如果比\(p_i\)大的且排在\(p_i\)前面的元素有\(t_i\)个,那么就说\(p_i\)这个元素的逆序数是\(t_i\)。
全体元素的逆序数总和为t,那么
\(t=t_2+t_2+...+t_n=\sum_{t=1}^nt_i\)
即是这个排列的逆序数。
举例
求排列32514的逆序数
答:3在第一位,前面没有数,逆序数为0
2在第二位,前面的数中,有一个数3比2大,所以逆序数为1
5的前面没有比5的数,逆序数为0
1的前面比1大的数有:3、2、5,所以逆序数为3
4的前面比4大的只有5,所以逆序数为1
综上,该排列的逆序数t=0+1+0+3+1=5
补充概念
- 齐排列:逆序数为奇数的排列
- 偶排列:逆序数为偶数的排列
结语
文章仅作为学习笔记,记录从0到1的一个过程
希望对您有所帮助,如有错误欢迎小伙伴指正~
我是 海轰ଘ(੭ˊᵕˋ)੭
如果您觉得写得可以的话,请点个赞吧
谢谢支持 ️

【机器学习|数学基础】Mathematics for Machine Learning系列之线性代数(1):二阶与三阶行列式、全排列及其逆序数的更多相关文章
- 机器学习系统设计(Building Machine Learning Systems with Python)- Willi Richert Luis Pedro Coelho
机器学习系统设计(Building Machine Learning Systems with Python)- Willi Richert Luis Pedro Coelho 总述 本书是 2014 ...
- How do I learn mathematics for machine learning?
https://www.quora.com/How-do-I-learn-mathematics-for-machine-learning How do I learn mathematics f ...
- [C5/C6] 机器学习诊断和系统设计(Machine learning Diagnostic and System Desig
机器学习诊断(Machine learning diagnostic) Diagnostic : A test that you can run to gain insight what is / i ...
- 大规模机器学习(Large Scale Machine Learning)
本博客是针对Andrew Ng在Coursera上的machine learning课程的学习笔记. 目录 在大数据集上进行学习(Learning with Large Data Sets) 随机梯度 ...
- 吴恩达《深度学习》-课后测验-第三门课 结构化机器学习项目(Structuring Machine Learning Projects)-Week1 Bird recognition in the city of Peacetopia (case study)( 和平之城中的鸟类识别(案例研究))
Week1 Bird recognition in the city of Peacetopia (case study)( 和平之城中的鸟类识别(案例研究)) 1.Problem Statement ...
- Machine Learning系列--CRF条件随机场总结
根据<统计学习方法>一书中的描述,条件随机场(conditional random field, CRF)是给定一组输入随机变量条件下另一组输出随机变量的条件概率分布模型,其特点是假设输出 ...
- Machine Learning系列--L0、L1、L2范数
今天我们聊聊机器学习中出现的非常频繁的问题:过拟合与规则化.我们先简单的来理解下常用的L0.L1.L2和核范数规则化.最后聊下规则化项参数的选择问题.这里因为篇幅比较庞大,为了不吓到大家,我将这个五个 ...
- 斯坦福第十一课:机器学习系统的设计(Machine Learning System Design)
11.1 首先要做什么 11.2 误差分析 11.3 类偏斜的误差度量 11.4 查全率和查准率之间的权衡 11.5 机器学习的数据 11.1 首先要做什么 在接下来的视频中,我将谈到机器 ...
- Python机器学习介绍(Python Machine Learning 中文版)
Python机器学习 机器学习,如今最令人振奋的计算机领域之一.看看那些大公司,Google.Facebook.Apple.Amazon早已展开了一场关于机器学习的军备竞赛.从手机上的语音助手.垃圾邮 ...
随机推荐
- iOS实现常用地图坐标系转换(swift5)
// 桥接后,OC工程也可用 // HTMCoorTransform.swift // HTMapKit // // Created by LongMa on 2021/8/3. // import ...
- sql注入之堆叠注入及waf绕过注入
#堆叠查询注入 1.堆叠查询概念 stacked injections(堆叠查询注入)从名词的含义就可以看出一应该是一堆(多条)sql语句一起执行.而在真实运用中也是如此,我们知道在mysql中,主要 ...
- Java8 Lambda表达式(二)
目录 一.Java8 内置的四大核心函数式接口 1. 消费型接口 Consumer 2. 供给型接口 Supplier 3. 函数型接口 Function 4.断言型接口 Predicate 二.方法 ...
- 如何根治慢SQL?
本文摘自:CodeSheep 今天和大家聊一个常见的问题:慢SQL. 包括以下内容: 慢SQL的危害 SQL语句的执行过程 存储引擎和索引的那些事儿 慢SQL解决之道 后续均以MySQL默认存储引擎I ...
- C++ 友元 (全局函数做友元) (类做友元) (成员函数做友元)
1 //友元 全局函数做友元 2 /* 3 #include <iostream> 4 #include <string> 5 using namespace std; 6 7 ...
- C语言运算符(关系运算符)+(逻辑运算符)
下表显示了 C 语言支持的所有关系运算符.假设变量 A 的值为 10,变量 B 的值为 20,则: 实列: 1 #include <stdio.h> 2 3 int main() 4 { ...
- 2020年最新阿里、字节、腾讯、京东等一线大厂高频面试(Android岗)真题合集,面试轻松无压力
本文涵盖了阿里巴巴.腾讯.字节跳动.京东.华为等大厂的Android面试真题,不管你是要面试大厂还是普通的互联网公司,这些面试题对你肯定是有帮助的,毕竟大厂一定是行发展的标杆,很多公司的面试官同样会研 ...
- RabbitMQ入门案例
RabbitMQ入门案例 Rabbit 模式 https://www.rabbitmq.com/getstarted.html 实现步骤 构建一个 maven工程 导入 rabbitmq的依赖 启动 ...
- springboot的单元测试(总结两种)
.personSunflowerP { background: rgba(51, 153, 0, 0.66); border-bottom: 1px solid rgba(0, 102, 0, 1); ...
- Note about Cobertura
Workflow of Unit Test without Cobertura compile source code; compile test code; run unit test; Workf ...