logistic Regression ——tensorflow

logistic Regression(逻辑回归)是一种概率线性模型,主要用来解决判别概率问题,即用于对样本进行分类。

一、逻辑回归与线性回归

 在线性回归模型中,主要是训练出输入x与输出y的一个映射关系,输出一般是连续的,模型形如


 在逻辑回归模型中,输入可以是连续的[-∞,+∞],但是输出一般是离散的,也就是输出是有限个值。例如,其值域可以只有两个值{0, 1},这两个值可以表示对样本的某种分类,高/低、患病/健康、阴性/阳性等,这就是最常见的二分类逻辑回归。同样,输入值X 可以经过逻辑回归模型,将它归入到不同的类别中。

 逻辑回归也被称为广义线性回归模型,它与线性回归模型的形式基本上相同,都具有 ax+b,其中a和b是待求参数,其区别在于他们的因变量不同,多重线性回归直接将ax+b作为因变量,即y = ax+b,而logistic回归则通过函数将ax+b对应到一个隐状态p,p = S(ax+b),然后根据p与1-p的大小决定因变量的值。这里的函数S就是Sigmoid函数



将t换成ax+b,可以得到逻辑回归模型的参数形式:



Sigmoid函数

 

 通过函数S的作用,我们可以将输出的值限制在区间[0, 1]上,p(x)则可以用来表示概率p(y=1|x),即当一个x发生时,y被分到1那一组的概率。可是,等等,我们上面说y只有两种取值,但是这里却出现了一个区间[0, 1],这是什么鬼??其实在真实情况下,我们最终得到的y的值是在[0, 1]这个区间上的一个数,然后我们可以选择一个阈值,通常是0.5,当y>0.5时,就将这个x归到1这一类,如果y<0.5就将x归到0这一类。但是阈值是可以调整的,比如说一个比较保守的人,可能将阈值设为0.9,也就是说有超过90%的把握,才相信这个x属于1这一类。了解一个算法,最好的办法就是自己从头实现一次。下面是逻辑回归的具体实现

二、逻辑回归模型的代价函数

 逻辑回归一般使用交叉熵作为代价函数。这里只给出交叉熵公式:




猜你喜欢

转载自blog.csdn.net/red_ear/article/details/79206306