【动手学深度学习】Task2:预备知识

这里将课后习题完成。

数据操作

1.运行本节中的代码。将本节中的条件语句X == Y更改为X < YX > Y,然后看看你可以得到什么样的张量。

改成X>Y后输出:

tensor([[False, False, False, False],
        [ True,  True,  True,  True],
        [ True,  True,  True,  True]])

改成X<Y后输出

tensor([[ True, False,  True, False],
        [False, False, False, False],
        [False, False, False, False]])

2.用其他形状(例如三维张量)替换广播机制中按元素操作的两个张量。人结果是否与预期相同?

如果两个张量如下:

[in]: x = torch.ones((4,3,5))
[in]: y = torch.ones((4,1,3))
[in]: print(x + y)

输出为

[out]: ValueError: operands could not be broadcast together with shapes (4,3,5) (4,1,3) 

这两个张量是不能兼容的

而如果

 x = torch.ones((4,1,5))
 y = torch.ones((1,3,5))

这是兼容的

可见,要想两个张量之间进行广播,那么对应的维度如果不同的话,其中一个的长度必须为1。

数据预处理

创建包含更多行和列的原始数据集。

os.makedirs(os.path.join('..', 'data'), exist_ok=True)
data_file = os.path.join('..', 'data', 'grades.csv')
with open(data_file, 'w') as f:
    f.write('AI,Caculus,Linear Algebra,probability,pandas,total number\n')
    f.write('Jack,P,NA,P,P,NP,329\n')
    f.write('Mike,NP,NP,NP,NA,NP,208\n')
    f.write('Alice,P,P,NA,NP,P,NA\n')
    f.write('Julian,NA,NA,P,NA,P,600\n')
    f.write('George,P,NA,NA,P,P,503\n')
data = pd.read_csv(data_file)

1.删除缺失值最多的列。

#找到缺失值最多的列
idx = data.isna().sum().idxmax()
#删除该列
data.drop(labels = idx, axis=1)

2.将预处理后的数据转换为张量格式

#将数据全部化为数字
inputs = pd.get_dummies(data,dummy_na=True)
outputs = torch.tensor(inputs.values)

线性代数

1.易证。

2.易证。

3.(\bold{A}^T+\bold{A})^T=(\bold{A}^T)^T+\bold{A}^T=\bold{A}^T+\bold{A}

4.2

5.是的,第一根轴

6.报错,因为这样求和得到的张量会降维,除法操作变为shape(5,4)变为shape(1,5),无法进行广播

7.是shape(1,3,4),shape(2,1,4)和shape(2,3,1)

8.得到所有元素的平方和开根号

微积分

1.

2.\begin{bmatrix} 6x_1\\5e^{x_2}\end{bmatirx}

3.设\bold{x}=\begin{bmatrix} x_1\\x_2\\...\\x_n\end{bmatirx}那么有f(\boldsymbol{x})=\left \| \boldsymbol{x} \right \|=\sum^n_i(x_i^2),\frac{\partial f}{\partial \boldsymbol{x}}=\begin{bmatrix}2x_1\\2x_2\\...\\2x_n\end{bmatirx}=2\boldsymbol{x}

4.\frac{\partial u}{\partial a}=\frac{\partial f}{\partial x}\frac{\partial x}{\partial a}+\frac{\partial f}{\partial y}\frac{\partial y}{\partial a}+\frac{\partial f}{\partial z}\frac{\partial z}{\partial a}对b的偏导同理。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值