机器学习基础(持续更新中)

激活函数作用

激活函数是用来加入非线性因素的,解决线性模型所不能解决的问题
形象的解释神经网络激活函数的作用是什么?

机器学习分类

  1. 监督学习
    定义:监督学习的任务是学习一个模型,使模型能够对任意给定的输入,对其相应的输出做一个好的预测。(李航-统计学习方法)
    监督学习分为三类:

    • 分类:输出变量为有限个离散变量的预测(常见的分类算法:KNN、贝叶斯分类器、决策树、SVM、神经网络、GBDT、随机森林等)
    • 标注:输入变量和输出变量均为变量序列的预测问题
    • 回归 :输入变量和输出变量均为连续的变量(结果为连续值,有线性回归和逻辑回归两种)
  2. 非监督学习

  3. 半监督学习

  4. 强化学习

损失函数和风险函数

损失函数: 度量模型一次预测的好坏
风险函数: 度量平均意义下模型预测的好坏
loss function cost function
损失函数是预测值 f ( x ) f(x) f(x) 和真实值Y的非负实值函数记作 L ( y , f ( x ) ) L(y,f(x)) L(y,f(x))
损失函数

  • 0-1损失函数 (黄金损失)
  • 平方损失函数
  • 绝对损失函数
  • 对数损失函数或者似然损失函数
    损失函数越小,模型就越好,由于模型的输入输出 ( X , Y ) (X,Y) (X,Y)是随机变量,遵循联合分布 P ( X , Y ) P(X,Y) P(X,Y),所以损失函数的期望是
    R e x p ( f ) = E p [ L ( Y , f ( X ) ) ] = ∫ x ∗ y L ( Y , f ( X ) ) P ( x , y ) d x d y R_{e x p}(f)=E_{p}[L(Y, f(X))]=\int_{x * y} L(Y, f(X)) P(x, y) d x d y Rexp(f)=Ep[L(Y,f(X))]=xyL(Y,f(X))P(x,y)dxdy
    这是理论上模型f(X)关于联合分布P(X,Y)的平均意义下的损失,称为风险函数(risk function)或期望损失(expected loss)。
    模型f(X)关于训练数集的平均损失称为经验风险(empirical risk)或者经验损失(empirical loss),记作 R e m p R_{e m p} Remp
    R e m p ( f ) = 1 N ∑ i = 1 N L ( y i , f ( x i ) ) R_{e m p}(f)=\frac{1}{N} \sum_{i=1}^{N} L\left(y_{i}, f\left(x_{i}\right)\right) Remp(f)=N1i=1NL(yi,f(xi))
    结构风险
    当样本容量足够大时,经验风险最小化能保证很好的学习效果,在现实中被广泛采用。比如,极大似然估计就是经验风险最小化的一个例子。当模型是条件概率分布,损失函数是对数函数时,经验风险最小化就等价于极大似然估计。但是,当样本空间很小是,经验风险最小化学习的效果就未必很好,会产生“过拟合(over-fitting)”现象。
    结构风险最小化(structural risk minimization,SPM)是为了防止过拟合而提出来的策略。结构风险最小化等价于正则化(regularization)。结构风险在经验风险上加上表示模型复杂度的正则项(regularizer)或者罚项(penalty term)。在假设空间、损失函数以及训练数据集确定的情况下,结构风险的定义为
    R s r m ( f ) = 1 N ∑ i = 1 N L ( y i , f ( x i ) ) + λ J ( f ) R_{s r m}(f)=\frac{1}{N} \sum_{i=1}^{N} L\left(y_{i}, f\left(x_{i}\right)\right)+\lambda J(f) Rsrm(f)=N1i=1NL(yi,f(xi))+λJ(f)
    其中J(f)为模型的复杂度,是定义在假设空间F上的泛函。模型f越复杂,复杂度J(f)就越大;反之,模型f越简单,复杂度J(f)就越小。也就是说,复杂度表示了对复杂模型的惩罚。是系数,用于权衡经验风险和模型的复杂度。结构风险小需要经验风险与模型复杂度同时小。结构风险小的模型往往对训练数据以及未知的测试数据都有较好的预测

结构风险最小化的策略认为结构风险最小化的模型是最优的模型。所以求最优模型,就是求解最优化问题:

m i n 1 N ∑ i = 1 N L ( y i , f ( x i ) ) + λ J ( f ) min\frac{1}{N} \sum_{i=1}^{N} L\left(y_{i}, f\left(x_{i}\right)\right)+\lambda J(f) minN1i=1NL(yi,f(xi))+λJ(f)

这样监督学习问题就变成了经验风险或者结构风险函数的最优化问题。这时经验风险或结构风险函数是最优化的目标函数

贝叶斯公式

