机器学习-逻辑回归
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了机器学习-逻辑回归相关的知识,希望对你有一定的参考价值。
(整理的简单,公式也没使用公式编辑器。)
对于数据集D={(x1,y1),(x2,y2),...,{xn,yn}} ,而xi= {xi1,xi2,...,xim} 代表m维 。
在线性回归中,我们想学习一个线性的函数 f(x) = w1*x1+w2*x2+w3*x3+...+wm*xm+b . 向量形式 f(X) = Wt*X +b 其中Wt 是W 向量的转置。其可能值范围是(-oo,+oo)。
对于二分类任务,其类别标记为y={0,1}, 需要将范围取到(0,1),就使用sigmoid函数。为什么会想到用这个函数,我想大概也是凑出来的吧。sigmoid 函数形式 如下: y = 1/(1+e-z) , z= f(x) .
p(y=1|x)=e(f(x)) /(1+e(f(x)) ,p(y=0|x)= 1 /(1+e(f(x)) .
两种解释:
1. 极大似然法:
对于给定的数据集D ,可以用极大似然法估计 W 。
l(w,b) = 所有数据在给定假设概率情况下,所有数据产生的概率的积。 即存在即合理。
2. 交叉熵损失
在线性归回中,用的是平方误差和 的损失函数。 在逻辑回归中, 用交叉熵损失函数。
这两种解释,最终推到出来的结果是一致的。殊途同归。
由于无法直接求解损失函数,损失函数有是高阶可导连续凸函数,可以使用梯度下降法、牛顿法求取最优值。 梯度下降就是泰勒展开一阶的情况,牛顿法是泰勒展开二阶的情况。
牛顿法 条件严格 一二阶连续可导,海森矩阵必须正定。
参数更新形式:
分三种: batch gradient descent BGD , stochastic gradient descent SGD, mini-batch gradient descent mini-BGD.
区别就是 wj = wj + alpha * E(i=1,m) ( y(i) - h(x(i)))xj(i)
当 上式的m = n 时, 就是BGD ,
当m<n时,是mini-BGD,
当m=1时, 是SGD。
方法 | 优缺点 |
BGD | 可能落入局部极值点,跳不出来 |
SGD | 训练快,能有一定概率跳出局部极值点,可以在线学习 |
mini-BGD | 介于二者之间 |
以上是关于机器学习-逻辑回归的主要内容,如果未能解决你的问题,请参考以下文章