机器学习入门

深度学习和机器学习?

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

回忆知识

求解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. hibernate 的一对多关联关系映射配置

    hibernate 是操作实体类: 表是一对多的关系,当创建这2个实体的时候 在一的一方定义一个多的一方的集合 在多的一方定义一个一的一方的对象 表是多对多的关系,当创建这2个实体的时候 在互相中都有 ...

  2. for-in 语句

    for-in 语句循环专门用于遍历范围,列表,元素和字典等可迭代对象. 循环中的变量的值受for-in循环控制,该变量将会在每次循环开始时自动被赋值,因此程序不应该在循环中对该变量进行赋值 for-i ...

  3. unbutu系统扩展磁盘大小

    建议下载一个可视化工具,这样的话就更不容易出错 sudo apt install gparted 在终端中运行这条命令就可安装可视化工具 fdisk -l 在终端中输入这条命令来查看自己系统所挂载的磁 ...

  4. 4、Spring教程之Spring配置

    别名 alias 设置别名 , 为bean设置别名 , 可以设置多个别名 <!--设置别名:在获取Bean的时候可以使用别名获取--> <alias name="userT ...

  5. springboot源码解析-管中窥豹系列之bean如何生成?(十四)

    一.前言 Springboot源码解析是一件大工程,逐行逐句的去研究代码,会很枯燥,也不容易坚持下去. 我们不追求大而全,而是试着每次去研究一个小知识点,最终聚沙成塔,这就是我们的springboot ...

  6. MongoDB数据库的使用

    MongoDB是一个基于分布式 文件存储的NoSQL数据库,适合存储JSON风格文件的形式. 三元素:数据库.集合和文档. 文档:对应着关系数据库中的行,就是一个对象,由键值对构成,是json的扩展B ...

  7. 一次 outline 去除经验(非继承属性,看着像继承)

    情况描述: 目前维护的老项目是通过 easyui 生成的 html,嵌套结构非常多,当点击元素后,会有个边框???非常影响页面美观,这是啥迷惑点击交互??? 经验告诉我,这是 css 的 outlin ...

  8. 分享一次排查CLOSE_WAIT过多的经验

    关键词:TCP.CLOSE_WAIT 问题背景 某日下午有测试人员急匆匆的跑来跟我反馈:"有客户反馈供应商附件预览不了,流程阻塞,需要紧急处理",我立马精神起来,毕竟都是付费客户( ...

  9. seq 命令用法

    以指定增量从首数开始打印数字到尾数. 用法: seq [选项]... 尾数 或:seq [选项]... 首数 尾数 或:seq [选项]... 首数 增量 尾数 选项: -f, --format=格式 ...

  10. [贪心]P1049 装箱问题

    装箱问题 题目描述 有一个箱子容量为V(正整数,0≤V≤20000),同时有n个物品(0<n≤30),每个物品有一个体积(正整数). 要求n个物品中,任取若干个装入箱内,使箱子的剩余空间为最小. ...