机器学习入门

深度学习和机器学习?

深度学习在某种意义上可以认为是机器学习的一个分支,只是这个分支非常全面且重要,以至于可以单独作为一门学科来进行研究。

回忆知识

求解S.

对数函数的上升速度

我们使用Python简单写一段代码可以很容易获得结果。但是我们使用数学来分析:

令\(f(x)=log_ax\)

则:

那么我们需要考虑:

构造数列:

我们很容易推出:

根据前文,已经证明了数组\({a_n}\)单增有上界,因此,必有极限,记作e。

根据夹逼定理,函数极限存在,为e.

导数

  • 简单来说,导数就是曲线的斜率,是曲线变化快慢的反应
  • 二阶导数是斜率变化快慢的反应,表征曲线凹凸行
    • 二阶导数连续的曲线,往往称之为“光顺”的
  • 根据可以得到函数\(f(x)=lnx\)的导数,进而进一步通过换底公式,反函数求导等,得到其他初等函数的导数

常用函数的导数

应用1

已知函数\(f(x)=x^x,x>0\),

求f(x)的最小值

此处直接求导并不合适,我们可以取对数在求导。

\(N^{\frac{1}{log_2N}}\)=?

在计算机算法跳跃表Skip List的分析中,用到了该常数。

背景:跳表是支持增删改查的动态数据结构,能够达到与平衡二叉树、红黑树近似的效率,而实现代码简单

求解:

积分应用2

证明:

在算法复杂度分析中,任何一种关键字比较的排序算法时间复杂度为\(NlgN\),可由上式推出。

解:\(\ln N!=\sum_{i=1}^{N}\ln i\approx \int_{1}^{N}\ln xdx\)

我们采用分部积分法:

Taylor公式-Maclaurin公式

Taylor公式应用1

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

在实践中,往往需要做一定程度的变换。

给定正实数x,计算\(e^x\)=?

一种可行的思路是求整数k和小数r,使得:

\(x= k\times \ln 2+2, |r|\le0.5\times \ln 2\)

从而:

\[e^x= e^{ k\times \ln 2+2}
\]
\[=e^{ k\times \ln 2}\cdot e^r
\]
\[=2^k \cdot e^r
\]

Taylor公式应用2

