吴恩达2022机器学习专项课程(一) 第一周课程实验:模型表示(Lab_03)

目标

学习如何使用一个变量实现线性回归模型。

导入需要的库

存储特征x和目标变量y

这是真实的训练集,1.0,2.0是房子的大小,300,500是房子的价格。

使用数组存储训练集的数据:

  • x_train:存储的是所有特征,1.0,2.0,也就是房子的大小。
  • y_train:存储的是所有目标变量,300,500,也就是是房子的价格。

获取训练样本的数量

由于我们要计算每一行训练样本的预测值,所以要知道一共有多少行训练样本,也就是求出m的值。

  • shape0:查看特征数组里有几个特征,示例中有2个特征,代表2行训练样本,因此m=2。
  • len:查看特征数组长度,数组里有2个特征,因此长度为2,也就是m=2。

获取每一组训练样本

  • x_traini/y_traini:查看第i行训练样本的特征或目标变量。

绘制训练集的数据点

把训练集的每行训练样本,以数据点的形式绘制在图表里。

初始化w和b

根据线性回归的函数,我们需要先知道w和b的值,这里先不讨论w和b的计算过程,直接给出一个初始值。

计算线性回归的预测值

每一行的训练样本都需要计算出一个预测值,因此m的作用体现出来了,用于循环。

  • f_wb = np.zeros(m):为了方便存储每一行训练样本的预测值,因此需要创建一个初始值为0,元素数量为m个的数组。示例中的m=2,它就是这个样子:【0. 0.】
  • w*xi+b:线性回归的计算公式,xi表示第一行训练样本的特征。
  • f_wbi:存储第i-1行训练样本的预测值。

绘图线性回归预测值的图表

代码

蓝色线条是这段代码绘制的 plt.plot(x_train, tmp_f_wb, c='b', label='Our Prediction')。

输出结果含义:蓝色线条没有拟合数据点,也就是说,模型预测的y值和真实的数据点y值差距很大。因为我们设置的w和b不合适。

尝试不同的w和b

由于给出了正确的w和b,线性回归模型才能够完美预测,但如果使用不同的w和b,例如更换成w=200和b=100,结果如何?

先修改w和b

-输出结果 :

-输出结果含义:按照我们初始化好的w和b的值,通过给定的x1,2和线性回归函数,计算出的预测值是准确的(预测值y帽300,500和训练集的y300,500),也就是说,我们的线性回归模型能够完美预测。

使用模型示例

经过上述的调整,我们找到了合适的w和b,因此我们的模型就可以用来预测房价了。

总结

首先我们将训练集的数据标记在图表上,然后要找到线性回归函数中合适的w和b。

设置到合适的w和b,我们需要计算每行训练样本的预测值。

通过计算好的预测值,我们要将线性回归函数的趋势绘制在图表中,通过是否能拟合训练集的数据点,来检测w和b是否合适。

由此可以看出,线性回归中比较重要的是要找到合适的w和b,才能比较完美的预测出靠近真实数据的预测值y帽。

这也引出了后面的课程,如何判断w和b是否合适?

相关推荐
小和尚同志3 小时前
54.6k star 的 Multica: 集多 Agent 和看板于一体的 AI 平台
人工智能·aigc·three.js
一枕槐安4874 小时前
少样本提示(Few-shot)在业务场景的落地实践
大数据·人工智能·意图分类·mmr多样性·knn检索·动态示例选择
树欲静·而风不止4 小时前
许愿式编程:我把 Typability 改成了能日常顶替 Typora 的样子
ai·markdown
王中阳Go4 小时前
后端转 Agent 岗面试怎么答:8 个高频问题与应答口径
人工智能·后端·python·大语言模型
海宇AI4 小时前
零信任架构实战:基于海宇个人风险报告构建自动化分期商城信用额度初审网关
运维·人工智能·架构·自动化
tellmewhoisi5 小时前
深度学习32:卷积神经网络:卷积层(卷积运算,填充,步幅)
人工智能·深度学习·cnn
weixin_307779135 小时前
RAG 面试陷阱——混合检索并非无条件优越:一个条件反转实验
人工智能·python·面试·职场和发展
Sinokap5 小时前
OpenAI 披露 AI 安全实验:智能体如何突破隔离边界?
人工智能·安全
云和数据.ChenGuang6 小时前
深入解析 Python 的 dir():从用法到 CPython 源码实现
开发语言·人工智能·python·langchain
重生之我在番茄自学网安拯救世界6 小时前
AI 开发者日报 第1期(本周精选)| 插件市场投毒、智能体搞出“官僚饥荒村”,十年前的 CNN 打赢大模型
人工智能·网络安全·大模型·ai编程·智能体