机器学习单变量线性回归

首先,非常感谢斯坦福的教授吴恩达!!

1.假设函数(hypothesis fuction)
参数未知

2.代价函数(cost fuction)
又称平方误差函数
取1/2是为了后面的计算,求偏导省去,说白了就是为了少计算

3.决策函数
参数已得到,可进行预测
在这里插入图片描述
假设θ0取0,只讨论θ1,θ1的变化会导致代价函数的取值变大,我们想要的是代价函数小的时候的取值(即θ1取1的时候),这样得到的决策函数进行预测更加准确
在这里插入图片描述
4.梯度下降(非常重要的思想,求解参数,应用广泛,比最小二乘法还要广泛)

当两个变量同时讨论时,我们是在一个三维空间里面
在这里插入图片描述
但研究领域上更喜欢用等高线图(等高图像)contour plots
在这里插入图片描述
从上面的图可以清晰的看出取不同的θ0,θ1,得到的代价函数取值是有可能相同的

好的,关键来了!
如何取得最好的θ0和θ1在这里插入图片描述
在这里插入图片描述
梯度下降的核心算法就是上图的第一条了
左下角是正确计算过程,右边则是错误计算过程
我们要遵循同时更新原则

核心算法中的α指的是学习率,这个是会根据实际情况进行调整的,但在求解θ时是不会变化的,但太大会可能跃过最低点,太小下降的则太慢

在这里插入图片描述
通过不断的迭代!!
最终到达最低点,因为最低点偏导数为0,所以反复迭代就能到达!!
此时的θ们就是我们想要的,使得代价函数最小,得到的决策函数预测更准确
这里用最小二乘法能解答,但面临复杂不能计算的问题或则更难的问题,最小二乘法是远远不够的,还是希望大家都能学会梯度下降!

附上简易的梯度下降求法:
在这里插入图片描述

实现机器学习中的单变量线性回归通常涉及以下几个步骤: 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
发出的红包

打赏作者

wujiekd

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值