《机器学习与数据挖掘》实验一:梯度下降法训练线性回归模型

#### 实验题目:使用梯度下降法训练线性回归模型
#### 实验目的:掌握线性回归的基本原理,以及梯度下降法和最小二乘法;
#### 实验环境(硬件和软件)Anaconda/Jupyternotebook/Pycharm
#### 实验内容:
(1)编码实现基于梯度下降的单变量线性回归算法,包括梯度的计算与验证;
(2)画数据散点图,以及得到的直线;
(3)画梯度下降过程中损失的变量图;
(4)基于训练得到的参数,输入新的样本数据,输出预测值;

1.导入工具

import numpy as np##导入包
import matplotlib.pyplot as plt##画图用

plt.rcParams['font.sans-serif']=['SimHei']##中文标题
plt.rcParams['axes.unicode_minus'] = False

2.步骤,求损失变化量

w=0
b=0
data=np.loadtxt('data1.txt',delimiter=',')
x=data[:,0]
y=data[:,1]
times=1000##次数
a=0.0001227##学习率,最后调试了一下参数,发现这个大小比较好
m=len(x)
E=np.zeros([1000,1])##画图用

#e=0
for j in range(times):
    e=0
    pe_w=0#损失函数对w求骗到
    pe_b=0#对b
    sumx2=0#x平方和
    sumy_b=0
    sumy_wx=0
    for i in range(m):##这次迭代求偏导公式中要用到的连家和
        e+=(y[i]-w*x[i]-b)**2##均方误差
     
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值