文章模块一览:
一:文章目的
二:效果图展示
三:原理介绍
四:逻辑回归实现的代码
①gradient descen
②stochastic gradient descent
③Mini-Batch Gradient Descent
五:本项目的github地址
一:文章目的
本篇文章旨在利用python实现逻辑回归,其中参数更新利用了三种方法:
①梯度下降算法(gradient descent,GD)
②随机梯度下降算法(stochastic gradient descent,SGD)
③小批量梯度下降算法(Mini-Batch Gradient Descent,MBGD)
最后用matplotlib将classification line(分类边界),loss(损失函数),accuracy(分类边界在测试集上的分类正确率)的变化过程动态显现出来,并保存为gif图
二:效果图展示
①gradient descen
②stochastic gradient descent(待更)
③Mini-Batch Gradient Descent(待更)
三:原理介绍
逻辑回归是二分类模型,目的是得到一个decision boundary(决策边界),并通过一个nonlinear activation function(非线性激活函数)得到一个后验概率,可以理解为判定为正类的置信度。一般利用sigmoid函数后,结果大于0.5判定为正类,否则负类。
以下为算法流程与公式推导:
其中, θ为确定决策边界的参数(列向量),x为样本点(列向量),y为样本点对应的标签
①nonlinear activation,本算法使用的是sigmoid函数
求导
②Hypothesis(假设)
分别得到给定参数下,y=1和y=0的后验概率
③Hypothesis (Compact Form)假设的简写形式
Learning Algorithm
④(Conditional) Likelihood Function
条件似然函数
⑤Maximum Likelihood Estimation
最大似然估计(log-likelihood)
等价于最小化neg log-likelihood(也称 Cross-Entropy cost function,交叉熵损失函数)
即最小化
min θ − ( ∑ k = 1 N y ( k ) log h θ ( x ( k ) ) + ( 1 − y ( k ) ) log ( 1 − h θ ( x ( k ) ) ) ) \min _{\boldsymbol{\theta}} -(\sum_{k=1}^{N} y^{(k)} \log h_{\boldsymbol{\theta}}\left(\boldsymbol{x}^{(k)}\right)+\left(1-y^{(k)}\right) \log \left(1-h_{\boldsymbol{\theta}}\left(\boldsymbol{x}^{(k)}\right)\right)) θmin−(k=1∑Ny(k)loghθ(x(k))+(1−y(k))log(1−hθ