Classification : Logistic Regression (SGD)

Logistic Regression (SGD)

Mahout中涉及到的算法

1 线性回归

了解逻辑回归之前先了解下线性回归:因变量和自变量之前存在线性关系。一般模型如下:



从一般模型可以看出Y和X(X1,X2,X3...)之间存在线性关系。线性回归的目的就是为了确定因变量和自变量的关系程度,换言之,就是求回归模型的参数。

2 逻辑回归

(1) why need it?

要说逻辑回归的优点,自然要先说下线性回归的缺点,主要有难以处理以下两个问题

a. 因变量Y如果不是数值型

b. 因变量与自变量不存在线性关系

(2) 逻辑回归的一般形式

 P是概率,是某个事件发生的概率,处理类别属性,例如是否是男性,是否是色狼?

而且进行了logit变换。也就是说logit(P)与自变量之间存在线性关系,而p显然和X不存在线性关系。

那为什么是logit变换,不是XXX其他的变换,这里有一个前提假设:概率与自变量的关系往往是 S 型的曲线

(3)参数估计

    模型有了,需要利用已知的样本来进行参数估计,最大似然估计用的比较多。mahout中用的是随机梯度下降法(SVD)。此处介绍下随机梯度下降法。

    a. 梯度下降法

        搜索寻优的一个过程,假定一个初始状态,然后不断更新,知道达到目标函数的极小值。其中 称为学习率,他决定梯度下降搜索的步长。算法流程如下:

b. 随机梯度下降

    sgd解决了梯度下降的两个问题: 收敛速度慢和陷入局部最优。修正部分是权值更新的方法有些许不同。不做详细介绍。

猜你喜欢

转载自lbxc.iteye.com/blog/1513975