机器学习 | 数学基础(一)

【方向导数与梯度】

方向导数是函数定义域内某点P在特定方向l上的导数。

 

梯度是指方向导数取值最大的方向。梯度是一个矢量。梯度指向函数值增加最快的方向。

 

【一点的梯度方向应该如何确定?】

  1. 通过导数正负确定梯度方向

【梯度与导数的关系】

梯度是指方向导数取值最大的方向(方向导数为正),则根据方向导数的公式可知梯度指向函数值增大最快的方向。而根据一点邻域内导数的正负可以确定函数值增大还是减小。

【例如】

在一元函数f(x)上,一点的方向导数即为该点在x轴方向上的导数。某点右邻域内导数为负,则表示随自变量增大,函数值减小,即右方向为函数值减小的方向,也就是说这一点的梯度方向指向x轴负方向。

【结论】

可以通过判断某点右邻域内的(偏)导数正负确定该点处的梯度方向。

  1. 通过等高线确定梯度方向

梯度方向与等高线切线方向垂直。且指向函数值增大的方向。

【等高线】

假设我们的损失函数为z=f(x,y),在几何上表示是一个曲面,该曲面被平面c(c为常数)所截得的曲线l方程为:

Z=f(x,y)

Z=c

这条曲线l在xoy轴面上的投影是一条平面曲线Q,它在xoy平面直角坐标系中的方程为f(x,y)=c,则我们称平面曲线Q为函数z=f(x,y)的等高线。

 

【函数等高线与梯度方向】

  • 函数Z = X 2 + Y 2,其梯度为( 2 x , 2 y )。将函数的等高线画出,由内圈到外圈函数值依次增大,梯度指向函数值增加最快的方向(由内指向外侧),故而函数的梯度在x O y 平面内的图像如下:

 

  • 函数Z= − ( X 2 + Y 2 ),其梯度为( − 2 x , − 2 y )。同样将函数的等高线画出,由内圈到外圈函数值依次减小,梯度指向函数值增加最快的方向(由外指向内侧),故而函数的梯度在x O y平面内的图像如下:

 

【结论】

形如碗状函数(凸函数,Z=X2+Y2),其梯度方向总是由内侧指向外侧(指向函数值增大的方向)。

形如倒扣碗状函数Z= − ( X 2 + Y2 ),其梯度方向总是由外侧指向内侧(指向函数值增大的方向)。

【凸优化】

【凸函数】任意两点间的函数值小于两点相连线段值

【为什么要特别关注凸函数的优化问题?】

凸函数的特性:凸优化问题中,局部最优解同时也会是全局最优解,使优化问题相对更容易解决。

【最优化问题】

机器学习中的大多数问题都可以归结为最优化问题。最优化问题是求解函数极值的问题,包括极大值和极小值。在机器学习之类的实际应用中,我们一般将最优化问题统一表述为求解函数的极小值问题,即:

 

 

 

【补充说明】

举例:双十一优惠期间买台电脑

决策:在哪个店铺买

目标:实现最高优惠

约束:预算、以及购买电脑的性能

 

补充说明

直接法使用条件:目标函数比较复杂或写不出具体表达式时,通过数值计算,经过一定迭代过程产生点列,在其中搜索最优点。

解析法(间接法):根据无约束问题的目标函数表达式给出一种求解最优解的方法。

 

【为什么叫梯度下降算法?】

梯度方向是函数值增加最快的方向,所以梯度的负方向就是函数减小最快的方向。

一般情况下,我们训练模型是为了找到使目标函数(如损失函数)取得最小值时的参数。所以希望从某个初始值开始,函数值在参数的不断更新中逐渐减小,所以更新参数时总是沿着梯度方向的负方向前进,直至到最低点(即损失函数最小值)。

【梯度下降法公式推导】

根据泰勒公式可以得到如果x的变化很小,并且变化值与导数值反号,则函数值下降。

 

多元函数f(x)在x处的泰勒展开公式为:(忽略二次及更高项)

注:其中是指梯度向量与自变量增量的内积,,等价于一元函数中的

当Δx足够小时,在x邻域内可忽略二次及更高项,有

[该式呈现出函数增量、梯度与自变量增量之间的关系]

[注:对于一元函数来说,x的变化方向只有左和右;但对于多元函数来说,Δx是一个向量,其有无穷多个方向。那么如何确定函数递减(下山)的方向呢?]

【确定函数值下降时Δx的方向】

根据此式可知,若能保证,则可保证f(X)函数值递减,即往下坡这个正确方向走。

 

根据向量内积公式可知,上式等价于cosθ≤0 ,即选择合适的增量Δx,就能保证函数值下降,要达到这一目的,只要保证梯度和Δx的夹角的余弦值小于等于0就可以了。那么如何可以使函数值下降的最快呢?

 

