线性回归和代价函数

目录

1.线性回归算法:监督学习算法的例子

2.代价函数数学定义,有助于弄清楚如何把最有可能的直线与我们的数据相拟合

3.前面给出了代价函数的数学定义,接下来给出例子直观理解代价函数的作用

4.然后我们要讨论有两个参数的情况


1.线性回归算法:监督学习算法的例子

这里还是住房价格的例子,假设你有一个朋友有一个1250平方的房子,想要卖掉,那么根据这个模型,可以用一条直线来拟合,告诉他可以卖到220K,这是监督学习的例子,因为每一个例子有一个“正确答案”。

现在有一个房价的训练集,我们的工作是从这个数据集中学习如何预测房价,下面要定义一些符号:

假设小写字母m表示训练样本的数量,x代表输入变量或特征,y表示输出变量,用(x,y)表示一个训练样本

用他来表示第i个训练样本,上标i只是一个训练集的索引,指的是这个表格中第i行。

学习算法会得出一个假设函数h,而h就是一个引导从x得到y的函数。

函数h的作用是预测y是关于x的线性函数

线性函数是学习复杂函数的基础,先拟合线性函数再处理更加复杂的模型

这个模型称为线性回归,这个例子是一个一元线性回归,变量是x,另一个名字是单变量线性回归

2.代价函数数学定义,有助于弄清楚如何把最有可能的直线与我们的数据相拟合

在线性回归中有一个这样的训练集,\Thetai是模型参数,如何选择这两个参数,选择的参数不同的得到的假设函数就不同,如下所示

### 线性回归中的代价函数线性回归中,代价函数用于衡量模型预测值与实际值之间的差异。对于单变量线性回归问题,假设 \( h_\theta(x) = \theta_0 + \theta_1x \)[^1] 是模型的预测函数,则其目标是最小化预测值与真实值之间的误差。 具体来说,常用的代价函数(也称为均方误差函数)定义为: \[ J(\theta_0, \theta_1) = \frac{1}{2m} \sum_{i=1}^{m} (h_\theta(x^{(i)}) - y^{(i)})^2 \] 其中: - \( m \) 表示训练样本的数量; - \( x^{(i)} \) \( y^{(i)} \) 分别表示第 \( i \) 个样本的输入特征对应的实际输出; - \( h_\theta(x^{(i)}) \) 表示模型基于当前参数 \( \theta_0 \) \( \theta_1 \) 对第 \( i \) 个样本的预测值。 该公式的目标是找到合适的参数 \( \theta_0 \) \( \theta_1 \),使得代价函数 \( J(\theta_0, \theta_1) \) 达到最小值[^3]。这通常通过优化算法(如梯度下降法)实现。 在某些情况下,为了简化计算过程,可能会固定某个参数(例如令 \( b = 0 \) 或者仅调整单一参数),从而将代价函数转化为更简单的形式[^4]。最终,当代价函数达到最小值时,所对应的模型被认为是最佳拟合模型[^5]。 ```python import numpy as np def compute_cost(X, y, theta): """ 计算线性回归代价函数 参数: X: 输入数据矩阵 (形状为 [m, n]) y: 实际输出向量 (形状为 [m, ]) theta: 当前模型参数 (形状为 [n+1, ]) 返回: cost: 代价函数值 """ m = len(y) predictions = X.dot(theta) errors = predictions - y cost = (1 / (2 * m)) * np.sum(errors ** 2) return cost ``` 上述代码展示了如何根据给定的数据集模型参数计算代价函数的具体实现方法。 ####
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值