贝叶斯定理由英国数学家贝叶斯发展,用来描述两个条件概率之间的关系,比如 P ( A ∣ B ) \mathrm{P}(\mathrm{A} | \mathrm{B}) P(AB) P ( B ∣ A ) \mathrm{P}(\mathrm{B} | \mathrm{A}) P(BA))。按照乘法法则,可以立刻导出: P ( A ∩ B ) = P ( A ) ∗ P ( B ∣ A ) = P ( B ) ∗ P ( A ∣ B ) P(A \cap B)=P(A)^{*} P(B | A)=P(B)^{*} P(A | B) P(AB)=P(A)P(BA)=P(B)P(AB)。如上公式也可变形为: P ( A ∣ B ) = P ( B ∣ A ) ∗ P ( A ) / P ( B ) \mathrm{P}(\mathrm{A} | \mathrm{B})=\mathrm{P}(\mathrm{B} | \mathrm{A})^{*} \mathrm{P}(\mathrm{A}) / \mathrm{P}(\mathrm{B}) P(AB)=P(BA)P(A)/P(B)

贝叶斯法则是关于随机事件A和B的条件概率和边缘概率的
P ( A i ∣ B ) = P ( B ∣ A i ) P ( A j ) ∑ j = 1 n P ( B ∣ A i ) P ( A j ) P\left(A_{i} | B\right)=\frac{P\left(B | A_{i}\right) P\left(A_{j}\right)}{\sum_{j=1}^{n} P\left(B | A_{i}\right) P\left(A_{j}\right)} P(AiB)=j=1nP(BAi)P(Aj)P(BAi)P(Aj)
其中P(A|B)是在B发生的情况下A发生的可能性。 为完备事件组,即 ∪ i = 1 n A i = Ω , A i A j = ϕ , P ( A i ) > 0 \cup_{i=1}^{n} A_{i}=\Omega, A_{i} A_{j}=\phi, P\left(A_{i}\right)>0 i=1nAi=Ω,AiAj=ϕ,P(Ai)>0
先验概率: P ( A i ) \mathrm{P}(\mathrm{Ai}) P(Ai)
后验概率: P ( A i ∣ B ) \mathrm{P}(\mathrm{Ai} | \mathrm{B}) P(AiB)

全概率公式: P ( B ) = ∑ i = 1 n P ( A i ) P ( B ∣ A i ) P(B)=\sum_{i=1}^{n} P\left(A_{i}\right) P\left(B | A_{i}\right) P(B)=i=1nP(Ai)P(BAi)

拉格朗日乘子法