【确定函数值下降最快时Δx的方向】

因为梯度方向是函数值增加最快的方向,所以在梯度相反的方向函数值下降的最快。当cosθ=-1(极小值)时,梯度与Δx反向,此时函数值下降最快。

此时,利用共线向量相关知识可将Δx表示为其中α为一个接近于0的正数,称为步长,由人工设定,用于保证x+Δx在x的邻域内,从而可以忽略泰勒展开中二次及更高的项

 

此时函数变化量为。由该式可以得到,只要梯度不为0,往梯度的反方向走函数值一定是下降的。

 

迭代更新x值时,x=x-Δx,根据上面用梯度表示出的,可以得到迭代公式

 

 

即从初始点X0开始,使用该迭代公式不断更新X值,只要没有到达梯度为0的点,则函数值会沿着序列Xk递减,最终会收敛到梯度为0的点,这就是梯度下降法。迭代终止的条件是函数的梯度值为0(实际实现时是接近于0),此时认为已经达到极值点。

附参考链接:梯度下降算法原理讲解_征途黯然.的博客-CSDN博客_梯度下降数学原理

 

【补充说明】

如果想要找到最短的路径到达最底部。梯度下降法每次只从当前位置选择一个坡度最大的方向往下走;而牛顿法在选择方向时不仅会考虑坡度是否足够大,而且还会考虑走了一步后坡度是否会变小。因此牛顿法往往会少走很多弯路,收敛速度会比梯度下降法更快。

 

【补充说明】

牛顿法尽管收敛速度比较快,但每次更新迭代时都要计算二阶导数矩阵以及其逆矩阵,造成计算量偏大,且逆矩阵可能不可逆。故而提出拟牛顿法。将一阶导数两点连线的斜率来近似二阶导数。保证收敛速度的同时减少计算量。

 

 

【补充说明】

f(x)的取值区域为目标域(蓝色等高线),符合g(x)<=0的区域为约束域(红色区域)。

 

左图为约束无效;右图为约束有效

KKT法(不等式约束),是拉格朗日(等式约束)的扩展。约束有效时,将不等式约束条件转换为等式约束条件。

 

【约束是否有效】

【假设一条狗被绳子拴住,f(X)代表狗与食物之间的最短距离,约束域g(X)<=0为狗被绳子拴住的圆形区域】

若f(X)本身的最小取值可行解包含在约束域内,即取到f(x)的局部最小值时若g(x)<0,则表示约束无效。【此情况为:狗本身就在食物区域内,不论是否被绳子拴住其都可以获得食物,即狗与食物之间的最短距离为0(此为目标域局部最小值),这表示狗并未被绳子真正约束】;

若f(X)最后的取值落在g(X)的边界,即g(x)=0,f(X)取到局部极小值,则表示约束有效。【此情况为:狗本身并不在食物区域内,被绳子拴住的狗只能尽可能缩短其与食物之间的距离,则表示狗被绳子约束。若未被约束的话,就可以到达食物区域,与其最短距离为0。在约束下狗尽力到达目标域某点,此点是f(x)尽可能小的位置,称为f(x)在这个约束下取到的最小值点,是另一种意义上的极小值点。】

正是因为这两种情况同时存在,所以才有了KKT条件。

KKT条件】

 

附:参考博客链接

SVM(二):KKT条件最直白的解释_CtrlZ1的博客-CSDN博客_svm的kkt条件

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
《斯坦福大学机器学习数学基础.pdf》是一本由斯坦福大学开发的机器学习教材。本书将数学基础机器学习算法相结合,旨在向读者介绍机器学习所需的数学知识。 该书首先介绍了线性代数的基础知识。线性代数是机器学习中常用的工具,被广泛应用于数据处理和模型训练中。本书从向量、矩阵和线性变换等基本概念开始,逐步讲解了线性方程组、行列式、特征值与特征向量等重要内容,为读者提供了深入理解线性代数的基础。 接着,本书介绍了概率论和统计学的相关知识。概率论是机器学习的核心概念之一,它用于描述和解释不确定性。统计学是机器学习中的重要工具,利用统计方法对数据进行分析和建模。本书讲解了概率论的基本概念、条件概率和贝叶斯定理等内容,同时介绍了统计学中的假设检验、参数估计和回归分析等方法。 最后,本书还介绍了线性回归、逻辑回归、支持向量机等常用的机器学习算法。这些算法建立在数学基础之上,通过数学模型实现对数据的学习和预测。本书通过具体的案例分析和实践操作,让读者理解这些算法的原理和实际应用。 总之,《斯坦福大学机器学习数学基础.pdf》是一本系统而全面的机器学习教材,涵盖了机器学习所需的数学基础知识。读者通过学习本书,将能够理解和应用机器学习算法,从而在实际问题中进行数据分析和模型构建。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值