1.线性回归与逻辑回归
2.多元梯度下降
3.梯度上升
4.正规方程
线性回归与逻辑回归
线性回归
在统计学中,线性回归(Linear Regression)是利用称为线性回归方程的最小平方函数对一个或多个自变量和因变量之间关系进行建模的一种回归分析。这种函数是一个或多个称为回归系数的模型参数的线性组合。只有一个自变量的情况称为简单回归,大于一个自变量情况的叫做多元回归。
逻辑回归
以胃癌病情分析为例,选择两组人群,一组是胃癌组,一组是非胃癌组,两组人群必定具有不同的体征与生活方式等。因此因变量就为是否胃癌,值为“是”或“否”,自变量就可以包括很多了,如年龄、性别、饮食习惯、幽门螺杆菌感染等。
预测房价
多元梯度下降
假设函数
这里n=5,含有5个参数
这里需要注意的是,在原有自变量的基础上,需要主观添加一个均为1的偏移量,即公式中的x0。
假如有两个特征值,即3个参数将会得到如图所示的损失函数
损失函数
m:样本数
表示每个theta
代码实现
1 | # coding=utf-8 |
梯度上升
对于梯度下降法来说,在神经网络中用到,最小化误差的一种优化方法
在梯度上升法是在逻辑回归中求概率最大值,即求最大似然函数的最大值用到的方法
算法实现
1 | from numpy import * |
1 | #字符串的split用法 |
1 | #转置有三种方式,transpose方法、T属性以及swapaxes方法。 |
正规方程(normal equation)
一种直接求解参数的方法
1 | octave:1> X = [1,2104,5,1,45;1,1416,3,2,40;1,1534,3,2,30;1,852,2,1,36] |
正规方程与梯度下降的比较
Logistic regression
Logistic本质上是一个基于条件概率的判别模型(DiscriminativeModel)。利用了Sigmoid函数值域在[0,1]这个特性。
直接使用线性回归的输出作为概率是有问题的,因为其值有可能小于0或者大于1,这是不符合实际情况的,逻辑回归的输出正是[0,1]区间。
Logistic 回归通过使用其固有的 logistic 函数估计概率,来衡量因变量(我们想要预测的标签)与一个或多个自变量(特征)之间的关系。
sigmoid 函数
Sigmoid 函数是一个 S 形曲线,它可以将任意实数值映射到介于 0 和 1 之间的值,但并不会取到 0/1。然后使用阈值分类器将 0 和 1 之间的值转换为 0 或 1。
决策边界
为什么使用sigmoid function
**