机器学习基础实验

一、线性回归

1 实现简单示例函数

在该部分练习中,将通过代码实现返回一个5*5的对角矩阵。输出与如下相同:

1 0 0 0 0
0 1 0 0 0
0 0 1 0 0
0 0 0 1 0
0 0 0 0 1

1.1 提交解决方案

在以下代码框中进行如上的实现,完成部分练习后,得到如上的相同结果即为通过。

在这里插入图片描述

2 单变量线性回归

在该部分练习中,将实现单变量线性回归并用来预测餐车的利润。

假设你是一家餐厅的领导,正在考虑在不同的城市开设新的分店。该连锁店已经在不同的城市有了餐车,并且你能够获得每个城市的人口和利润数据。

现在需要使用这些数据来帮助你选择下一个被扩展的城市。

文件ex1data1.txt包含线性回归问题的数据集。第一列数据对应城市人口,第二列数据对应那座城市的餐车的利润。利润为负时表示亏损。

2.1 绘制数据

在开始进入练习之前,对数据进行可视化通常很有用。对于该数据集,可以使用散点图进行可视化,因为它只有两个属性(人口、利润)。
在这里插入图片描述

接下来需要实现数据可视化的代码,该部分数据绘制出的图像应与如下相同。

要点:

  • 实现散点图可视化
  • 数据分布为红色点
  • 标清横纵坐标名称
    在这里插入图片描述
    在这里插入图片描述
2.2 梯度下降

在该部分中,将使用梯度下降来选择合适的线性回归参数θ用以拟合给定数据集。

2.2.1 更新公式
线性回归的目的是最小化成本函数:
在这里插入图片描述

假设 ℎ𝜃(𝑋)由以下线性模型给出:
在这里插入图片描述

回顾一下,模型的参数是 𝜃𝑗
的值,这些将用来调整以最小化成本 𝐽(𝜃)

其中一种方法是使用批量梯度下降算法,在批量梯度下降中,每次迭代地执行更新,随着梯度下降的每一步计算,参数 𝜃𝑗
越来越接近能够使得成本 𝐽(𝜃)
达到最低的最佳值。
在这里插入图片描述

(同时更新所有的 𝜃𝑗

2.2.2 实现
在上一部分的练习中,我们已经将所需要用到的数据加载至变量data中,并为其列分别进行命名。

接下来,我们在数据中添加了一个维度来拟合截距项 𝜃0
。并将初始参数值设为0,学习率 𝛼
设为0.01。
在这里插入图片描述

2.2.3 计算成本J(θ)
在执行梯度下降最小化成本函数 𝐽(𝜃)
时,通过计算成本来监视收敛状态是有帮助的。

在该部分练习任务中,你需要实现一个计算成本 𝐽(𝜃)
的函数computeCost,用于检查梯度下降实现的收敛性。

其中,X和y不是标量值,而是矩阵,其行代表训练集中的示例。

要点: 完成该函数后,将 𝜃
值初始化为0并进行成本的计算,将得到的成本值打印出来。

如果结果为3

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值