考察Gini系数的图像、熵、分类误差率三者之间的关系

  • 将\(f(x)=-\ln x\)在x=1出一阶展开,忽略高阶无穷小,得到\(f^{'}(x)\approx1-x\)


    具体细节在决策树中描述。

    方向导数

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

    其中,\(\varphi\)为x轴到方向L的转角。

    梯度

    设函数z=f(x,y)在平面区域D内具有一阶连续偏导数,这对于每一个点P(x,y)\(\in\)D,向量:

    为函数z=f(x,y)在点P的梯度,记作\(gradf(x,y)\)。

    • 梯度的方向是函数在该点变化最快的方向。
    • 梯度下降法

    概率论

    • 对概率论的认识

      P(x)\(\in\)[0,1]

      • p=0,事件出现的概率为0\(\to\)事件不会发生吗?

        我们希望概率为0,但是实际上定义域为连续的。比如投针到桌子上,我们可以认为针的尖端为0,这样理论上桌面被投中的概率为0,但是,实际上还是会被投中。当然,这是极限情况,我们可以基本无视。

      • 若x为离散/连续变量,则p(x=\(x_0\))表示\(x_0\)发生的概率/概率密度

    • 累计分布函数

      • \(\Phi\)一定为单增函数

      • min(\(\Phi(x)\))=0,max(\(\Phi(x)\))=0。

    • 将值域为[0,1]的某单增函数y=F(x)看成:X事件的累积概率函数(CDF)

      • 若F(x)可导,则f(x)=F'(x)为某概率密度函数(PDF)。

古典概型

举例:将n个不同的球放入N(N\(\ge\)n)个盒子中,假设盒子容量无限,求事件A{每个盒子至多有一个球}的概率。

解:

基本事件总数:

  • 第一个球,N种放法
  • 第二个球,N种放法
  • ......
  • 共有:\(N^n\)种放法

每个盒子至多放1个球的事件数:

  • 第一个球,N种放法
  • 第二个球,N-1种放法
  • ......
  • 共有:N(N-1)(N-2)...(N-n+1)

\(P(A)=\frac{P_N^n}{N^n}\)

生日悖论

假定班内50人,假设一年365天,则至少有2人生日相同的概率是多少?

那么n=50,N=365。只需1-(每个人生日都不同)最终结果97%。

这和我们的经验出现偏差,告诉我们,我们的先验不一定正确。

装箱问题

将12件正品和3件次品随机装在3个箱子中,每箱子装5件,则每箱中恰有一件次品的概率是多少?

解:

组合数

装箱问题与组合数的关系

组合数的背后


最终结果就是信息论中的信息熵

概率公式

条件概率:

全概率公式:

贝叶斯(Bayes)公式:

需要掌握各种分布

  • 二项分布Bernoulli distribution

    • 期望np,方差np(1-p)
    • 离散的
  • 泊松分布Poisson distribution

    • 可以通过泰勒展开式获得泊松分布

    • 期望方差均为\(\lambda\)

    • 离散的

  • 均匀分布

    • 期望0.5(a+b),方差\((b-a)^2/12\)

    • 连续的

  • 指数分布

    • 无记忆性
  • 正态分布(高斯分布)

指数族

某一函数可以写作类似如下指数形式:

这个函数描述的分别可以称为指数族分布。例如Bernoulli分布、高斯分别、泊松分布,伯努利分布、Gamma分布等。

Bernoulli分布:


在推导过程中出现了logistic方程:

这也就是sigmoid函数,图像如下:

sigmoid函数的导数:

(邹博ML)数学分析与概率论的更多相关文章

  1. (邹博ML)矩阵和线性代数

    主要内容 矩阵 特征值和特征向量 矩阵求导 矩阵 SVD的提法 奇异值分解(Singular Value Decomposition)是一种重要的矩阵分解方法,可以看做对称方阵在任意矩阵上的推广. 假 ...

  2. (邹博ML)凸优化

    目录 凸集的基本概念 凸函数的基本概念 凸优化的一般提法 凸集基本概念 思考两个不能式 两个正数的算术平均数大于等于几何平均数 给定可逆对称阵Q,对于任意向量x,y,有: 思考凸集和凸函数 在机器学习 ...

  3. (ML邹博)回归

    目录 线性回归 高斯分布 最大似然估计 最小二乘法的本质 Logistic回归 工具 梯度下降算法 最大似然估计 线性回归 对于单个变量: y=ax+b 对于多个变量: 使用极大似然估计解释最小二乘法 ...

  4. Machine Learning读书会,面试&算法讲座,算法公开课,创业活动,算法班集锦

    Machine Learning读书会,面试&算法讲座,算法公开课,创业活动,算法班集锦 近期活动: 2014年9月3日,第8次西安面试&算法讲座视频 + PPT 的下载地址:http ...

  5. 怀念Galois

    我的第一篇谈到具体学科的博客,还是献给我最钟爱的数学. 个人比较喜欢离散数学,并非因为曲高和寡,而是因为数学分析.概率论.拓扑学.泛函之类的高手实在太多.而离散数学更为抽象,抽象到抽象代数直接以抽象二 ...

  6. 【转】科大校长给数学系学弟学妹的忠告&本科数学参考书

    1.老老实实把课本上的题目做完.其实说科大的课本难,我以为这话不完整.科大的教材,就数学系而言还是讲得挺清楚的,难的是后面的习题.事实上做1道难题的收获是做10道简单题所不能比的. 2.每门数学必修课 ...

  7. 理解 LDA 主题模型

    前言 gamma函数 0 整体把握LDA 1 gamma函数 beta分布 1 beta分布 2 Beta-Binomial 共轭 3 共轭先验分布 4 从beta分布推广到Dirichlet 分布 ...

  8. 通俗理解LDA主题模型

    通俗理解LDA主题模型 0 前言 印象中,最開始听说"LDA"这个名词,是缘于rickjin在2013年3月写的一个LDA科普系列,叫LDA数学八卦,我当时一直想看来着,记得还打印 ...

  9. 通俗理解LDA主题模型(boss)

    0 前言 看完前面几篇简单的文章后,思路还是不清晰了,但是稍微理解了LDA,下面@Hcy开始详细进入boss篇.其中文章可以分为下述5个步骤: 一个函数:gamma函数 四个分布:二项分布.多项分布. ...

随机推荐

  1. 从代理模式 到 SpringAOP

    前言 Spring AOP 就是通过代理模式来实现切面编程的.代理模式用来为其他对象提供一种代理,以控制对这个对象的访问. 代理对象在客户端和目标对象之间起到中介的作用.通过控制对这个对象的访问,可以 ...

  2. innerHTML,innerText

    文本替换 <p id="p1">Hello World!</p><div>神经</div><h3 class="hh ...

  3. [THUPC2019] 找树

    一.题目 点此看题 二.解法 这道题很离谱啊,看上去是求一个最大值,其实是把生成树权值为 \(i\) 的个数都给算出来,因为权值很小. 既然是生成树可以考虑矩阵树定理,我们考虑他是求这样一个式子: \ ...

  4. idea自制模板代码快捷键

    一:/** 方法描述 /*** 功能描述: * @param: $param$ * @return: $return$ * @auther: $user$ * @date: */二./c** 类描述 ...

  5. validator库参数校验

    目录 validator库参数校验若干实用技巧 基本示例 翻译校验错误提示信息 自定义错误提示信息的字段名 自定义结构体校验方法 自定义字段校验方法 自定义翻译方法 validator库参数校验若干实 ...

  6. Unknown host 'd29vzk4ow07wi7.cloudfront.net'. You may need to adjust the proxy settings in Gradle.

    修改项目下build.gradle文件 在jcenter()前添加mavenCentral() 1 // Top-level build file where you can add configur ...

  7. salesforce零基础学习(一百零二)Limitation篇之 CPU Limit

    本篇参考: https://help.salesforce.com/articleView?id=000339361&type=1&mode=1 https://developer.s ...

  8. Linux内核源码分析之setup_arch (四)

    前言 Linux内核源码分析之setup_arch (三) 基本上把setup_arch主要的函数都分析了,由于距离上一篇时间比较久了,所以这里重新贴一下大致的流程图,本文主要分析的是bootmem_ ...

  9. 第三单元总结——JML契约式编程

    OO第三单元博客作业--JML与契约式编程 OO第三单元的三次作业都是在课程组的JML规格下完成.完成作业的过程是契约式编程的过程:设计者完成规格设计,实现者按照规格具体实现.作业正确性的检查同样围绕 ...

  10. TypeError: Can't convert 'int' object to str implicitly Python常见错误

    尝试连接非字符串值与字符串 想要字符串连接非字符串需要先进行强制转化 可以用str()函数 --------------------------------