【ML学习笔记】1:机器学习中的数学基础1(方向导数,梯度,下凸函数)

机器学习分类

[1]监督学习(SL)

包括分类预测、回归分析等。

监督学习中基于一个训练集(特征1,,特征2,…,特征n,已知目标)训练出一个监督学习算法,去计算仅知道特征的测试集(特征1,特征2,…,特征n,未知目标)中未知目标的值。如果目标值是离散的(如是男还是女),就是分类问题,否则是回归问题。
这里写图片描述
例如有一个(身高,发长,性别)的训练集,去计算出一个(身高,发长)的测试集中每一个元素的性别,这就属于SL中的分类预测。

[2]无监督学习(UL)

包括聚类、关联规则等。

无监督学习的集合中是不知道已知目标的,仅仅知道各个特征,基于此去尝试得出一些启发性的知识。
这里写图片描述
例如有一个(领型,袖长,材质)的集合,将它们聚成几个类别,就得到了(领型,袖长,材质,类别号),这就属于UL中的聚类。相当于在空间中,每个特征都是一个维度,那么这个集合就是空间中的若干个点,根据它们在空间中的位置,将其聚成几个类。

注意UL中的聚类和SL中的分类的区别!分类相当于有一个已经分好类的训练集,算法得出的是这个类别的边界,然后输入测试集,去看看落在哪个类别里,就得出了各个元素的未知目标的值了。

[3]半监督学习(SSL)

基于SL和UL的,即训练集中有一些是已知目标值的,有一些是未知的。
这里写图片描述

[4]强化学习(RL)

包括Q-learning、时间差学习等。

得分函数

机器学习的目的是得到一种算法,其核心是一个函数,即得分函数。函数的输入是每个元素的各个特征,函数的输出是元素的标签(即前面说的目标的值),或者是能转化成标签值的某个量。

标签或相关的量=Function(特征1,特征2,…,特征n)

例如,假设买家对苹果的评价=w0+w1*色泽+w2*口感+..+wn*大小,则Function(色泽,口感,…,大小)=w0+w1*色泽+w2*口感+..+wn*大小。得到的值是”买家对苹果的评价”,再通过一些其它方式的转换,得到买这家苹果的概率(目标结果也即标签)=OtherFun(买家对苹果的评价)。

损失函数

假设已经得到了一个得分函数,如刚才那个用得分函数结合其它计算去预测买家买这家苹果的概率的一个算法,它实际上肯定是有误差的。

损失函数是得分函数的函数。经过得分函数的算法得出的标签值和实际的标签值有差距,这个差距就是损失。把所有训练集中的数据(因为已经知道标签)的损失,随着得分函数中的某些关键的部分(如前面的例子中乘在特征上的权重wi)都用一个函数表示出来,就是损失函数。

我们的目标就是找到一个得分函数,使得其损失函数是最小的。即通过对损失函数寻最小,以对得分函数进行修正。

导数(是一个标量)

导数可以看作曲线的斜率,二阶导数则可以看成斜率变化快慢的反映,可以表征曲线的凹凸性(加速度的方向总是指向运动轨迹曲线凹的那一侧)。一条二阶导数连续的曲线,称为光顺的。

泰勒公式

在已知函数在某一点x0的各阶导数值的情况之下,泰勒公式可以用这些导数值近似出函数在这一点的邻域[a,b]中的任一个x处的函数值。
这里写图片描述

对邻域[a,b]有要求:①在[a,b]上有n阶导数,②在(a,b)上有n+1阶导数。

泰勒公式的余项Rn(x)有很多种形式,Peano余项用得比较多:这里写图片描述

方向导数

方向导数用的最多的是在二维和三维的情况下。

方向余弦

一个向量在坐标轴中的方向余弦是从各个坐标轴到向量方向的转角的余弦。可以把向量的起点移到坐标轴原点上去,转角就看起来很直观:
这里写图片描述
如这张图里方向余弦就是cosθi1,cosθi2,cosθi3。

函数沿直线方向的方向导数

如函数u(x,y,z)在其上一点M(x0,y0,z0)可微,则其在该点出沿方向l的方向导数就是对三个坐标轴的偏导数乘以各自关于l的方向余弦再加起来:
这里写图片描述

函数沿曲线方向的方向导数

看了半天没看懂,以后用到再学。

梯度(是一个矢量)

函数在其上一点处的梯度是一个矢量,函数在该点处沿梯度方向变化最快,即沿梯度方向的方向导数有最大值,为该梯度的模。
gardf(x,y,z)也记做▽(x,y,z)=这里写图片描述

常见的梯度下降法,就是取梯度的反方向,就可以在一个下凸函数上往下寻找最小值了。比如在一个不复杂的损失函数上求极小值(不是下凸函数时候显然只能取到一个局部最小的极小值点),就可以用这样的方法。

下凸函数

注意在机器学习相关的数学里,下凸的才叫凸函数,上凸的叫凹函数。这和很多国内高数书里的定义是相反的,为了区分清楚我这里都写清楚是下凸还是上凸吧。

凸集(这个没有什么下凸上凸之分)

如果集合S中任两点的连线上的点都在S内,则称集合S为凸集。如立方体就是一个凸集。凸集可以定义在实数空间上,也可以是在复数空间上的。
这里写图片描述

下凸函数

下凸函数是一个定义在某个向量空间的凸子集C(这里我理解为区间不断开)上的实值函数f,而且对于凸子集C中任意两个向量,有f((x1+x2)/2)<=(f(x1)+f(x2))/2则f(x)是定义在凸子集C中的下凸函数。

关于这个判定公式的理解只要用这张图就很清楚了:
这里写图片描述
就是相当于函数曲线上任意两点连线,如果全部分布在曲线上中间坐标对应点的一侧,那就是下凸或者上凸的了。

显然这个1/2不是必然的,所以还有一种推广化的判定方法,对于任意(0,1)中有理数θ,如果始终有f(θx+(1-θ)y)<=θf(x)+(1-θ)f(y)则f(x)是下凸函数:
这里写图片描述

此外,对于实数集上的函数,可以求它的二阶导数,如果其二阶导数在区间上非负,就是下凸的。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值