机器学习-逻辑回归

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 介于二者之间

以上是关于机器学习-逻辑回归的主要内容,如果未能解决你的问题,请参考以下文章

机器学习:逻辑回归

机器学习常见算法优缺点之逻辑回归

用Python开始机器学习(7:逻辑回归分类) --好!!

机器学习:逻辑回归(基础理解)

机器学习算法整理逻辑回归 python实现

机器学习06- 逻辑回归