逻辑回归案例
小细节
- 逻辑回归(logistic regression)虽然被称之为逻辑回归,但是它本质上其实是一种分类算法(classification algorithm),逻辑回归名字的由来是有历史原因的。
- sigmoid函数在逻辑回归中站着重要的位置,sigmoid function也被称为logistic function,称之为逻辑函数就做到了见名知意了,说明\({{1}\over{1 + e^{-x}}}\)与逻辑回归密切相关。
- 在线性回归中得知,假设函数\(h(x) = \theta_0 + \theta_1x\),逻辑回归处理的是分类的问题,那么我们的算法要么输出的是概率(返回在0到1之间),要么是输出的就是0或者1等等,在线性回归中建立的假设函数\(h(x) = \theta_0 + \theta_1x\)显然不会在0到1之间或者输出的值为0或者1,这个时候就需要sigmoid函数了;sigmoid函数可以将实数范围内的值转换为0-1之间的值,而这个值恰巧就是概率所在的范围,进一步的,得到了概率的值,只要我们设定了阈值(threshold)就可以将其转换为0或者1等等。
- 逻辑回归是在线性回归的基础上发展而来的,它是依赖于线性回归的,为什么?因为在逻辑回归中,定义的假设函数时\(h_{\theta}(x) = g(\theta^{T}x)\),其中\(\theta^{T}x\)就是在线性回归中假设函数的矩阵形式,在逻辑回归中通过g函数将其封装到sigmoid函数中,\(g(x) = {{1} \over {1 + e^{-x}}}\),只有这样,才能将\(\theta^{T}x\)这个输出在R上的值映射到0-1之间,所有逻辑回归中的假设函数为\(h_{\theta}(x) = g(\theta^{T}x) = {{1} \over {1 + e^{-\theta^{T}x}}}\)。
- 逻辑回归假设函数的概率表现形式: \(h(x) = g(\theta^{T}x) = P(y = 1|x; \theta)\),在提醒一下,这里的\(\theta\)是一个列向量,在MATLAB/Octave中出现公式的地方,十有八九都是使用矩阵方程表达的,输入和输出也大部分是列向量或者矩阵。
- 关于阈值(threshold),在上面几点中已经提到的,这里提一下如何将一个0-1的概率值转换为一个0或者1等等的分类结果,首先根据通过sigmoid函数,我们的线性回归的结果会被锁定到0-1之间,这个时候如果假设函数\(h_{\theta}(x) = g(\theta^{T}x) = {{1} \over {1 + e^{-\theta^{T}x}}}\)的结果为0.7,表示 \(y = 1\)的概率为0.7,对立的,\(y = 0\)的概率为0.3,如果规定threshold为0.5,则表示如果假设函数\(h()\)的输出大于等于0.5则\(y = 1\),如果小于0.5则\(y = 0\),换一个角度来说,sigmoid中封装的线性回归函数在大于等于0的时候,\(y = 1\),在小于0的时候,\(y = 0\)。
sigmoid function(logistic function)
- 定义
- \({{1} \over {1 + e^{-x}}}\)
- 图像

根据学生的两次考试成绩来判断是否能够被大学录取
案例概要
- 第一列为第一次考试成绩列向量
- 第二列为第二次考试成绩列向量
- 第三列为是否被录取(0 or 1)
案例分析
如果y的值为0, 1, 2, 3,如果使用拟合出来的函数进行预测
- 思路和对一个函数求偏导是一样,当我们讨论y=0的情况时,就将其他的1,2,3情况都归为一类,一次类推,我们可以得出y=0,1,2,3的概率,只要\(max(h(x^{(i)}))\)即可
逻辑回归实战
原文:https://www.cnblogs.com/megachen/p/9938519.html