第一章 机器学习简介
机器学习的概念、要素、类型等
概念:
要素:
- 模型
– 线性方法:
– 广义线性方法:
如果ϕ(x)为可学习的非线性基函数,f(x,θ)就等价于神经网络。
• 学习准则
– 期望风险
• 优化
– 梯度下降
类型:
- 监督学习:监督学习是指通过让机器学习大量带有标签的样本数据,训练出一个模型,并使该模型可以根据输入预测相应输出的过程。
- 无监督学习:训练数据不再是(input, output)对的形式
- 强化学习:通过感知外界环境的变化来调整学习方式,然后通过奖惩的方式来判别学习方式是否正确,通过一步步调整学习方式,最终找到一个最优的方式
过拟合、欠拟合、正则化
过拟合(Over-fitting):模型在训练集上误差很低,但是在测试数据上误差很高。由于训练数据太少和/或模型能力太强等原因造成
过拟合解决方法:扩大训练集、正则化Regularization (Occam’s Razor)、通过验证集来选择模型
欠拟合(Under-fitting):模型在训练集上误差很大,在测试集上误差也大。由于模型能力不足(不灵活)、特征不够多、正则化参数过大
欠拟合解决方法:增加模型的复杂度、尝试非线性模型、使用Boosting方法、减小正则化参数
正则化方法:通过修改目标函数来惩罚模型的复杂度
贝叶斯公式
后验 似然 先验
posterior ∝ likelihood × prior
贝叶斯例子:一种癌症,得了这个癌症的人被检测出为阳性的几率为90%,未得这种癌症的人被检测出阴性的几率为90%,而人群中得这种癌症的几率为1%,一个人被检测出阳性,问这个人得癌症的几率为多少?
第二章 概率论概述
概率的概念、贝叶斯学派vs. 频率论学派、条件独立
- 概念:
- 频率论学派(Frequentist)通过大量独立实验将概率解释为事件发生频率的均值(大数定律)
- 贝叶斯学派(Bayesian)则将概率解释为信念度(degree of belief)。当考虑的试验次数非常少的时候,贝叶斯方法的解释非常有用。此外,贝叶斯理论将我们对于随机过程的先验知识纳入考虑,当我们获得新数据的时候,这个先验的概率分布就会被更新到后验分布中
- 条件独立:在给定另一个事件或随机变量时,两个或多个事件或随机变量之间的关系。它意味着,在已知第三个事件或随机变量的情况下,一个事件或随机变量的发生或不发生不会影响另一个事件或随机变量的概率。
伯努利分布
伯努利分布是一种离散概率分布,它只有两种可能的结果,用0和1来表示。其中1的概率为p,0的概率为1-p,其中0≤p≤1。它可以用来模拟任何只有是或否两种答案的实验,例如抛硬币、掷骰子等。
伯努利分布的期望值为p,方差为p(1-p)。伯努利分布是二项分布、几何分布和负二项分布的特殊情况
高斯分布(正态分布)
概率密度:fx=12 π σ exp -x-μ22 σ2
当σ=1,μ=0 时,正态分布就成为标准正态分布,fx=12 π exp -x22
极大似然估计
求最大似然估计量的一般步骤:
(1) 写出似然函数;
(2)对似然函数取对数,并整理;
(3) 求导数;
(4) 解似然方程。
最大似然估计的特点:
1.比其他估计方法更加简单;
2.收敛性:无偏或者渐近无偏,当样本数目增加时,收敛性质会更好;3.如果假设的类条件概率模型正确,则通常能获得较好的结果。但如果假设模型出现偏差,将导致非常差的估计结果。
最大后验估计
最大后验估计
第三章 优化算法简介
梯度下降及不同形式
流程:
输入:目标函数f(x),梯度函数g(x) = ▽f(x),计算精度ɛ
输出:f(x)的极小值点x※
步骤:
- 取初始值x(0)∈Rn,设k=0
- 计算f(x(k))
- 计算梯度gk=g(x(k)),若||gk||<ɛ,令x※= x(k);否则,令pk=- g(x(k)),求ƛk
- 令x(k+1)=x(k)+ ƛkpk,计算f(x(k+1)),当| f(x(k+1))- f(x(k))|< ɛ时停止迭代,令x※= x(k+1)
- 否则,令k=k+1,回到步骤3
学习率:
- 过大:造成网络不能收敛,在最优值附近徘徊
- 过小:模型收敛特别慢或者无法学习
梯度下降的形式和优缺点:
- 批量梯度下降法,是梯度下降法最常用的形式,就是在更新参数时使用所有的样本来进行更新。优点:迭代次数少,下降方向更准确;缺点:比较耗时
- 随机梯度下降法,每一步仅仅选取一个样本来求梯度。优点:梯度更新快;缺点:梯度下降波动大,迭代次数多,可能不收敛,或陷入局部极值或鞍点
- 小批量梯度下降法,是批量梯度下降法和随机梯度下降法的折衷,每一步采用一部分固定数量的样本来计算。优点:梯度更新比BGD快,迭代次数比SGD少;缺点:学习过程仍会有振荡
梯度下降的改进方法:
- AdaGrad自适应学习率
- Adadelta 自适应增量算法
- RMSprop 均方根传递算法
- 动量Momentum优化法
- ADAM 适应性矩估计算法
拉格朗日乘子法与KKT条件
拉格朗日乘子法的基本思想是构造一个拉格朗日函数,将原始的目标函数和约束函数用一些系数(称为拉格朗日乘子)结合起来。然后,对拉格朗日函数对所有变量求偏导,令其为零,就可以得到一个方程组,通过解方程组就可以得到变量和乘子的最优值。
拉格朗日函数:Lx,μ=fx+μhx
KKT条件
对偶
- 弱对偶性f*:原问题的最优解 g*:拉格朗日对偶问题的最优解
• 拉格朗日对偶问题的最优解是原问题最优解的最好的下界。
• 原问题不论是否为凸,弱对偶总是成立。
• 如果等式不成立,则存在对偶间隙。
- 强对偶性强对偶是一个非常好的性质,因为在强对偶成立的情况下,可以通过求解对偶问题来得到原始问题的解。
• 如果原问题是凸优化问题,则通常(但不总是)强对偶性成立。
• 只要满足一些条件,强对偶性是成立的,比如说Slater 条件与KKT条件。
• 强对偶条件下,如果原问题比较难解,而对偶问题比较容易,可以通过求解对偶问题来得到原问题的解。
为什么要研究对偶问题?
虽然对偶方法并不能保证成功,但是
• 它对于某些类别的函数有效。
• 在这些情况下, 它总能带来更简单的优化问题。
• 特别是当原问题中自变量的维度比约束的数量大得多的情况下。
• 最优解由拉格朗日乘子构成的表达式可以帮助我们理解最优解,例如在SVM中那样。
• 对偶函数总是凹函数,无论原问题如何。
• 所以对偶函数的优化是个凸优化问题。