机器学习基础(一)
机器学习基础实验报告
实验一:
一、实验目的
- 熟悉AWS SageMaker平台
- 学习如何对内存中的数据进行操作,NDArray是一个类,也是存储和变换数据的主要工具更加适合深度学习。
- 学习如何使用MXNet提供的 autograd 模块来自动求梯度。
- 学习对有用到的MXNet函数和类如何查阅文档。
- 学习如何只利用 NDArray 和 autograd 来实现一个线性回归的训练。
二、实验内容和步骤
练习一:
运行本节中的代码,保存运行结果
1. 构造两个100x100大小,类型为NDArray的矩阵A和B,其元素符合均值为0,标准差为1的随机正太分布
2. 计算向量 (大小为100x1的向量),这里 ( 范数的平方,注意这里范数计算出来的 值需要转成标量才能取平方),其中下标i代表B矩阵第i列,向量d类型为NumPy格式
3. 将第41行notebook中的条件判别式X==Y改为X<Y,看看能够得到什么样的NDArray
练习二:
运行本节代码,并保存结果到实验报告
运行下列控制流求梯度的例子,并分析结果。
import math
def f(x):
y = x # going to change y but still want to use x
if x < 0.75: # variable num_loops because it depends on x
num_loops = math.floor(1/(1-x.asscalar()))
for i in range(num_loops):
y = y * x # increase polynomial degree
else: # otherwise flatline
y = y * 0
return y
def get_grad(f, x):
x.attach_grad()
with autograd.record():
y = f(x)
y.backward()
return x.grad
xs = nd.arange(0.0, 1.0, step=0.1)
grads = [get_grad(f, x).asscalar() for x in xs]
print(grads)
练习三:
查阅 NDArray 支持的其他操作,截图放在实验报告里。
练习四:
为什么 squared_loss 函数中需要使用 reshape 函数?
尝试使用不同的学习率和批量大小,观察损失函数值的下降趋势。
三、代码及运行结果分析
练习一:
练习二:
练习三:
练习四:
四、心得体会
本次实验学习先了解python中的ndarray的相关知识,进而进行学习相关的深度学习如自动求梯度,以及线性回归的相关训练。本次实验还查阅了NDArray 支持的其他操作,从而能更加的了解NDArray并而学习相关知识。通过本次实验,收获颇多,对今后机器学习有了更大的帮助。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!