机器学习单变量线性回归

1 模型概述
给出一些带有标签的数据(即带有“正确答案”的数据),用y=ax+b 的形式去拟合数据(线性,单变量)。
在这里插入图片描述
大致过程如下:给出训练集(带有标签的数据),通过学习算法选择不错的参数 theta0, theta1 得到假设函数h(从x到y 的映射) 在这里插入图片描述

2代价函数
所谓代价函数主要是为了用来评估预测值和实际值的误差,一般选择用平方误差函数。
在这里插入图片描述

3 梯度下降
一般通过梯度下降(沿着代价函数导数方向寻找最小值)的方法来找到合适的theta1, theta2使代价函数最小。
在这里插入图片描述

梯度下降例子
在这里插入图片描述
梯度下降算法
在这里插入图片描述
注意更新梯度的时候,需要先计算当前各个参数方向的偏导(梯度),再更新。

学习率很重要,不能过大也不能过小。过大会导致overshooting,导致找不到最小值,过小需要走很多步才能找到最小值。
在这里插入图片描述

当学习率固定时,在靠近最小值时梯度会慢慢变小,也可以找到最值。不用逐渐减小学习速率。
在这里插入图片描述

局部极值
有时候梯度下降会找到局部极值,不能到达最小值。
在这里插入图片描述

但是不用担心,在单变量线性回归问题中,代价函数是凸函数(碗状)只有一个最值没有局部极值。
在这里插入图片描述

批梯度下降
每次更新梯度时,使用所有训练数据。
在这里插入图片描述

实现机器学习中的单变量线性回归通常涉及以下几个步骤: 1. **数据准备**:收集或获取包含目标变量(我们想要预测的数值)的数据集,并确保只有一个自变量。例如,你可以有一个关于房价的数据集,其中只有面积这一特征。 2. **导入库**:使用Python编程语言和相关的机器学习库,如`numpy`, `pandas`, 和 `sklearn`。比如导入`pd`处理数据,`numpy`做数学运算,以及`LinearRegression`模型。 3. **加载和预处理数据**:将数据读入DataFrame,处理缺失值、异常值,以及可能需要进行的归一化或标准化操作。 4. **创建模型实例**:从`sklearn.linear_model`模块导入`LinearRegression`类,然后创建一个实例。 ```python from sklearn.linear_model import LinearRegression model = LinearRegression() ``` 5. **训练模型**:将数据分为特征(X)和目标变量(y),使用`.fit()`方法对模型进行训练。 ```python X_train = data['area'].values.reshape(-1, 1) # 假设'area'列是自变量 y_train = data['price'] # 目标价格 model.fit(X_train, y_train) ``` 6. **评估模型**:使用交叉验证等技术评估模型的性能,例如计算均方误差(MSE)或R^2分数。 7. **预测新数据**:有了训练好的模型,可以使用`.predict()`方法对新的输入数据进行预测。 8. **结果解释**:线性回归的结果是一个斜率和截距,斜率表示每增加一个单位自变量,目标变量预测值的变化量,截距则是当自变量为0时的预期值。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值