基础

符号 含义
CCC 特征通道数(此处仅代表含义,不同地方的CCC数值可能不同)
NNN 样本数
  • 以下所有“向量”代表列向量
  • 每一个样本点xxx都是一个向量,多个样本组成矩阵X=[x0,x1,...,xn]X=[x_0, x_1,...,x_n]X=[x0​,x1​,...,xn​]

向量

  • 向量的坐标代表向量在指定基下的投影:a=[e1,e2,e3]T[a1,a2,a3]a=[e_1,e_2,e_3]^T[a_1,a_2,a_3]a=[e1​,e2​,e3​]T[a1​,a2​,a3​]
  • 向量点积/内积/数量积:a⋅b=aTb=∑iCaibi=∣a∣∣b∣cosθa·b =a^Tb=\sum^C_ia_ib_i=|a||b|cos\thetaa⋅b=aTb=∑iC​ai​bi​=∣a∣∣b∣cosθ,θ\thetaθ为a,ba,ba,b夹角
    • 内积代表一个向量在另一个向量上的投影
  • 向量aaa的反对称矩阵AAA:a=[a1a2a3],A=a∧=[0−a3a2a30−a1−a2a10]a=\left[ \begin{array}{c} a_1 \\ a_2 \\ a_3\end{array}\right],A=a^\wedge=\left[ \begin{array}{c} 0 & -a_3 & a_2 \\ a_3 & 0 & -a_1 \\ -a_2 & a_1 & 0 \end{array}\right]a=⎣⎡​a1​a2​a3​​⎦⎤​,A=a∧=⎣⎡​0a3​−a2​​−a3​0a1​​a2​−a1​0​⎦⎤​
    • 反对称矩阵满足:AT=−AA^T=-AAT=−A
  • 向量外积:
    • 外积是一个垂直于俩向量的向量,大小为∣a∣∣b∣sin(a,b)|a||b|sin(a,b)∣a∣∣b∣sin(a,b)

信息量

  • 横坐标为概率ppp,则对应纵坐标信息量i=−logpi=-logpi=−logp,反映事件让人惊讶的程度(不确定性)

  • 某个事件对应的信息量的期望

传统算法

线性回归

寻找一个权重www和偏置bbb,使得wTX+bw^TX+bwTX+b最接近目标值YYY。相当于拟合一条直线(或一个超平面),让所有样本在直线上的取值与真实值最接近。举个例子,二维情况下,www相当于斜率k∈Rk∈\mathbb{R}k∈R,bbb相当于截距。

  • 输入:样本矩阵X∈RC×NX∈\mathbb{R}^{C×N}X∈RC×N,目标值(ground truth)Ygt∈R1×NY_{gt}∈\mathbb{R}^{1×N}Ygt​∈R1×N
  • 输出:权重w∈RC×1w∈\mathbb{R}^{C×1}w∈RC×1,偏置b∈Rb∈\mathbb{R}b∈R

推导

  • Y=wTX+b∈R1×NY=w^TX+b∈\mathbb{R}^{1×N}Y=wTX+b∈R1×N
  • 通过齐次形式把bbb整合进www,w=[wb]∈R(C+1)×1,X=[X1]∈R(C+1)×Nw=\left[ \begin{array}{c} w \\ b\end{array}\right]∈\mathbb{R}^{(C+1)×1},X=\left[ \begin{array}{c} X \\ 1\end{array}\right]∈\mathbb{R}^{(C+1)×N}w=[wb​]∈R(C+1)×1,X=[X1​]∈R(C+1)×N
  • Y=wTX∈R1×NY=w^TX∈\mathbb{R}^{1×N}Y=wTX∈R1×N
  • 这里可通过最小二乘获得最优参数的解析解
  • Loss=∑(ygt−y)2=(Ygt−wTX)(Ygt−wTX)T∈R+Loss=\sum(y_{gt}-y)^2=(Y_{gt}-w^TX)(Y_{gt}-w^TX)^T∈\mathbb{R}^{+}Loss=∑(ygt​−y)2=(Ygt​−wTX)(Ygt​−wTX)T∈R+
  • ∂Loss∂w=2(wTX−Ygt)XT∈R(C+1)×1\frac{\partial Loss}{\partial w}=2(w^TX-Y_{gt})X^T∈\mathbb{R}^{(C+1)×1}∂w∂Loss​=2(wTX−Ygt​)XT∈R(C+1)×1
  • 令偏导为000
  • 2(wTX−Ygt)XT=02(w^TX-Y_{gt})X^T=02(wTX−Ygt​)XT=0
  • wTXXT=YgtXTw^TXX^T=Y_{gt}X^TwTXXT=Ygt​XT
  • w=(YgtXT(XXT)−1)Tw=(Y_{gt}X^T(XX^T)^{-1})^Tw=(Ygt​XT(XXT)−1)T
  • w=(XXT)−1XYgtTw=(XX^T)^{-1}XY_{gt}^Tw=(XXT)−1XYgtT​

