微积分

@(Machine Learning)[微积分, 概率论]

1.夹逼定理:

当x∈U(x0,r)x \in U(x_0,r)时,有g(x)≤f(x)≤h(x)g(x)\leq f(x)\leq h(x)成立,并且limx→x0g(x)=A,limx→x0h(x)=A\lim_{x \to x_0}g(x) =A , \lim_{x \to x_0}h(x) =A 那么:

limx→x0f(x)=A

\lim_{x \to x_0}f(x) = A

2.极限存在定理:

  • 单调有界数列必有极限

    • 单增数列有上界,则其必有极限

3.导数:

导数就是曲线的斜率,是曲线变化快慢的反应。
- 二阶导是斜率变化快慢的反应,表征曲线的凹凸性,但是方向呢总是指向轨迹曲线的一侧。

常用函数的导数:
C′=0C \prime = 0
(xn)′=nxn−1(x^n)\prime = nx^{n-1}
(sinx)′=cosx(sinx)\prime = cosx
(cosx)′=−sinx(cosx)\prime = -sinx
(ax)′=axlna(a^x)\prime = a^xlna
(ex)′=ex(e^x)\prime = e^x
(logax)′=1xlogae(log_ax)\prime = \frac{1}{x}log_ae
(lnx)′=1x(ln x)\prime = \frac{1}{x}

(u+v)′=u′+v′(u+v)\prime = u\prime + v\prime
(uv)′=u′v+uv′(uv)\prime = u\prime v +u v\prime

重要应用:幂指函数(牢记套路)

  • 已知函数f(x)=xx,x>0f(x) = x^x, x>0 , 求f(x)f(x)的最小值:
  • 解:
    • t=xxt = x^x
    • 取指数———>lnt=xlnxlnt = xlnx
    • 两边对x求导———>1tt′=lnx+1\frac{1}{t}t\prime = lnx +1
    • 令t′t\prime等于0(取驻点求最小值)———>lnx+1=0lnx + 1 = 0
    • x=e−1x = e^{-1}
    • t=e−1et = e^{-\frac{1}{e}}

      上面就是求幂指函数的一般套路,像求最大似然估计一定会用到这个套路
      看一下结果和代码:

# -*- coding:utf8 -*-
import math
import matplotlib.pyplot as pltif __name__ == '__main__':x = [float(i)/100 for i in range(1,150)]y = [math.pow(i,i) for i in x]plt.plot(x, y, 'r-', linewidth = 3, label = 'y(x)=x^x')plt.grid(True)plt.xlabel('X')plt.ylabel('Y')plt.show()


4.Taylor公式 — Maclaurin公式

如果我们知道了函数的一阶导,二阶导。。n阶导就可以写出x0x_0泰勒公式:一阶导×差距+二阶导×差距除以阶乘到最后x的一个高阶无穷小(扔掉)。

f(x)=f(x0)+f′(x0)(x−x0)+f′′(x0)2!(x−x0)2+....+fn(x0)n!(x−x0)n+Rn(x)

f(x) = f(x_0)+f\prime(x_0)(x-x_0)+\frac{f\prime\prime(x_0)}{2!}(x-x_0)^2+....+\frac{f ^n(x_0)}{n!}(x-x_0)^n+R_n(x)
如果我们把x0x_0换成0便得到了迈克劳林公式。

f(x)=f(0)+f′(0)x+f′′(0)2!x2+....+fn(0)n!xn+o(xn)

f(x) = f(0)+f\prime(0)x+\frac{f\prime\prime(0)}{2!}x^2+....+\frac{f ^n(0)}{n!}x^n+o(x^n)

Taylor公式的应用:

  • 数值计算:初等函数值的计算(在原点展开)

    • sinx=x−x33!+x55!−x77!+x99!+......+(−1)m−1x2m−1(2m−1)!+R2m

      sinx = x - \frac{x^3}{3!}+ \frac{x^5}{5!} - \frac{x^7}{7!} + \frac{x^9}{9!}+ ......+(-1)^{m-1} \frac{x^{2m-1}}{(2m-1)!} + R_{2m}

    • ex=1+x+x22!+x33!+.....+xnn!+Rn

      e^x = 1 + x + \frac{x^2}{2!}+ \frac{x^3}{3!}+.....+ \frac{x^n}{n!} + R_n

当一个公式不好求的时候,我们可以把他泰勒展开,并且可以把泰勒公式看成一个多项式加权的和
当然实践中我们往往需要做一定程度的变换:
比如给定一个正实数x,计算ex=?e^x = ?
- 当x=0.01x = 0.01的时候,带入泰勒求解就可以,但是如果x=100x=100的话,那这个计算量和误差就会发散,
- 所以我们用另一种思路:
- 求整数k和小数r,使得
- x=k∗ln2+r,|r|<=0.5∗ln2x = k*ln2 + r, |r|
- 从而:
- ex=ek∗ln2+re^x = e ^{k*ln2+r}
=ek∗ln2∗er = e^{k*ln2} *e^r
=2k∗er = 2^k * e^r (这里rr是小于1的,所以ere^r必收敛,而且2的k次方也容易计算)

