码迷,mamicode.com
首页 > 其他好文 > 详细

机器学习-逻辑回归

时间:2017-08-20 22:40:03      阅读:184      评论:0      收藏:0      [点我收藏+]

标签:范围   无法   误差   -o   函数   ini   存在   border   概率   

(整理的简单,公式也没使用公式编辑器。)

对于数据集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 介于二者之间

机器学习-逻辑回归

标签:范围   无法   误差   -o   函数   ini   存在   border   概率   

原文地址:http://www.cnblogs.com/parkin/p/7401272.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!