机器学习之逻辑回归
机器学习之逻辑回归
回归模型一般分为线性回归和逻辑回归,,所谓的逻辑回归,其实就是用于目标分类的模型,他使用一个逻辑函数(一般为sigmoid函数),把任意输入的实值x转换成区间为0-1之间的预测值y。逻辑回归比线性回归多了一步,就是把结果映射到逻辑函数上,输出是A或者不是A。
sigmoid函数如图:
在逻辑回归的世界里,通常呢我们不拟合数据,我们只做决策边界,
下图为各种各样的决策边界:
逻辑回归的损失函数长什么样呢,
就是这样,当y=1时,越接近1,-log((x)) 就越小,反之y=0,越接近0,-log(1-(x))就越小,所以把两式合在一起就得到:
在损失函数前面加1/m,就是为了求导好算,并不影响损失函数的相对大小。
为了防止某一个属性对数据的训练作用过大,从而拉偏了预测,所以我们加上正则项,
得到:
式中λ为学习率。
正则化是结构风险最小化策略的实现,是在经验风险上加一个正则化项或惩罚项。正则化项一般是模型复杂度的单调递增函数,模型越复杂,正则化项就越大。
正则项可以取不同的形式,在回归问题中取平方损失,就是参数的L2范数,也可以取L1范数。
用梯度下降法求解最小值,
则θ的更新过程为:
所以θ的更新过程写为:
Python实现逻辑回归:
from sklearn.linear_model import LogisticRegression
Model = LogisticRegression()
Model.fit(X_train, y_train)
Model.score(X_train,y_train)
# Equation coefficient and Intercept
Print(‘Coefficient’,model.coef_)
Print(‘Intercept’,model.intercept_)
# Predict Output
Predicted = Model.predict(x_test)
- 点赞
- 收藏
- 关注作者
评论(0)