美文网首页@IT·互联网
文科小白也能看懂的机器学习基础(二)

文科小白也能看懂的机器学习基础(二)

作者: 董董不懂呢 | 来源:发表于2019-07-06 23:16 被阅读7次

    (三)朴素贝叶斯

    朴素贝叶斯本质是基于概率论的分类方法。前面两种算法我们要求分类器给出艰难决策,给出输入的数据集属于哪一类的明确答案。不过,分类器有时会有错误,这就要求分类器给出一个最优的类别猜测结果,同时给出这个猜测的概率估计值。

    举例说明,某小区男性穿运动鞋的概率为 12 ,女性穿运动鞋的概率为 23 ,并且该小区中男女比例通常为 2:1 ,问题:若你在小区中随机遇到一个穿运动鞋的人,请问他的性别为男性或女性的概率分别为多少?

    1.先验概率(prior probability)

    先验概率是指根据以往经验和分析得到的概率。

    我们使用以上例子来解释一下什么是先验概率。根据以上例子我们设定:假设某小区中一个人是男性为事件 Y=ymen ,是女性则是 Y=ywomen ;一个人穿运动鞋为事件 X=x1 ,未穿运动鞋为事件 X=x0 。而一个人的性别与是否穿运动鞋这两个事件之间是相互独立的。

    于是我们可以看到该例子中存在四个先验概率:

    P(X=x1)与P(X=x0)

    P(Y=ymen)与P(Y=ywomen)

    其中 P(Y=ymen)与P(Y=ywomen) 可以根据例子中“该小区中男女比例通常为 2:1 ” 这一以往经验求得:P(Y=ymen)=2/3 以及 P(Y=ywomen)=1/3 。而先验概率 P(Y=ymen)与P(Y=ywomen) 并不能直接得出,需要根据全概率公式来求解。在学习全概率公式之前,我们先了解一下条件概率。

    2.条件概率

    条件概率是指在事件 Y=y 已经发生的条件下,事件 X=x 发生的概率。条件概率可表示为: P(X=x|Y=y) 。而条件概率计算公式为:

    条件概率公式

    其中P(X=x,Y=y)是联合概率,也就是两个事件共同发生的概率。而P(Y=y)以及P(X=x)是先验概率。

    我们用例子来说明一下就是: “某小区男性穿运动鞋的概率为12”,也就是说“是男性的前提下,穿运动鞋的概率是12”,此概率为条件概率,即P(X=x1|Y=ymen)=1/2。同理“女性穿运动鞋的概率为2/3” 为条件概率P(X=x1|Y=ywomen)=1/2。

    3.全概率公式

    全概率公式是指:如果事件 Y=y1,Y=y2,...,Y=yn 可构成一个完备事件组,即它们两两互不相容,其和为全集。则对于事件 X=x 有:

    全概率公式

    因此对于上面的例子,我们可以根据全概率公式求得:

    P(X=x1)=P(Y=ymen)P(X=x1|Y=ymen)+P(Y=ywomen)P(X=x1|Y=ywomen)=2/3×1/2+1/3×2/3=59

    P(X=x0)=P(Y=ymen)P(X=x0|Y=ymen)+P(Y=ywomen)P(X=x0|Y=ywomen)=2/3×1/2+1/3×1/3=49

    也就是说不考虑性别的情况下,小区中穿运动鞋的概率为59,不穿运动鞋的概率为49。

    4.后验概率

    后验概率是指,某事件 X=x 已经发生,那么该事件是因为事件 Y=y 的而发生的概率。也就是上例中所需要求解的“在知道一个人穿运动鞋的前提下,这个人是男性的概率或者是女性的概率是多少”。后验概率形式化便是:

    P(Y=ymen|X=x1)。

    后验概率的计算要以先验概率为基础。后验概率可以根据通过贝叶斯公式,用先验概率和似然函数计算出来。

    贝叶斯公式如下:

    后验概率公式

    其中P(Y=ymen|X=x1)为所求后验概率,P(X=x1|Y=ymen)为条件概率,P(Y=ymen)为先验概率,P(X=x1)=∑i={men,women}P(Y=yi)P(X=x1|Y=yi)为全概率公式。

    而朴素贝叶斯算法正是利用以上信息求解后验概率,并依据后验概率的值来进行分类。

    使用上面的例子来进行理解,后验概率为:

    后验概率计算

    也就是说,在知道一个人穿运动鞋的前提下,这个人是男性的概率是 35 ,是女性的概率是 25 。如果问题是“判断该人是男性还是女性”,此问题就是一个分类问题。由于依据贝叶斯公式计算的后验概率是男性的概率大于是女性的概率,即由于 P(Y=ymen|X=x1)>P(Y=ywomen|X=x1) ,那么我们就可以将其分类为男性(实际在使用朴素贝叶斯进行分类时,不需要求解分母 P(X=x1) )。

    优点:在数据较少的情况下仍然有效,可以处理多类别的问题。缺点:对于输入数据的准备方式较为敏感。

    (四)逻辑回归

    首先了解回归的定义,假设有一些数据点,我们用一条直线对这些点进行拟合(该线称为最佳拟合直线),这个拟合过程就称作回归。

    逻辑回归进行分类的主要思想是:根据现有数据对分类边界线建立回归公式,以此进行分类。回归源于最佳拟合,表示要找到最佳拟合参数集,逻辑回归到目的是寻找一个非线性函数sigmoid的最佳拟合参数,求解过程可以由最优化算法来完成。

    sigmoid

    为了实现逻辑回归分类器,可以为每个特征都乘以一个回归系数,然后把所有的结果值相加,将这个总和代入sigmoid函数中,进而得到一个范围在0~1之间的数值。任何大于0.5的数据被分入1类,小于0.5即被归入0类。

    确定了分类器的函数形式,那么如何确定回归系数及其大小呢?这就用到最优算法。

    有个最优算法是梯度上升法,梯度上升法基于思想是:要找到某函数的最大值,最好的方法是沿着该函数的梯度方向探寻。梯度上升算法用来求函数的最大值,而梯度下降算法用来求函数的最小。举个例子来看:

    梯度上升

    梯度是偏导数的矢量,具有大小和方向两个特征;它可以让你了解哪个方向距离目标“更近”或“更远”,一般沿着“最陡峭”方向。梯度上升算法每到达一个点后都会重新估计移动的方向。

    从p0开始,计算完该点的梯度,函数就根据梯度移动到下一个点p1。在p1点,梯度被再次计算,并沿着新的梯度方向移动到p2。如此循环迭代,直到满足条件。在迭代的过程中,梯度总是保证每次能选取到最佳的移动方向。

    梯度上升算法在每次更新回归系数时都需要遍历整个数据集,在数据量特别多时,那么该方法的计算复杂度就很高。一种改进方法是一次仅用一个样本点来更新回归系数,该方法称为随机梯度上升算法。

    优点:计算代价不高,易于理解和实现。缺点:容易欠拟合,分类精读可能不高。

    (五)支持向量机

    支持向量机是一种分类器,之所以称为机,是因为它会产生一个二值决策结果,即它是一种决策“机”。支持向量机的泛化错误率较低,也就是它具有较好的学习能力,且学到的结果具有很好的推广性。

    支持向量机的核心任务是构建一个N-1维的分隔超平面来实现对N维数据样本数据的划分,认定的分隔超平面两侧的样本点分属于两个不同的类别。

    数据集

    举例来说,在A框中的两组数据,它们之间已经分隔得足够开,很容易画出一条线将两组数据点分开,这种情况下这组数据称为线性可分数据。

    上述将数据集分隔开来的直线称为分隔超平面。在上面的例子中,由于数据点都在二维平面,所以此时分隔平面就只是一条直线。但是,所给的数据集是三维的,那么此时分隔数据的就是一个平面。分布在超平面一侧的所有数据都属于某个类别,而分布在另一侧的所有数据则属于另一个类别。

    采用这种方式来构建分类器,如果数据点离决策边界越远,那么其最后的预测结果也就越可信。在上图中,B C D都能将数据分隔开,但是其中哪一条最好呢?我们希望找到离分隔超平面最近的点,确保它们离分隔面尽可能远,这里点到分隔面的距离称为间隔,我们希望间隔尽可能的大,这是因为能给出足够的犯错空间,尽可能增大新样本被正确分类的概率。

    支持向量就是离分隔超平面最近的那些点,接着就是最大化支持向量到分隔面的距离,找到优化求解方法。

    现在看看非线性可分的数据。

    非线性分割数据

    这个数据在二维平面中很难用一条直线分隔,在这种非线性可分的数据中,可以使用核函数将数据转化成分类器易于理解的模式。

    通过核函数,可以将数据从一个特征空间转换到另一个特征空间,这种映射会将低维特征空间映射到高维空间。经过空间转换后,在高维空间中解决线性问题,等价于在低维空间解决非线性问题。

    核函数可以想象成一个包装器,将数据从某个很难处理的形式转换成另一个较容易处理的形式。

    相关文章

      网友评论

        本文标题:文科小白也能看懂的机器学习基础(二)

        本文链接:https://www.haomeiwen.com/subject/pafvhctx.html