【机器学习|数学基础】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早已展开了一场关于机器学习的军备竞赛.从手机上的语音助手.垃圾邮 ...
随机推荐
- 小白学习vue第三天,从入门到精通(computed计算属性)
computed计算属性 <body> <div id="app"> <div>{{myName}}</div> </div& ...
- C++ //继承中构造和析构顺序
1 #include <iostream> 2 #include <string> 3 using namespace std; 4 5 class Base 6 { 7 pu ...
- 树莓派SG90舵机接法
我的舵机的三条线是红的.黑色.棕色,接法如下: 棕 : GND 红 : VCC 黄: 信号线 如图所示: 图片来源 如上图所示,写代码时注意舵机的BCM编码是18,而不是物理引脚的编码12.
- Redis缓存哪些事儿
一提到Redis缓存,我们不得不了解的三个问题就是:缓存雪崩.缓存击穿和缓存穿透.这三个问题一旦发生,会导致大量的请求直接请求到数据库层.如果并发压力大,就会导致数据库崩溃.那p0级的故障是没跑了. ...
- View epub and mobi File on Linux
Calibre has stand-alone ebook viewer "ebook-viewer", start it in terminal: $ ebook-viewer ...
- Prometheus alertmanager邮件发送+grafana告警展示
前言 前面一篇博客,我已经介绍了prometheus如何监控mysql. 这一篇我来介绍如何通过alertmanger进行告警邮件发送(微信或钉钉类似,因为需要企业帐户,我就不试了),以及如何通过gr ...
- stm32高级定时器1互补输出 验证代码
GPIO_InitTypeDef GPIO_InitStructure; TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure; TIM_OCInitTypeDe ...
- NOIP 模拟 $21\; \rm Median$
题解 \(by\;zj\varphi\) 对于这个序列,可以近似得把它看成随机的,而对于随机数列,每个数的分布都是均匀的,所以中位数的变化可以看作是常数 那么可以维护一个指向中位数的指针,同时维护有多 ...
- Groovy+Spock单元测试
一.导入依赖 Spock是基于JUnit的单测框架,提供一些更好的语法,结合Groovy语言,可以写出更为简洁的单测. <!-- groovy依赖 --> <dependency&g ...
- mycat 分片的策略
目的:有 user 和 t_order 两张数据表,表 user 的数据全部存放在 db1_zhang 中,表 t_order 的数据按 id 对 2 取模分别存放在 db1_zhang 和 db2_ ...