逻辑回归--多元线性回归模型

1 引言

  给出多元线性回归的解法,本篇重点回答如何构造“梯度下降法解”的数学模型。

2 从线性回归模型到最小二乘法的构建 

  [问题] 对于给定向量集合Ω={Xi},i:={1,...m},Xi属于集合Rn;再给出一个数集Y={yi},i:={1,...m}存在一个映射{Di}→{Yi}试给出它们的最佳超平面模拟;

      [分析]   映射        Z = Xα + β          ; Z是m×1向量;X是m×n的矩阵; α是1×n的向量;β为标量常量

                 最小二乘法表达式: E = ∑i( yi  - Zi2

      改写为: E = ∑i( yi  - Xi α - β)2

                 重新拼接表达式:令 Xα + β = [X I ][α β],且W = [X,I],ω = [α,β]T

                 E = || Y - Wω||2

                 梯度表达式:∂E/∂ω = 2(-W)T( Y - W ω );       //   此处为E对ω的梯度;根据此梯度更新ω的系数;对矩阵求导后,需要转置换位;

                 令迭代序列为 {ω  ω1   ω2    ω3 ...  ωs }

                 其中 ωi+1 = ωi  - 2ε(∂E/∂ω) ,               其中ε是给定的迭代步长;每次迭代增加梯度方向上的ε个长度

       至此,按照梯度逐步下降的方向,一步一步将ωi迭带为数值解。

3 Python代码实现

import numpy as np
Y = np.array([0.75,0.98,1.76,1.98,2.63])
W = np.array([[2.1,1],[2.98,1],[4.9,1],[6.1,1],[7.6,1]])
omig = np.array([0,0])
for i in range(60000):
mid = Y - np.dot(W,omig)
Gnd = -2*np.dot(W.T,mid)
omig = omig - 0.0002*Gnd
if (i%10000 == 0 ):
print omig
结果打印
[ 0.01807416 0.00324 ]
[ 0.33869174 0.0163087 ]
[ 0.33910011 0.0140404 ]
[ 0.33912152 0.01392144]
[ 0.33912265 0.0139152 ]
[ 0.3391227 0.01391487]
打印图

 

转载于:https://www.cnblogs.com/gongdiwudu/p/6138151.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值