逻辑回归

逻辑回归Logistic Regression

二分类算法

逻辑回归应用场景:

  • 广告点击率、是否为垃圾邮件、是否患病、金融诈骗、虚假账号

原理:

数学模型: 线性回归 + 激活函数

sigmoid函数:
S(x)=\frac{1}{1+e^{-x}}
sigmoid激活函数:
g\left(\theta^{T} x\right)=\frac{1}{1+e^{-\theta^{T} x}}
sigmoid激活函数增加模型非线性拟合能力

特征矩阵 x 权重矩阵(回归系数矩阵)

损失函数

对数似然损失函数
\operatorname{cost}\left(h_{\theta}(x), y\right)=\sum_{i=1}^{m}-y_{i} \log \left(h_{\theta}(x)\right)-\left(1-y_{i}\right) \log \left(1-h_{\theta}(x)\right)

优化

同样使用梯度下降优化算法,去减少损失函数的值。这样去更新逻辑回归前面对应算法的权重参数,提升原本属于1类别的概率,降低原本是0类别的概率。

逻辑回归api

sklearn.linear_model.LogisticRegression(solver=’liblinear’, penalty=‘l2’, C = 1.0)

  • solver可选参数:{‘liblinear’, ‘sag’, ‘saga’,’newton-cg’, ‘lbfgs’},
    • 默认: ‘liblinear’;用于优化问题的算法。
    • 对于小数据集来说,“liblinear”是个不错的选择,而“sag”和’saga’对于大型数据集会更快。
    • 对于多类问题,只有’newton-cg’, ‘sag’, ‘saga’和’lbfgs’可以处理多项损失;“liblinear”仅限于“one-versus-rest”分类。
  • penalty:正则化的种类, 惩罚项
  • C:正则化力度

发表评论

邮箱地址不会被公开。 必填项已用*标注