逻辑回归

逻辑回归是分类算法,相当于全连接加sigmoidsigmoidsigmoid激活的单层神经网络。

  • 输入:样本矩阵X∈RC×NX∈\mathbb{R}^{C×N}X∈RC×N,每个样本对应的类别
  • 输出:权重w∈RC×1w∈\mathbb{R}^{C×1}w∈RC×1,偏置b∈Rb∈\mathbb{R}b∈R

推导

  • 给出样本矩阵X∈RC×NX∈\mathbb{R}^{C×N}X∈RC×N
  • 过一层全连接+sigmoidsigmoidsigmoid得到输出:Y=sigmoid(wTX+b)∈(0,1)1×NY=sigmoid(w^TX+b)∈(0,1)^{1×N}Y=sigmoid(wTX+b)∈(0,1)1×N
    • sigmoid(x)=11+e−xsigmoid(x)=\frac{1}{1+e^{-x}}sigmoid(x)=1+e−x1​
  • 将YYY作为属于正样本的概率,则1−Y1-Y1−Y为负样本概率
  • 利用极大似然估计(MLE)构造目标函数,使得所有样本对应类别出现的联合概率最大
    • arg max⁡w,b(log∏iNPi),Pi={YiXi是正样本1−YiXi是负样本\underset {w,b}{\operatorname {arg\,max} }(log\prod_i^N P_i),P_i=\begin{cases}Y_i & X_i是正样本\\1-Y_i &X_i是负样本\end{cases}w,bargmax​(log∏iN​Pi​),Pi​={Yi​1−Yi​​Xi​是正样本Xi​是负样本​
  • 等价于最小化信息量之和:Loss=∑iN−logPiLoss=\sum_i^N-logP_iLoss=∑iN​−logPi​

SVM

SVM希望找到一个超平面用于划分样本,使得各类别距离超平面最近的样本点xix_ixi​距离超平面最远。

  • 输入:样本矩阵X∈RC×NX∈\mathbb{R}^{C×N}X∈RC×N,每个样本对应的类别
  • 输出:超平面权重w∈RC×1w∈\mathbb{R}^{C×1}w∈RC×1,超平面偏置b∈Rb∈\mathbb{R}b∈R

定理

  • 超平面:wTx+b=0w^Tx+b=0wTx+b=0
  • 超平面法向量:www
  • 点到超平面距离:d=∣wTx+b∣∣∣w∣∣d=\frac{|w^Tx+b|}{||w||}d=∣∣w∣∣∣wTx+b∣​
  • 平行超平面间距离:d=∣b1−b2∣∣∣w∣∣d=\frac{|b_1-b_2|}{||w||}d=∣∣w∣∣∣b1​−b2​∣​

原理

  • 给出样本矩阵X∈RC×NX∈\mathbb{R}^{C×N}X∈RC×N
  • 求所有样本XXX到超平面的距离D=∣wTX+b∣∣∣w∣∣∈R1×ND=\frac{|w^TX+b|}{||w||}∈\mathbb{R}^{1×N}D=∣∣w∣∣∣wTX+b∣​∈R1×N
  • 找到nnn个样本中距离超平面最近的点x1,x2,...,xnx_1,x_2,...,x_nx1​,x2​,...,xn​
  • SVM要求正负样本中距离超平面最近的样本到超平面的距离最大,即maxw,b∣wTxi+b∣∣∣w∣∣,0<i≤nmax_{w,b}\frac{|w^Tx_i+b|}{||w||},0<i≤nmaxw,b​∣∣w∣∣∣wTxi​+b∣​,0<i≤n
  • 令∣wTxi+b∣=1|w^Tx_i+b|=1∣wTxi​+b∣=1,优化目标变为maxw,b1∣∣w∣∣,s.t.∣wTxi+b∣>=1,0<i≤nmax_{w,b}\frac{1}{||w||},s.t.|w^Tx_i+b|>=1,0<i≤nmaxw,b​∣∣w∣∣1​,s.t.∣wTxi​+b∣>=1,0<i≤n
  • 对于二分类问题,等效于合页损失加正则项:Loss=max(0,1−y(wTx+b))+λ∣∣w∣∣2,y∈±1Loss=max(0, 1-y(w^Tx+b))+\lambda||w||^2,y∈±1Loss=max(0,1−y(wTx+b))+λ∣∣w∣∣2,y∈±1
  • 对于多分类问题,相当于做多个二分类

深度学习

通用概念/公式

最小二乘法

  • 构造MSE损失,令导数为0求极值

极大似然估计

  • 选取候选参数中使得所有样本被正确分类的概率最大的参数

超平面

  • 二维下直线表达式:ax+by+c=0ax+by+c=0ax+by+c=0
  • 多维超平面表达式:ax+by+cz+...+d=0ax+by+cz+...+d=0ax+by+cz+...+d=0
  • 写作矩阵形式:wTx+b=0w^Tx+b=0wTx+b=0
    • x∈RC×1x∈\mathbb{R}^{C×1}x∈RC×1代表超平面上的任意样本点
    • 超平面权重w∈RC×1w∈\mathbb{R}^{C×1}w∈RC×1同二维下的[a,b]T[a,b]^T[a,b]T
    • 超平面偏置b∈Rb∈\mathbb{R}b∈R同二维e下的ccc

超平面法向量

  • 给出超平面:wTx+b=0w^Tx+b=0wTx+b=0
  • 超平面的法向量垂直于该超平面上的任意向量
  • 设超平面上任意俩点x1,x2x_1,x_2x1​,x2​
  • wTx1+b=0,wTx2+b=0w^Tx_1+b=0, w^Tx_2+b=0wTx1​+b=0,wTx2​+b=0
  • wT(x1−x2)=0w^T(x_1-x_2)=0wT(x1​−x2​)=0
  • www垂直于超平面上任意向量

点到超平面距离

  • 给出超平面:wTx+b=0w^Tx+b=0wTx+b=0,超平面上任意一点xxx,任意一点ppp
  • 超平面法向量:www
  • ppp到超平面的距离d∈Rd∈\mathbb{R}d∈R为向量p−xp-xp−x对超平面单位法向量的投影长度(即点积的绝对值)
  • 单位法向量:w∣∣w∣∣\frac{w}{||w||}∣∣w∣∣w​
  • d=∣(w∣∣w∣∣)T(p−x)∣d=|(\frac{w}{||w||})^T(p-x)|d=∣(∣∣w∣∣w​)T(p−x)∣
  • d=∣wT(p−x)∣∣∣w∣∣d=\frac{|w^T(p-x)|}{||w||}d=∣∣w∣∣∣wT(p−x)∣​
  • d=∣wTp−wTx∣∣∣w∣∣d=\frac{|w^Tp-w^Tx|}{||w||}d=∣∣w∣∣∣wTp−wTx∣​
  • d=∣wTp+b∣∣∣w∣∣d=\frac{|w^Tp+b|}{||w||}d=∣∣w∣∣∣wTp+b∣​
  • 则对任意一点xxx,到超平面距离为d=∣wTx+b∣∣∣w∣∣∈R+d=\frac{|w^Tx+b|}{||w||}∈\mathbb{R}^+d=∣∣w∣∣∣wTx+b∣​∈R+

平行超平面间距离

  • 给出超平面:wTx1+b1=0w^Tx_1+b_1=0wTx1​+b1​=0,和与其平行的超平面wTx2+b2=0w^Tx_2+b_2=0wTx2​+b2​=0
  • 超平面法向量:www
  • 超平面间的距离d∈Rd∈\mathbb{R}d∈R为向量x1−x2x_1-x_2x1​−x2​对超平面单位法向量的投影长度(即点积的绝对值),此处x1,x2x_1,x_2x1​,x2​分别为俩个超平面上的任意一点,俩个超平面法向量相同
  • 单位法向量:w∣∣w∣∣\frac{w}{||w||}∣∣w∣∣w​
  • d=∣(w∣∣w∣∣)T(x1−x2)∣d=|(\frac{w}{||w||})^T(x_1-x_2)|d=∣(∣∣w∣∣w​)T(x1​−x2​)∣
  • d=∣wT(x1−x2)∣∣∣w∣∣d=\frac{|w^T(x_1-x_2)|}{||w||}d=∣∣w∣∣∣wT(x1​−x2​)∣​
  • d=∣wTx1−wTx2∣∣∣w∣∣d=\frac{|w^Tx_1-w^Tx_2|}{||w||}d=∣∣w∣∣∣wTx1​−wTx2​∣​
  • d=∣−b1+b2∣∣∣w∣∣d=\frac{|-b_1+b_2|}{||w||}d=∣∣w∣∣∣−b1​+b2​∣​
  • d=∣b1−b2∣∣∣w∣∣d=\frac{|b_1-b_2|}{||w||}d=∣∣w∣∣∣b1​−b2​∣​
  • 平行超平面间距离为d=∣b1−b2∣∣∣w∣∣∈R+d=\frac{|b_1-b_2|}{||w||}∈\mathbb{R}^+d=∣∣w∣∣∣b1​−b2​∣​∈R+

机器学习深度学习 常用算法推导相关推荐

  1. Python 机器学习/深度学习/算法专栏 - 导读目录

    目录 一.简介 二.机器学习 三.深度学习 四.数据结构与算法 五.日常工具 一.简介 Python 机器学习.深度学习.算法主要是博主从研究生到工作期间接触的一些机器学习.深度学习以及一些算法的实现 ...

  2. 机器学习,深度学习基础算法原理详解(图的搜索、交叉验证、PAC框架、VC-维(持续更新))

    机器学习,深度学习基础算法原理详解(图的搜索.交叉验证.PAC框架.VC-维.支持向量机.核方法(持续更新)) 机器学习,深度学习基础算法原理详解(数据结构部分(持续更新)) 文章目录 1. 图的搜索 ...

  3. DL之AF:机器学习/深度学习中常用的激活函数(sigmoid、softmax等)简介、应用、计算图实现、代码实现详细攻略

    DL之AF:机器学习/深度学习中常用的激活函数(sigmoid.softmax等)简介.应用.计算图实现.代码实现详细攻略 目录 激活函数(Activation functions)相关配图 各个激活 ...

  4. 深圳内推 | 华为诺亚方舟实验室招聘机器学习/深度学习算法实习生

    合适的工作难找?最新的招聘信息也不知道? AI 求职为大家精选人工智能领域最新鲜的招聘信息,助你先人一步投递,快人一步入职! 华为 华为诺亚方舟实验室是世界领先的工业实验室,在深圳.香港.北京.上海. ...

  5. 刚发布!开发者调查报告:机器学习/深度学习算法工程师急缺

    近日,CSDN发布了<2019-2020中国开发者调查报告>,本报告从2004年开始针对一年一度的CSDN开发者大调查数据分析结果形成,是迄今为止覆盖国内各类开发者人群数量最多.辐射地域. ...

  6. 大数据基石python学习_资源 | 177G Python/机器学习/深度学习/算法/TensorFlow等视频,涵盖入门/中级/项目各阶段!...

    原标题:资源 | 177G Python/机器学习/深度学习/算法/TensorFlow等视频,涵盖入门/中级/项目各阶段! 这是一份比较全面的视频教程,基本上包括了市面上所有关于机器学习,统计学习, ...

  7. Paper:机器学习、深度学习常用的国内/国外引用(References)论文参考文献集合(建议收藏,持续更新)

    Paper:机器学习.深度学习常用的国内/国外引用(References)论文参考文献集合(建议收藏,持续更新) References 1.国外格式 [1] D. E. Rumelhart, G. E ...

  8. 机器学习深度学习算法及代码实现

    原文地址:https://blog.csdn.net/qq_31456593/article/details/69340697 最近在学机器学习,学习过程中收获颇多,在此留下学习记录,希望与同道中人相 ...

  9. 史上最全的机器学习深度学习面经总结

    史上最全的机器学习深度学习面经总结 提示:19年之后的面经,扩大了范围包括了cv,推荐,语音等面经中的知识点, 同时增加了那三本面经书的内容一些github上一些比较火的项目,大部分问题是重复的,去重 ...

最新文章

  1. 20线程测试cpu性能软件,CPU常用跑分软件 你知道那些?
  2. Windows应用程序文件格式转换控件LEADTOOLS ePrint Professional
  3. pytorch多标签分类交叉熵loss
  4. 金御® GM-AFM介绍
  5. mysql 存储xml类型_(MariaDB)MySQL数据类型详解和存储机制
  6. 转录组拼接软件Trinity使用安装报错锦集
  7. 程序员经常去的编程教学视频网站
  8. mac开发者身份_如何以开发者的身份环游世界
  9. java 扫描仪_Java调用扫描仪2
  10. 0基础能学“软件测试”吗?好学吗?怎么学?
  11. RxSwift之深入解析Using操作的应用和原理
  12. 关于投资有哪些不得不读的书籍?
  13. UVALive 6555 Playing Fair with Cryptography(细节处理)
  14. 图片清晰度评价-java实现
  15. matlab示波器怎么求值,matlab示波器用法
  16. 云平台和云管平台的三大区别详细解析
  17. 如何给数据库设置用户并赋权
  18. 扫描版PDF添加目录
  19. 用函数实现求一元二次方程ax^2+bx+c=0的根
  20. com域名和cn域名net域名的区别是什么

热门文章

  1. NVME SSD vs SATA SSD(转)
  2. ie6下z-index不起作用?
  3. 机器学习笔记(二)矩阵和线性代数 例:用Python实现SVD分解进行图片压缩
  4. 在python中下列代码的运行结果是print abc_下列代码运行结果是?
  5. 基于java爱宠医院管理系统计算机毕业设计源码+系统+lw文档+mysql数据库+调试部署
  6. win10 设置为静态ip地址
  7. 引用 面向对象 String类(6)
  8. 中国电信4g最快服务器IP,中国电信DNS IP地址大全(32个省)
  9. android 启动画面广告,浅谈APP启动界面广告
  10. Python可视化 | Seaborn02