首页 > 代码库 > 机器学习-logistic回归

机器学习-logistic回归

logistic回归的主要思想:

已知样本数目为m,特征(feature)数目为n。

给出假设h(X)=g(X*theta)

g(z)是sigmiod函数:g(z)=1/(1+exp(-z))

 

考虑分类器问题:Y取值为0或1,同样地,h(X)取值为0或1。

则P(y|x;theta)=h(x)^y*(1-h(x))^(1-y)

对其取log得到:

技术分享

对J求导得到:

技术分享

利用最大似然函数求解,得到theta和J

注:基于MATLAB,通过设置options=optimset(‘GradObj‘,‘on‘,‘MaxIter‘,400);

可以利用函数fminunc直接求解theta。

 

若线性分类器不能解决问题,可以尝试基于现有特征创造更多特征,如:

技术分享

相应地修改J及其导数:

注:lamda太大会导致欠拟合,太小会导致过拟合

技术分享

技术分享

机器学习-logistic回归