1.基础概念介绍
逻辑回归(Logistic Regression, LR)模型,回归是一种极易理解的模型,就相当于y=f(x),表明自变量x与因变量y的关系。最常见问题有如:通过用户的一些特征,性别,职业,近期购买记录等特征预测用户是否会购买某个商品,其中的用户特征就是自变量x,即特征数据,判断是否购买就相当于获取因变量y,即预测分类。(0不买,1购买)
使用场景:当你的目标变量是分类变量时,才会考虑逻辑回归,并且主要用于两分类问题
2. LR与神经网络的关系
- Neural Networks:神经网络,由多个神经元构造,可以有多个输入、多个输出
- Logistic Regression可以看做是仅含有一个神经元的单层的神经网络
3. 训练过程
逻辑回归中,预测值 表示为1的概率,取值范围在[0,1]之间。这是其与二分类模型不同的地方。使用线性模型,引入参数w和b。权重w的维度是( ,1),b是一个常数项。这样,逻辑回归的线性预测输出可以写成:
逻辑回归中,w和b都是未知参数,需要反复训练优化得到。因此,我们需要定义一个cost function,包含了参数w和b。通过优化cost function,当cost function取值最小时,得到对应的w和b。
提一下,对于m个训练样本,我们通常使用上标来表示对应的样本。例如 表示第i个样本。
如何定义所有m个样本的cost function呢?先从单个样本出发,我们希望该样本的预测值 与真实值越相似越好。我们把单个样本的cost function用Loss function来表示,根据以往经验,如果使用平方错误(squared error)来衡量,如下所示:
但是,对于逻辑回归,我们一般不使用平方错误来作为Loss function。原因是这种Loss function一般是non-convex的。non-convex函数在使用梯度下降算法时,容易得到局部最小值(local minumum),即局部最优化。而我们最优化的目标是计算得到全局最优化(Global optimization)。因此,我们一般选择的Loss function应该是convex的。
Loss function的原则和目的就是要衡量预测输出 与真实样本输出y的接近程度。平方错误其实也可以,只是它是non-convex的,不利于使用梯度下降算法来进行全局优化。因此,我们可以构建另外一种Loss function,且是convex的,如下所示:
我们来分析一下这个Loss function,它是衡量错误大小的,Loss function越小越好。
4. 实现:调用sklearn中的LogisticRegression调用sklearn逻辑回归算法十分简单:1.导入;2.fit()训练;3.predic()预测但是其中参数设置才是关键的是sklearn.linear_model中LogisticRegression类的参数。默认参数如下:
5.参考文章http://lib.youkuaiyun.com/article/machinelearning/37592
https://zhuanlan.zhihu.com/p/29147761
本文介绍了逻辑回归的基础概念,它适用于分类问题特别是两分类问题。逻辑回归被视作单层神经网络的一个特例。文章讨论了训练过程中,逻辑回归的线性预测输出、成本函数和损失函数的设计,强调了选择凸函数作为损失函数以避免局部最优的重要性。
,1),b是一个常数项。这样,逻辑回归的线性预测输出可以写成:
表示第i个样本。
与真实值越相似越好。我们把单个样本的cost function用Loss function来表示,根据以往经验,如果使用平方错误(squared
error)来衡量,如下所示:
2791

被折叠的 条评论
为什么被折叠?



