线性回归、逻辑回归以及感知机的Python实现和比较分析

本文介绍了线性回归、逻辑回归和感知机的基本原理,并给出了它们在Python中的实现。线性回归通过最小化误差平方和进行拟合;逻辑回归引入sigmoid函数处理分类问题;感知机则适用于线性可分数据的分类,通过误分类点的梯度下降更新模型参数。三者虽然应用场景不同,但优化策略相似。
摘要由CSDN通过智能技术生成

线性回归

线性回归是回归问题中最基础的一个部分,它通过对一系列特征进行线性关系的操作来拟合一个能够刻画数据集的超平面。如图所示的例子,对于散落在坐标系里的每一个点,它的 x x x坐标可以看成是它的特征,而它的 y y y坐标则是对应的label值,我们需要对这一组数据进行很好的刻画,才能使得我们在拿到一组新数据时可以准确的预测它的值。在这里,我们采用的是线性回归的方式,即 y = θ x + b y=\theta x+b y=θx+b,因此,二维里就是一条直线。
Alt
下面我们将线性回归归纳到一般的情况下,即 h θ ( x ) = θ 1 x 1 + θ 2 x 2 + . . . . . . + θ n x n + b = θ T x + b h_\theta(x)=\theta_1x_1+\theta_2x_2+......+\theta_nx_n+b=\theta^Tx+b hθ(x)=θ1x1+θ2x2+......+θnxn+b=θTx+b,其中 θ = [ θ 1 , θ 2 , . . . . . . θ n ] \theta=[\theta_1,\theta_2,......\theta_n] θ=[θ1,θ2,......θn]是回归的系数, b b b是偏差值,一般保持不变。对于样本 x i x^i xi,它的特征为 [ x 1 i , x 2 i , . . . . . . , x n i ] [x^i_1,x^i_2,......,x^i_n] [x1i,x2i,......,xni],对于这样的线性回归方程,采用的代价函数是平均误差平方和,公式如下,
J ( θ ) = 1 2 m ∑ i = 0 m ( h θ ( x i ) − y i ) 2 J(\theta) = \frac{1}{2m} \sum_{i=0}^m (h_\theta(x^i)-y^i)^2 J(θ)=2m1i=0m(hθ(xi)yi)2
有了如上的代价函数,下一步需要做的就是最小化此平均误差平方和,在这里采用的是梯度下降,以下是对 θ \theta θ以及 b b b的分别求偏导,
∂ J ( θ ) ∂ θ = 1 m ∑ i = 0 m x i ( h θ ( x i ) − y i ) \frac {\partial J(\theta)}{\partial \theta} = \frac{1}{m} \sum_{i=0}^m x^i(h_\theta(x^i)-y^i) θJ(θ)=m1i=0mxi(hθ(xi)yi)
∂ J ( θ ) ∂ b = 1 m ∑ i = 0 m ( h θ ( x i ) − y i ) \frac {\partial J(\theta)}{\partial b} = \frac{1}{m} \sum_{i=0}^m (h_\theta(x^i)-y^i) bJ(θ)=m1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值