机器学习:如何理解机器学习中的逻辑回归

来源:互联网 发布:黑马python视频教程 编辑:程序博客网 时间:2024/06/05 19:31

逻辑回归也可以说是一个分类器。在二分类器中,输出要么是0,要么是1。所以对于一组输入来说,我们要做的就是通过这个输入的数据,经过假设函数的处理之后,输出结果是1的概率。也就是说,输出是一个概率值。所以现在要转成逻辑函数:

hθ(x)=11+eθTx

如何理解这个逻辑函数呢?
这个函数就是为了评估输入为x时,输出的结果刚好是y=1的概率。所以如果我们有一组数据(x(i),y(i)=1)那么
hθ(x(i))=11+eθTx(i)
的结果应该尽可能使得hθ(x(i))的结果接近于1(通过调整θ)。

那么,当我们有m组数据时,哪一组θ是拟合得最好(效果最好)的呢?拟合得最好的那组θ就是我们想要的。所以我们可以定义代价函数为:

Cost(hθ(x),y)={log(hθ(x))if  y=1log(1hθ(x))if  y=0

为什么这么定义呢?
我们可以画出log(hθ(x))的图形:
这里写图片描述

从图中我们可以看到,当hθ(x)趋向于1的时候,说明有更高的概率y=1,而这个函数也是当y=1的时候的函数形式。y=1时,hθ(x)趋向于1,log(hθ(x))的值越小,也就是代价越小。同理,当y=0时,log(1hθ(x))也是这种趋势。

因为y要么是1,要么是0,所以代价函数可以写为:

Cost(hθ(x),y)=y log(hθ(x))(1y)log(1hθ(x))

所以:
J(θ)=1mi=1mCost(hθ(x(i)),y(i))=1m[i=1my(i)log(hθ(x))+(1y(i))log(1hθ(x(i)))]

我们的目标就是获得J(θ)最小值时的那组θ值。

事实上,我们也可以使用平方差来作为代价函数:

Cost(hθ(x),y)=(hθ(x(i))y(i))2

虽然它们在形式上不一样,但是它们的意义是一样。都是刻画了每一组输入x与对应的y之间的差距。我们的目标都是为了找到一组θ来最小化这个差距。写成这种形式之后,又可以使用梯度下降算法来拟合参数了。关于梯度下降算法可以参考我的上一篇博文。

原创粉丝点击