人工智能学习笔记.3

线性回归:线性模型是一种形式简单但包含机器学习主要建模思想的模型。线性回归是线性模型的一种典型方法

  • 给定一组由输入x和输出y构成的数据集,线性回归就是通过训练学习得到一个线性模型来最大限度地根据输入拟合输出

y = w× +b线性回归学习的关键问题在于确定参数 w和 b,使拟合后的输出和真实的输出相接近

要求W和b的最小化参数,上式分别对w和b求一阶导数并令其为0,对w求导过程

对b求导过程

分别令其为0,得到w和b的最优解表达式

即最小二乘法

线性回归模型主体部分的代码实现

# 导入numpy模块

import numpy as np

### 定义模型主体部分

### 包括线性回归模型公式、均方损失函数和参数求偏导三部分

def linear_loss(X, y, w, b):
    
'''
   
 输入:
    
X:输入变量矩阵
   
y:输出标签向量
    
w:变量参数权重矩阵
   
b:偏置
    输出:
    
y_hat:线性回归模型预测值
   
loss:均方损失
    
dw:权重系数一阶偏导
    
db:偏置一阶偏导
    
'''
    
# 训练样本量
    
num_train = X.shape[0]
    
# 训练特征数
    
num_feature = X.shape[1]
    
# 线性回归预测值
    
y_hat = np.dot(X, w) + b
    
# 计算预测值与实际标签之间的均方损失
    
loss = np.sum((y_hat-y)**2) / num_train
    
# 基于均方损失对权重系数的一阶梯度
    
dw = np.dot(X.T, (y_hat-y)) / num_train
    
# 基于均方损失对偏置的一阶梯度
    
db = np.sum((y_hat-y)) / num_train
    
return y_hat, loss, dw, db

linear_loss函数的输入参数包括训练数据和权重系数,输出为线性回归模型预测值,均方损失,权重参数一阶偏导和偏置一阶偏导

然后在linear_loss函数的基础上,定义线性回归模型的训练过程。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值