基本的拉格朗日乘子法就是求函数f(x1,x2,…)在约束条件g(x1,x2,…)=0下的极值的方法。
其主要思想是将约束条件函数与原函数联立,从而求出使原函数取得极值的各个变量的解

  • 定义
    对于具有l个等式约束的n维优化问题 min ⁡ f ( x 1 , x 2 , … , x n ) , s . t . h k ( x 1 , x 2 , … , x n ) ( k = 1 , 2 , … , l ) \min f\left(x_{1}, x_{2}, \ldots, x_{n}\right), s . t . h_{k}\left(x_{1}, x_{2}, \ldots, x_{n}\right)(k=1,2, \ldots, l) minf(x1,x2,,xn),s.t.hk(x1,x2,,xn)(k=1,2,,l)
    把原目标函数 f ( x ) f(x) f(x) 改造成为如下形式的新目标函数:
    F ( x , λ ) = f ( x ) + ∑ k = 1 l λ k h k ( x ) F(x, \lambda)=f(x)+\sum_{k=1}^{l} \lambda_{k} h_{k}(x) F(x,λ)=f(x)+k=1lλkhk(x)
    式中的 h k ( x ) h_{k}(x) hk(x) 就是原目标函数 f ( x ) f(x) f(x)的等式约束条件,而待定系数 λ k \lambda_{k} λk 称为拉格朗日乘子。这种方法称为拉格朗日乘子法。
    在极值点处,有 ∂ F ∂ x i = 0 ( i = 1 , 2 , … , n ) \frac{\partial F}{\partial x_{i}}=0(i=1,2, \ldots, n) xiF=0(i=1,2,,n) ∂ F ∂ λ k = 0 ( k = 1 , 2 , … , l ) \frac{\partial F}{\partial \lambda_{k}}=0(k=1,2, \ldots, l) λkF=0(k=1,2,,l) ,共有n+l个方程,足以算出这n+l个变量,此法也称为升维法 .
  • 基本原理
    拉格朗日乘子法是一种经典的求解条件极值的解析方法,可将所有约束的优化模型问题转化为无约束极值问题的求解。一般带不等式约束的最优化问题求解如下式:
    { min ⁡ f ( x )  s.t.  g j ( x ) ≤ 0 ( j = 1 , 2 , … , J ) \left\{\begin{array}{l}{\min f(x)} \\ {\text { s.t. } g_{j}(x) \leq 0(j=1,2, \ldots, J)}\end{array}\right. {minf(x) s.t. gj(x)0(j=1,2,,J)
    拉格朗日乘子法是用于变量无关的是常数 λ j ( j = 1 , 2 , … , J ) \lambda_{j}(j=1,2, \dots, J) λj(j=1,2,,J) 分别乘各约束函数 g j ( x ) ≤ 0 ( j = 1 , 2 , … , J ) g_{j}(x) \leq 0(j=1,2, \ldots, J) gj(x)0(j=1,2,,J),并与目标函数相加得到如下的拉格朗日函数: L ( x , λ , v ) = f ( x ) + ∑ j = 1 J λ j [ g j ( x ) + v j 2 ] L(x, \lambda, v)=f(x)+\sum_{j=1}^{J} \lambda_{j}\left[g_{j}(x)+v_{j}^{2}\right] L(x,λ,v)=f(x)+j=1Jλj[gj(x)+vj2] ,式中: x = [ x 1 , x 2 , … , x j ] T x=\left[x_{1}, x_{2}, \ldots, x_{j}\right]^{T} x=[x1,x2,,xj]T 为自变量; λ = [ λ 1 , λ 2 , … , λ j ] T \lambda=\left[\lambda_{1}, \lambda_{2}, \ldots, \lambda_{j}\right]^{T} λ=[λ1,λ2,,λj]T 为拉格朗日乘子量; v = [ v 1 , v 2 , … , v j ] T v=\left[v_{1}, v_{2}, \ldots, v_{j}\right]^{T} v=[v1,v2,,vj]T 为松弛变量。
    L ( x , λ , v ) L(x, \lambda, v) L(x,λ,v) x ∗ x^{*} x 处取极值的必要条件为: { ∂ L ∂ x k = ∂ f ( x ) ∂ x k + ∑ j = 1 J λ j ∂ g ( x ) ∂ x k = 0 ∂ L ∂ λ = ∑ j = 1 J ( g i ( x ) + v j 2 ) = 0 ∂ L ∂ v = ∑ j = 1 2 λ j v j = 0 \left\{\begin{array}{l}{\frac{\partial L}{\partial x_{k}}=\frac{\partial f(x)}{\partial x_{k}}+\sum_{j=1}^{J} \lambda_{j} \frac{\partial g(x)}{\partial x_{k}}=0} \\ {\frac{\partial L}{\partial \lambda}=\sum_{j=1}^{J}\left(g_{i}(x)+v_{j}^{2}\right)=0} \\ {\frac{\partial L}{\partial v}=\sum_{j=1} 2 \lambda_{j} v_{j}=0}\end{array}\right. xkL=xkf(x)+j=1Jλjxkg(x)=0λL=j=1J(gi(x)+vj2)=0vL=j=12λjvj=0 ,依据上式求得 即为最优解。
  • 计算过程
    1.假设需要求极值的目标函数(objective function)为f(x,y),限制条件为φ(x,y)=M
    2.设 g ( x , y ) = M − φ ( x , y ) g(x, y)=M-\varphi(x, y) g(x,y)=Mφ(x,y)
    3.定义一个新函数 F ( x , y , λ ) = f ( x , y ) + λ g ( x , y ) F(x, y, \lambda)=f(x, y)+\lambda g(x, y) F(x,y,λ)=f(x,y)+λg(x,y)
    4.用偏导数方法列出方程
    ∂ F ∂ x = 0 ∂ F ∂ y = 0 ∂ F ∂ λ = 0 \begin{array}{l}{\frac{\partial F}{\partial x}=0} {\frac{\partial F}{\partial y}=0} {\frac{\partial F}{\partial \lambda}=0}\end{array} xF=0yF=0λF=0
    5.求出x,y,λ的值,代入即可得到目标函数的极值

符号函数

sign ⁡ ( x ) = { + 1 , x ⩾ 0 − 1 , x < 0 \operatorname{sign}(x)=\left\{\begin{array}{ll}{+1,} & {x \geqslant 0} \\ {-1,} & {x<0}\end{array}\right. sign(x)={+1,1,x0x<0

超平面

  • 超平面是指n维线性空间中维度为n-1的子空间。它可以把线性空间分割成不相交的两部分。比如二维空间中,一条直线是一维的,它把平面分成了两块;三维空间中,一个平面是二维的,它把空间分成了两块。
  • 法向量是指垂直于超平面的向量。
  • 点到超平面的距离 (待推导)
    d = ∣ ω x + b ∣ ∥ ω ∥ d=\frac{|\omega x+b|}{\|\omega\|} d=ωωx+b

极大似然估计(MLE)

极大似然估计方法(Maximum Likelihood Estimate,MLE)也称为最大概似估计或最大似然估计,是求估计的另一种方法.
极大似然估计是建立在这样的思想上:已知某个参数能使这个样本出现的概率最大,我们当然不会再去选择其他小概率的样本,所以干脆就把这个参数作为估计的真实值。
1.求极大似然函数估计值的一般步骤:
(1) 写出似然函数;
(2) 对似然函数取对数,并整理;
(3) 求导数 ;
(4) 解似然方程 。
2.利用高等数学中求多元函数的极值的方法,有以下极大似然估计法的具体做法:
(1)根据总体的分布,建立似然函数 L ( x 1 , x 2 , … , x n ; θ 1 , θ 2 , … , θ k ) L\left(x_{1}, x_{2}, \ldots, x_{n} ; \theta_{1}, \theta_{2}, \ldots, \theta_{k}\right) L(x1,x2,,xn;θ1,θ2,,θk)
(2) 当 L 关于 θ 1 , θ 2 , … , θ k \theta_{1}, \theta_{2}, \ldots, \theta_{k} θ1,θ2,,θk 可微时,(由微积分求极值的原理)可由方程组
∂ L ∂ θ i = 0 , i = 1 , 2 , … , k \frac{\partial L}{\partial \theta_{i}}=0, i=1,2, \dots, k θiL=0,i=1,2,,k

定出 θ ^ i ( i = 1 , 2 , … , k ) \hat{\theta}_{i}(i=1,2, \ldots, k) θ^i(i=1,2,,k) ,称以上方程组为似然方程.
因为 L 与 ln ⁡ L \ln L lnL 有相同的极大值点,所以 θ ^ i ( i = 1 , 2 , … , k ) \hat{\theta}_{i}(i=1,2, \ldots, k) θ^i(i=1,2,,k) 也可由方程组
∂ l n L ∂ θ i = 0 , i = 1 , 2 , … , k \frac{\partial l n L}{\partial \theta_{i}}=0, i=1,2, \dots, k θilnL=0,i=1,2,,k
定出 θ ^ i ( i = 1 , 2 , … , k ) \hat{\theta}_{i}(i=1,2, \ldots, k) θ^i(i=1,2,,k) ,称以上方程组为对数似然方程; θ ^ i ( i = 1 , 2 , … , k ) \hat{\theta}_{i}(i=1,2, \ldots, k) θ^i(i=1,2,,k) 就是所求参数 θ i ( i = 1 , 2 , … , k ) {\theta}_{i}(i=1,2, \ldots, k) θi(i=1,2,,k)的极大似然估计量。
当总体是离散型的,将上面的概率密度函数 f ( x , θ 1 , θ 2 , … , θ k ) f\left(x, \theta_{1}, \theta_{2}, \ldots, \theta_{k}\right) f(x,θ1,θ2,,θk) ,换成它的分布律 P ( X = x ; θ 1 , θ 2 , … , θ k ) P\left(X=x ; \theta_{1}, \theta_{2}, \ldots, \theta_{k}\right) P(X=x;θ1,θ2,,θk).

二元离散值

只有两种取值的离散值

损失函数

损失函数(loss function)或代价函数(cost function)是将随机事件或其有关随机变量的取值映射为非负实数以表示该随机事件的“风险”或“损失”的函数。在应用中,损失函数通常作为学习准则与优化问题相联系,即通过最小化损失函数求解和评估模型
损失函数是 f ( x ) f(x) f(x)和Y的非负实值函数,记作 L ( Y , f ( x ) ) L(Y,f(x)) L(Y,f(x))
常用的损失函数:

  • 0-1损失(0-1Loss function)黄金损失

  • 平方损失函数quadratic loss function

  • 绝对损失函数absolute loss function

  • 对数损失函数

  • 指数损失函数

  • Hinge损失函数(常用于SVM)
    损失函数值越小,模型就越好

鞍点

鞍点(Saddle point)在微分方程中,沿着某一方向是稳定的,另一条方向是不稳定的奇点,叫做鞍点。在泛函中,既不是极大值点也不是极小值点的临界点,叫做鞍点。在矩阵中,一个数在所在行中是最大值,在所在列中是最小值,则被称为鞍点。在物理上要广泛一些,指在一个方向是极大值,另一个方向是极小值的点。

奥卡姆剃刀

如无必要,勿增实体
简单即有效原理

凸函数

  • 凸函数的任何极小值也是最小值。严格凸函数最多有一个最小值。
  • 凸函数还有一个重要的性质:对于凸函数来说,局部最小值就是全局最小值。
  • 若f1和f2为定义在凸集S上的两个凸函数,则其和f=f1+f2仍为定义在S上的凸函数;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值