N维数组是机器学习和神经网络的主要数据结构
import os
import pandas as pd
#创建一个人工数据集 CSV代表逗号分隔值。
# CSV文件是存储表和电子表格信息的纯文本文件。 内容通常是文本,数字或日期的表。 可以使用将数据存储在表中的程序轻松导入和导出CSV文件。
os.makedirs(os.path.join("..","data"),exist_ok=True)
data_file = os.path.join("..",'data','chengji')
with open(data_file,"w") as f:
f.write("shuxue,yuwen,yingyu\\n")
f.write('70,ne,80\\n')
f.write('80,nr,90\\n')
f.write('nr,ne,54\\n')
#加载原始数据
data = pd.read_csv(data_file)
print(data)
input,outputs = data.iloc[:,0:2],data.iloc[:,2]
x=input.mean()
input = input.fillna(x)
print(input)
线代
矩阵理解:
矩阵求导的本质与分子布局、分母布局的本质(矩阵求导——本质篇):矩阵求导的本质与分子布局、分母布局的本质(矩阵求导——本质篇) - 知乎
矩阵求导公式的数学推导(矩阵求导——基础篇):矩阵求导公式的数学推导(矩阵求导——基础篇) - 知乎
矩阵求导公式的数学推导(矩阵求导——进阶篇):矩阵求导公式的数学推导(矩阵求导——进阶篇) - 知乎
自动求导
import torch
x= torch.arange(4.0,requires_grad=True)#存储X的梯度
print(x)
y= 2*torch.dot(x,x)
y.backward()#backward函数 <https://blog.csdn.net/baidu_38797690/article/details/122180655?ops_request_misc=&request_id=&biz_id=102&utm_term=python%20backward&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-2-122180655.142^v81^koosearch_v1,201^v4^add_ask,239^v2^insert_chatgpt&spm=1018.2226.3001.4187>
print(x.grad)#利用反向传播计算y的导数
x.grad.zero_()#默认情况下pytorch会积累梯度,所以要清除之前的值
y= x.sum()
y.backward()
print(x.grad)
x.grad.zero_()
y=x*x#非标量
y.sum().backward()#y.sum()变成标量
print(x.grad)