机器学习之Logistic回归
1、所谓逻辑斯蒂回归
(1.1);
逻辑斯蒂回归就是想办法将线性回归模型用于分类(《机器学习》中称为对数几率回归)。线性回归模型产生的预测值可能是所有实值,不利于分类;为了用于二分类任务,希望将预测值z转换为0/1值;阶跃函数:
(1.2);
可以将z转换为0/1值,但是阶跃函数在x=0处不连续,所以用逻辑斯谛函数(logisitic function,即Sigmoid函数)
(1.3);
近似代替阶跃函数,将线性模型的预测值转换为接近0或1的值(Sigmoid函数的输出值在z=0处变化很陡,可以认为大部分值都是接近0或1)。
2、公式
对公式(1.3)取对数,有
(2.1);
将y视为样本x作为正例的可能性,1-y为反例。将y视为后验概率估计,则二项逻辑斯蒂回归模型如下:
;
令:
;
由伯努利分布的概率公式:
(2.6);
得似然函数和对数似然函数:
(2.7);
(2.8);
3、梯度上升法的代码与公式
其实只有这一节是我想写的
《机器学习实战》第五章程序清单5-1下面代码的由来:
weights = weights + alpha * dataMatrix.transpose()* error
书中使用的是梯度上升法
(3.1)
,仅对该行代码做推导,对式(2.8)求关于w的偏导数,得:
(3.2)
所以,
是代码中列向量error的元素,xi属于代码中矩阵dataMatrix。
4、参考资料
《机器学习》周志华
《统计学习方法》李航
《机器学习实战》
相关推荐
Wyt00 2020-06-08
EchoYY 2020-04-29
theta = np.zeros #theta = array,构造全为零的行向量。grad[0,j] = np.sum/len #∑term / m. return value > threshol
Kwong 2020-04-26
playoffs 2020-04-24
算法与数学之美 2020-04-20
Selier 2020-04-11
wangqing 2020-02-15
chognzhihongseu 2020-01-30
kingzone 2020-01-29
sxyhetao 2019-12-19
lixiaotao 2019-12-17
PeterHuang0 2019-11-29
yukyinbaby 2019-11-08
wbingyang 2019-10-20
darlingtangli 2019-07-12
caozhenjun0 2016-09-25
只布布倩 2016-02-19
yonezcy 2019-06-29
YUAN 2019-06-28