5.方向导数:

如果函数z=f(x,y)z = f(x,y)在点P(x,y)P(x,y)是可微分的,那么,函数在该点沿任意方向L L 的方向导数都存在,且有:

∂f∂l=∂f∂xcosϕ+∂f∂ysinϕ

\frac {\partial f}{\partial l} = \frac {\partial f}{\partial x}cos \phi + \frac {\partial f}{\partial y}sin \phi
- 等式的右侧第一项的系数∂f∂x\frac {\partial f}{\partial x}其实就是假定y是常数求x的导数,∂f∂y\frac {\partial f}{\partial y}同理
- 其中, ϕ\phi为xx轴到方向LL的转角。

6.梯度:

那么梯度是什么呢?梯度就是把上面方向导数的系数提出来组成的向量
- 设函数z=f(x,y)z = f(x,y)在平面区域D内具有一阶连续偏导数,则对于每一个点P(x,y)∈DP(x,y)\in D,向量

(∂f∂x,∂f∂y)

(\frac {\partial f}{\partial x},\frac {\partial f}{\partial y})
为函数在点P的梯度,记做gradf(x,y)gradf(x,y),总之就是各对xy求偏导形成的向量
- 梯度的方向是函数在该点变化最快的方向
退化一点想,如果只含有一个变量x,即z=x2z = x^2 ,那么我们的轨迹就退化成一个简单的二次函数,梯度也就变成了∂f∂x\frac {\partial f}{\partial x}或者说是dfdx\frac {d f}{dx}。
所以说梯度就是一元的导数在高元的推广而已,一个数换成了一个向量。


7.凸函数:

7.1凸函数的定义:

若函数f的定义域domf为凸集,且满足∀x,y∈domf,0≤θ≤1\forall x,y \in domf, 0\leq\theta\leq1,有

f(θx+(1−θ)y)≤θf(x)+(1−θ)f(y)

f( \theta x + (1-\theta)y) \leq \theta f(x) + (1-\theta)f(y)
换句话说凸函数两个点之间的连线一定在曲线之上。
- 假设θ=0.9\theta = 0.9,不等式左边就是曲线上的点,右边就是割线上的点。我们在图上直观画出来就是:
简单来说就是:割线在上,函数在下。

在机器学习领域,我们就把他叫做凸函数,不是什么数学上翻译的下凹,凹函数 。。。。

7.2凸函数的判定:

定理:f(x)f(x)在区间[a,b][a,b]上连续在(a,b)(a,b)内二阶可导,那么:
- 若f′′(x)>0f\prime\prime(x)> 0,则f(x)f(x)是凸的
- 若f′′(x)<0f\prime\prime(x),则f(x)f(x)是凹的
即:一元二阶可微的函数在区间上是凸的,当且仅当它的二阶导数是非负的。

7.3凸函数定义的扩展:

定义里我们的θ\theta是0.9,另一项是0.1。其实这些系数就是两个项的权重,现在我们变成n个项,分散一下权重,就有了另一公式:

f(θ1x1+....+θnxn)≤θ1f(x1)+....+θnf(xn)

f( \theta_1 x_1+....+ \theta_nx_n) \leq \theta_1 f(x_1) +....+ \theta_nf(x_n) , 其中0≤θi≤1,θ1+θ2+....+θn=10\leq\theta_i\leq 1 ,\theta_1+\theta_2+....+\theta_n = 1
- 当我们知道了函数是凸函数时,我们往往会利用这个不等式进行一些证明。

7.4凸性质的应用(很简单大家耐心看):

我们用这个性质来证明一下:在x中取值的两个概率分布p(x),q(x)p(x),q(x)为什么相对熵(KL散度)是≥0\geq0的:

D(p||q)=∑xp(x)logp(x)q(x)=Ep(x)logp(x)q(x)≥0

D(p||q) = \sum_x p(x)log \frac{p(x)}{q(x)} = E_{p(x)}log \frac{p(x)}{q(x)}\geq0

  • 在推到过程中我们把p(x)q(x)\frac{p(x)}{q(x)} 看成一个数,那么第二步中,p(x)logp(x)q(x)p(x)log \frac{p(x)}{q(x)}就相当于一个权值乘以一个数,回顾上面的凸函数公式,不难看出它就是绿色的线上的某个点。
  • 在第三步里,我们把p(x)p(x)移到loglog里面,所以可以看成它代表红色的线上的某个点。
  • 但是别忘了前面的负号,所以是绿色的值大于等于红色。注意上图是loglog曲线。−log-log大家自行脑补了。
  • q<script type="math/tex" id="MathJax-Element-77">q</script>的加和是1,所以最后为0
    并不难是吧~

参考文献:
邹博:七月算法-机器学习
Christopher M. Bishop, Pattern Recognition and Machine Learning,
Springer-Verlag, 2006
Kevin P. Murphy, Machine Learning:A Probabilistic Perspective,
The MIT Press, 2012
李航,统计学习方法,清华大学出版社,2012
Stephen Boyd,Lieven Vandenberghe, Convex Optimization,
Cambridge University Press, 2004
Thomas M. Cover, Joy A. Thomas, Elements of Information
Theory,2006
各章节特定的经典论文,如:
Alex Rodriguez, Alessandro Laio, Clustering by fast search and find of
density peak, Science 344.6191(2014)
David M. Blei, Andrew Y. Ng, Michael I. Jordan, Latent Dirichlet
Allocation, 2003

