Machine Learning第三记——HW_2---Logistic Regression

一、Classification

    上一课学到了机器学习中传统的回归问题,类似根据已有数据预测未来数据的一些实验都可以用到回归。这次又进行了一个新的方向,分类问题。我们知道回归问题可以画出线性或者非线性的线在图像中表现出来,那么我们是否可以利用回归对分类做模型呢?下面看两张图:

    这两幅图是利用回归做出的模型效果,左图可以看出,对于十分理想的情况下,通过回归确实可以完成分类模型,但从右图中,可以发现,一旦出现极端数据,由于回归会为满足所有数据而摆动,所以会出现右图紫色线的情况。在这时,明明可以完全区分两类,但因为回归的特性导致模型变差,因此,回归不适用于分类模型中。
    在李宏毅老师后续经过计算高斯分布和调整参数之后发现,最后获得的比较好的分类模型,结果还是一条直线。那这个直线和回归得到的直线有什么不同呢?接下来介绍逻辑回归。

二、Logistic Regression

    逻辑回归计算的函数值,不是像线形或非线性回归那样,算出一个θx。逻辑回归计算的,是将θx再加工得到一个0-1之间的数,对于二分类来说,这个数更接近1,那么就被分为命名为1的类,更接近0,就被分为0的类中。这里所用的再加工函数,在二分类问题中,使用sigmoid激活函数,函数及图像如下。

    从图中可以看出,这是一个值域在0-1之间的函数,并且满足正态分布特点。经过此函数处理之后,都会得到一个小数,这里可以将其理解为概率。比如,经过函数计算出是a类为0.7>0.5,那么分类器之后就会把他归为a类。
    此部分损失函数的选择,也十分重要。这里给出了经典的二分类交叉熵损失函数。

    这里的𝑦 ̂ 表示输入的样本真实的类别,而里面的则为估算的概率,也就是说,加号两边的计算公式,只有一边会成立,一边成立时另一边系数变为零。这里损失函数表达的意思可以理解为估算的结果和真是结果的差距是多少。这里老师还给出了一个问题,我们在函数的一开始计算部分也就是sigmoid已经做出了改变,后面的损失函数部分可否延用回归中用到的平方损失函数呢,答案是不可以的。

    从上图可以看出,使用交叉熵函数获得的损失图像坡度很明显,而平方损失函数在比如左上角倒数几乎为0,这种地方基本处于不学习的状态或者极慢学习的状态,因此无法实现模型的训练。相比之下交叉熵损失函数图像则坡度十分明显,可以在短时间内达到最优处。

三、Multi-class Classification

    多分类问题类似于二分类问题,二分类分为0、1,三分类也如此,当目标为某一类时,某个标签为1,其余为0,则实现了分类。多分类的激活函数部分使用Softmax,三分类计算公式如下:

四、Limitation of Logistic Regression

    这里老师给出了一个例子说明逻辑回归的限制:

    如图中给出的情况单靠逻辑回归是得不到理想模型的,这时需要进行的操作即为特征转化。将原数据进行处理将其变为另一组相关数据,然后进行分类,如下:

    这里可以发现,逻辑回归的过程中环环相扣,即为一个简单的神经网络。从此往后将开始深度学习。

五、HW_2—Logistic Regression

(一)做题过程中出现的细节问题

1、归一化时针对列的基本操作操作X[:,i]。
2、矩阵维度不同计算问题。注意使用转置、全1矩阵对矩阵维度做出改变。
3、画图时使用的数组维度与所要画的线条数不同会出现大量无关曲线。

(二)实验收获

1、正如第二记里提到的Feature Scaling,数据归一化后可以使数据更易训练。
2、实验数据中不为数字的数据可通过扩展参数维度改变数据样本。
3、计算sigmoid时后面补充了clip,控制了计算结果的边界值,避免了之后因为0无法计算的问题。
(三)实验结果



    三幅图分别为学习率为0.02、0.001、0.0001时获得的结果。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值