怎样可以快速增加网站的反链,wordpress用户注册插件,wordpress可以做淘宝客吗,做网站如何选择数据源1. 逻辑回归
逻辑回归#xff08;Logistic Regression#xff09;的模型是一个非线性模型#xff0c;
sigmoid函数#xff0c;又称逻辑回归函数。但是它本质上又是一个线性回归模型#xff0c;因为除去sigmoid映射函
数关系#xff0c;其他的步骤#xff0c;算法都是…1. 逻辑回归
逻辑回归Logistic Regression的模型是一个非线性模型
sigmoid函数又称逻辑回归函数。但是它本质上又是一个线性回归模型因为除去sigmoid映射函
数关系其他的步骤算法都是线性回归的。
可以说逻辑回归都是以线性回归为理论支持的。
只不过线性模型无法做到sigmoid的非线性形式sigmoid可以轻松处理01分类问题。 首先找一个合适的预测函数一般表示为h函数该函数就是需要找的分类函数它用来预
测输入数据的判断结果。然后构造一个Cost函数损失函数该函数表示预测的输出h与
训练数据类别y之间的偏差可以是二者之间的差h—y或者是其他的形式。综合考虑所有
训练数据的“损失”将Cost求和或者求平均记为Jθ函数表示所有训练数据预测值与实际类
别的偏差。显然Jθ函数的值越小表示预测函数越准确即h函数越准确所以这一步需要
做的是找到Jθ函数的最小值。找函数的最小值有不同的方法Logistic Regression实现时有的
是梯度下降法Gradient Descent )。
2. 二分类问题
二分类问题是指预测的y值只有两个取值0或1二分类问题可以扩展到多分类问题。例如我
们要做一个垃圾邮件过滤系统x是邮件的特征预测的y值就是邮件的类别是垃圾邮件还是正常
邮件。对于类别我们通常称为正类positive class和负类negative class垃圾邮件的例子
中正类就是正常邮件负类就是垃圾邮件。
应用举例是否垃圾邮件分类是否肿瘤、癌症诊断是否金融欺诈
3. logistic函数
如果忽略二分类问题中y的取值是一个离散的取值0或1我们继续使用线性回归来预测y的取
值。这样做会导致y的取值并不为0或1。逻辑回归使用一个函数来归一化y值使y的取值在区间
01内这个函数称为Logistic函数logistic function也称为Sigmoid函数sigmoid
function。函数公式如下 Logistic函数当z趋近于无穷大时gz趋近于1当z趋近于无穷小时gz趋近于0。Logistic
函数的图形如下 线性回归模型帮助我们用最简单的线性方程实现了对数据的拟合然而这只能完成回归任务无
法完成分类任务那么 logistics regression 就是在线性回归的基础上添砖加瓦构建出了一种分类
模型。如果在线性模型的基础上做分类比如二分类任务即y取值{01}
最直观的可以将线性模型的输出值再套上一个函数y gz最简单的就是“单位阶跃函数”
unit—step function如下图中红色线段所示。
也就是把看作为一个分割线大于 z 的判定为类别0小于 z 的判定为类别1。
但是这样的分段函数数学性质不太好它既不连续也不可微。通常在做优化任务时目标函数最
好是连续可微的。这里就用到了对数几率函数形状如图中黑色曲线所示。
它是一种Sigmoid”函数Sigmoid函数这个名词是表示形式S形的函数对数几率函数就是其中最
重要的代表。这个函数相比前面的分段函数具有非常好的数学性质其主要优势如下使用该函
数做分类问题时不仅可以预测出类别还能够得到近似概率预测。这点对很多需要利用概率辅助
决策的任务很有用。对数几率函数是任意阶可导函数它有着很好的数学性质很多数值优化算法
都可以直接用于求取最优解。
总的来说模型的完全形式如下LR模型就是在拟合
这条直线使得这条直线尽可能地将原始数据中的两个类别正确的划分开。
对于线性边界的情况边界形式如下 构造预测函数为: h(x)的值有特殊的含义它表示结果取1的概率因此对于输入x分类结果为类别1和类别0的概率分
别为
正例(y1)
负例(y0)
4. 损失函数
对于任何机器学习问题都需要先明确损失函数LR模型也不例外在遇到回归问题时通常我
们会直接想到如下的损失函数形式平均误差平方损失MSE) 但在LR模型要解决的二分类问题中损失函数的形式是这样的 这个损失函数通常称作为对数损失(logloss),这里的对数底为自然对数e其中真实值 y 是有 0/1 两
种情况而推测值由于借助对数几率函数其输出是介于0~1之间连续概率值。仔细查看不难发
现当真实值y0时第一项为0当真实值y1时第二项为0所以这个损失函数其实在每次
计算时永远都只有一项在发挥作用那这就可以转换为分段函数分段的形式如下 5. 优化求解
现在我们已经确定了模型的损失函数那么接下来就是根据这个损失函数不断优化模型参数从而
获得拟合数据的最佳模型。
重新看一下损失函数其本质上是 L 关于模型中线性方程部分的两个参数 w 和 b 的函数 其中
现在的学习任务转化为数学优化的形式即为
由于损失函数连续可微我们可以借助梯度下降法进行优化求解对于两个核心参数的更新方式如
下 求得 进而求得 转换为矩阵的计算方式为 至此 Logistic Regression模型的优化过程介绍完毕。
6. 梯度下降算法
梯度下降法求Jθ的最小值θ的更新过程 要使得最大化则运用梯度上升法求出最高点 # 梯度上升主要是采用了最大似然的推导
def gradAscent(dataMatIn,classLabels):dataMatrix mat(dataMatIn)labelMat mat(classLabels).transpose()m,n shape(dataMatrix) # n3alpha0.001 # 学习率maxCycles500 # 循环轮数theta ones((n,1))for k in range(maxCycles):hsigmoid(dataMatrix * theta)error (labelMat - h)theta theta alpha * dataMatrix.transpose()*errorreturn theta