分类和回归的区别在于输出变量的类型。
定量输出称为回归,或者说是连续变量预测;
定性输出称为分类,或者说是离散变量预测。
回归是统计学的一个重要概念,其本意是根据之前的数据预测一个准确的输出值。
回归算法:线性回归是一种基本的回归算法,当给出相应的训练集后,通过线性回归来寻找合适参数θ(向量)使得Hypothesis函数的Cost function最小。
分类算法:逻辑回归是一个分类算法,逻辑回归的Hypothesis和线性回归非常相似,唯一的区别在于外层的sigmoid function。
sigmoid:简单来说,当参数大于0时,则函数值趋近于1,而当参数值小于0时,函数值趋近于0。因此逻辑回归的Hypothesis可以解释为样本x属于正类型的概率。当θx>0后,概率趋近于1,反之则趋近于0。
1.线性回归(Linear regression)
线性回归分析常用于分析两个变量X和Y 之间的关系,例如X为尺寸 ,Y为房价之间的关系。
房价预测
迭代优化过程
数据集(训练实例)
线性模型
参数
如何确定参数?
误差
将模型与数据点之间的距离差 之和做为 衡量匹配好坏的标准。 误差越小, 匹配程度越大。
代价函数(Cost function)
我们想要找到的模型, 最后是想要使 f(x) 最大程度地 与y相似, 所以我们想要尽量地减少 f(x)与y之间的差值。
最小二乘法为什么使用平方而不是绝对值?
梯度下降(Gradient descent)
学习率(learning rate)
大于0的一个很小经验值,它决定沿着能让代价函数下降的程度有多大。
每一次都同时让所有的参数减去学习速率乘以代价函数的导数。
如果 α 太小,梯度下降就会变慢。
如果α太大,梯度下降法可能会越过最低点。甚至可能无法收敛,或者偏离。
回归模型性能度量方式
机器学习模型到底对数据的预测效果如何,这就需要一个标准,就是性能度量。
2.逻辑回归(Logistic regression)
电路正负极分类
迭代优化过程
逻辑回归是一种描述数字电路特点的工具。输出量是高、低电平,可以用二元常量(0,1)来表示。0作为负类别(错误,相对不太受关注的类别),1作为正类别(正确,相对受关注高的类别)。
我们可以直接使用线性回归处理二分类问题吗?
1>不可以,如果使用线性回归,那么线性回归模型的输出值可能远大于1,或者远小于0。
2>导致代价函数很大。不适合快速计算。
逻辑回归算法的思想是:它的输出值永远在0 到1 之间。
这里就使用到sigmoid函数(S型生长曲线)。
其中z代表的就是之前学习过的线性回归,逻辑回归中的回归由此而来。
逻辑回归输出值范围为0-1(输出正类别的概率),其中设置阈值为0.5;
如果数值大于0.5,属于1类别(正类别概率大于0.5);
如果数值小于0.5,属于0类别(正类别概率小于0.5);
通过sigmoid函数,将线性问题,转换为概率问题。
我们想要根据电路,来预测电路的正负极,我们能不能用回归的方法做呢? 显然是可以的, 我们只要找到一个模型,然后再进行匹配就可以了。
但是因为分类问题的y值常常是一些离散的数字,(比如, 正极为1, 负极为0), 所以我们已经不能用一个 简单的线性函数来拟合这些数据了。我们需要一个更逼真的模型。
于是我们引入了一个更适合处理分类问题的函数一个 非线性函数, 阶跃函数。
Sigmoid function
代价函数(Cost function)
熵
熵是用来衡量信息不确定性的单位(概率和信息量乘积)
交叉熵
用来检验实际发生概率和预测准确率信息量的乘积
简单来说,当参数大于0时,则函数值趋近于1,而当参数值小于0时,函数值趋近于0.因此逻辑回归的Hypothesis可以解释为样本x属于正类别的概率。当θ.Tx>0后,概率趋近于1,反之则趋近于0。由此得到Cost function如下:
Cost function看上去复杂,实际上如果自习分析,其实函数表示的意义非常简单,当预测的概率越接近真实情况,代价函数越接近0,反之则趋近于无穷大。