机器学习笔记(一)微积分相关推荐

  1. 七月算法机器学习笔记1 微积分与概率论

    七月算法(http://www.julyedu.com) 12月份 机器学习在线班 学习笔记

  2. 一份520页的机器学习笔记!附下载链接

    点击上方"视学算法",选择"星标"公众号 第一时间获取价值内容 近日,来自SAP(全球第一大商业软件公司)的梁劲(Jim Liang)公开了自己所写的一份 52 ...

  3. 700 页的机器学习笔记火了!完整版开放下载

    点上方蓝字计算机视觉联盟获取更多干货 在右上方 ··· 设为星标 ★,与你不见不散 作者       梁劲(Jim Liang),来自SAP(全球第一大商业软件公司). 书籍特点       条理清晰 ...

  4. 吴恩达机器学习笔记第一周

    第一周 吴恩达机器学习笔记第一周 一. 引言(Introduction) 1.1 欢迎 1.2 机器学习是什么? 1.3 监督学习 1.4 无监督学习 二.单变量线性回归(Linear Regress ...

  5. 机器学习笔记 (第一周)

    机器学习笔记 (第一周) 目录 机器学习笔记 (第一周) 引言(Introduction) 1.1 什么是机器学习,机器学习能做些什么事情 1.2 机器学习是什么? 1.3 监督学习 1.4 无监督学 ...

  6. 迷人的神经网络——机器学习笔记1

    目录 迷人的神经网络--机器学习笔记1 第1章 神经元模型及网络结构 1.1 神经元模型 1.1.1 单输入神经元 1.1.2 激活函数 1.1.3 多输入神经元 1.2 网络结构 1.2.1 单层神 ...

  7. 超给力的 520 页机器学习笔记!图文并茂可能更适合你,文末附下载方法

    点击"开发者技术前线",选择"星标????" 在看|星标|留言,  真爱 来自:AI派 前段时间,来自SAP(全球第一大商业软件公司)的梁劲(Jim Liang ...

  8. 吴恩达机器学习笔记整理(Week1-Week5)

    吴恩达机器学习笔记整理 1. Week1 1.1 什么是机器学习(What is Machine Learning) 1.2机器学习算法分类 1.3 单变量线性回归(Linear Regression ...

  9. 机器学习笔记十四:随机森林

    在上一篇机器学习笔记十三:Ensemble思想(上)中,简要的提了一下集成学习的原理和两种主要的集成学习形式.  而在这部分要讲的随机森林,就算是其中属于bagging思路的一种学习方法.为了篇幅,b ...

  10. 机器学习笔记七:损失函数与风险函数

    一.损失函数 回顾之前讲过的线性回归模型,我们为了要学习参数使得得到的直线更好的拟合数据,我们使用了一个函数 这个函数就是比较模型得到的结果和"真实值"之间的"差距&qu ...

最新文章

  1. 前端js判断上传是否为EXCEL表格问题
  2. go的打包依赖构建工具-dep
  3. php中的网页漂浮代码,JavaScript_Javascript实现带关闭按钮的网页漂浮广告代码,复制代码 代码如下: html - phpStudy...
  4. .NET Core 3.0 即将结束生命周期,建议迁移 3.1
  5. android p正式版,国内首家!一加正式推送Android P正式版
  6. Python基础(随笔)
  7. java的数组(二维)
  8. 致软件测试员——面试,你准备好了么?
  9. Spring Boot 搭建 Eureka Servrer 单机模式、高可用模式
  10. 屏蔽广告(广告终结者)-- CSDN 第一步
  11. 2+22+222+2222+。。。。
  12. 多元线性回归—异方差
  13. 【3D音效增强神器】Boom 3D for Mac中文版 v1.2.2
  14. NIUSHOP wap端底部导航设置
  15. linux 根目录变为只读了,如何在 Web 服务器文档根目录上设置只读文件权限 | Linux 中国...
  16. BroadCastReceiver 与 startService
  17. quartz获取定时任务下次执行的时间
  18. 『数据稽核』的相关知识
  19. 宽字符至多字符的相互转换方法
  20. Ansible安装与配置

热门文章

  1. 蓝牙核心协议学习 -- 基带协议(Baseband)
  2. composer 设置版本号_Composer 版本约束表达式的使用
  3. python网络数据采集 Tesseract
  4. NOI的1.5.39与7无关的数
  5. ie开始屏蔽旧的java插件_IE将开始屏蔽旧版ActiveX控件
  6. 关于实验室信息管理系统(LIMS)三大问题
  7. js根据日期生成批次号
  8. 「Luogu4233」射命丸文的笔记-生成函数+多项式求逆
  9. IDEA设置标签多行展示
  10. android usb联接网络打印机,打印到USB或预先选择的网络打印机从嵌入式android