您的位置:首页 > 其它

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

2017-07-23 11:41 323 查看
逻辑回归也可以说是一个分类器。在二分类器中,输出要么是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=1−log(1−hθ(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(1−hθ(x))也是这种趋势。

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

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

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

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

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

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

虽然它们在形式上不一样,但是它们的意义是一样。都是刻画了每一组输入x与对应的y之间的差距。我们的目标都是为了找到一组θ来最小化这个差距。写成这种形式之后,又可以使用梯度下降算法来拟合参数了。关于梯度下降算法可以参考我的上一篇博文
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息