美文网首页
[分类算法]逻辑回归

[分类算法]逻辑回归

作者: JaiUnChat | 来源:发表于2017-01-12 11:13 被阅读94次

分类的结果是要么是0,要么是1,所以它是离散的。一般来说分类都是存在一个阈值,这个阈值的一边是一种情况,另一边是另一种情况。并且,这个函数的取值范围也需要合适的映射。

1.1 预测函数

使用Sigmod函数来作为预测函数。

sigmoid函数

Sigmoid 函数的值域为(0,1),在R域的中值x=0的时候取到值域中值0.5。所以非常适合我们将任何的实数映射到(0,1)区间。

函数名 函数
Sigmoid 函数 f(x) = 1/(1+e-x)
预测函数 hθ hθ(x)=g(−θTx)=1/(1+e−θTx),令z=−θTx , g(z)=1/(1+e−z)

这里的hθ(x)表示的是输出是1的概率。比如hθ(x)=0.6意味着我们的输出结果是1的可能性是1。相对的,输出结果是0的概率就是hθ(x)=0.4了。
统计学表示 hθ(x)=P(y=1|x;θ)=1−P(y=0|x;θ)P(y=0|x;θ)+P(y=1|x;θ)=1) (吐槽一下,这里的|竟然不能转义,这条公式放不进表格里啊)

1.2 决策边界

为了获得离散的输出值0,1。我们将输出值作如下转换。

  hθ(x)≥0.5→y=1 , hθ(x)<0.5→y=0

对于逻辑函数来说,输入大于或者等于,输出[0.5, 1);输入小于0,输出(0, 0.5)

z值 e值 g(z)
z=0 e^0=1 g(z)=1/2
z→∞ e−∞→ 0 g(z)=1
z→−∞ e∞→∞ g(z)=0

所以对于g(x)的输入如果是θTX的话,那么就是
hθ(x)=g(θTx)≥0.5 当 θTx≥0

决策边界就是分割预测结果y=0,1的线。它是由预测函数描绘的。
而g(z)的输入可以是任意的,甚至是非线性函数,比如一个圆圈。

2.1 代价函数

我们不能用在线性回归中用的那个函数,因为逻辑函数会有波浪形的输出(1,0,1,1,0,1),导致会有许多的局部最优解。换句话说,它就不是凸函数。
所以我们用的是下面的预测函数。

代价函数

y = 1, 就有如下的图 (hθ(x),J(θ))


y=1

当正确答案y是1时,如果预测函数输出也是1,那么代价函数就是1。如果预测函数趋于0,那么代价函数趋于无穷。

相同的, 当 y = 0, 就有如下的图 (hθ(x), J(θ))


y=0

当正确答案y是0时,如果预测函数输出也是0,那么代价函数就是0。如果预测函数趋于1,那么代价函数趋于无穷。

这样表示代价函数保证了代价函数是凸函数。

3.Matlab/ Octave 实现代码

另起一篇介绍

相关文章

  • 逻辑回归

    逻辑回归是一种解决分类问题的机器学习算法。 逻辑回归可以视为回归算法也可以视为分类算法,但通常用于分类,#####...

  • 逻辑回归公式推导

    逻辑回归 逻辑回归到底是分类还是回归?它是经典的二分类算法 机器学习算法选择:先逻辑回归再用复杂的,能简单的还是用...

  • 泰坦尼克号系列(二)——建模和特征工程及其评估

    【目录】 建模 逻辑回归 逻辑回归算法是一种很常用的用于二分类的分类算法,我们先用逻辑回归模型试一试。scikit...

  • Python数据分析与机器学习15-逻辑回归概述

    一. 逻辑回归简介 目的:分类还是回归?经典的二分类算法! 机器学习算法选择:先逻辑回归再用复杂的,能简单还是用简...

  • 【原创】逻辑回归基本概念梳理

    逻辑回归 前言 1、逻辑回归是经典二分类方法、不是回归方法 2、机器算法中,先选简单算法、后复杂,逻辑回归特别简单...

  • 从0开始实现逻辑回归算法(LogicRegression)

    从0开始实现逻辑回归算法(LogicRegression) 逻辑回归(LR)算法是一个比较常见的二元分类算法,通常...

  • 逻辑回归

    Logistic regression 目的:分类还是回归?经典的二分类算法! 机器学习算法选择:先逻辑回归再用复...

  • 逻辑回归算法简介

    逻辑回归算法:虽然名字中带有回归两个字,但它却不是回归算法,它是一个经典的二分类算法。 回归与分类的区别:回归:可...

  • 逻辑回归

    逻辑回归:经典的二分类算法

  • 逻辑回归

    逻辑回归是一个分类算法,利用回归来做分类.它可以处理二元分类以及多元分类,逻辑回归与线性回归不同主要体现在以下两点...

网友评论

      本文标题:[分类算法]逻辑回归

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