python机器学习入门之pytorch(寒假第三周)

pytorch中张量的运算:

  1. 加减乘除可以直接使用 “ ±*/ ”符号进行计算(也能使用add,sub,mul,div计算,较麻烦)
  2. 运算:
  3. 乘法:torch.matmul(a,b)
  4. 次方运算:torch.pow(a,x) x:乘方数
    或** x x:乘方数,可以是小数,也可以是零点几(开次方根)
  5. 对数运算:torch.log x(a) x是底数(如果不填默认以e为底),a是张量
  6. 进位,退位,取整,取小数,四舍五入:a.floor (); a.ceil() ; a.trunc() ; a.frac() ; a.round()

pytorch中数据的统计

  1. 几个实用函数:(格式 a.xxx() )min,max,argmin,argmax 分别是 最小值,最大值,最小值索引,最大值索引
    (用这几个函数时,张量所有的维度会被整合成一个维度,如果不想这样,可以在后面传入参数dim=x 来表示在哪个维度进行)
    (max,min函数可以keepdim=TRUE,这样的话,会保留进行这个操作的维度的前面的维度)
    mean,sum,prod 分别是 平均值,累加,累乘( prod=sum/prod(size) )
  2. 数据的比较:a(比较符号)x ,比如:a>x使用后会返回一个和a的shape相同的张量,里面的每个数据都是0或者1,0表示判断错误,1表示判断正确。

高阶op

  1. where:作用 c张量需要从a和b中拿数据,不同的情况会从a或者b中拿取
    假设现在有a,b两个张量,先设置一个cond(shape和a,b相同),然后用torch.where(cond(判断符号)x,a,b) 例如:c=torch.where(cond>1,a,b)这时当cond里某一维度的某个数据大于1时,c的相同位置的数据就取a的那个位置的数据,如果不大于1就取b的相应位置数据。
  2. gather:作用 用一个全是索引的张量做模板,从另一个张量中检索数据。
    设现在有模板张量a,存放原始数据的张量b,用c接受b拿来的数据
    c=torch.gather(b , dim=x , index=a)其中,x表示在b的x维度中检索

随机梯度下降

  1. 随机梯度下降称为SGD,和其他的梯度下降算法不同,随机梯度下降,不会把所有数据代入计算一遍然后迭代,而是随机拿一组数据代入计算,而后进行迭代,加快了接近最小值的速度
  2. 激活函数
    激活函数决定了对于不同的输入值应该做什么输出(就像是判断条件)
    sigmoid函数:它的特点就是值域在0到1之间,而且输入值超出一定范围后,输出值就不会对输出的值敏感,都不会剧烈地增或减,一般用来进行分类计算,能把输入值分为两类(在pytorch中有相应的api可以直接使用)
  3. MSE函数

感知机

可以把感知机想象成一个人造的神经元,感知机能输入信号,输出信号。能向感知机输入一个数据,然后这个数据会被处理,然后输出,并和一个t值比较(单输出感知机这里只有一个值供比较,多输出感知机有多个值进行比较)

  1. 单层感知机
    这是一种最基础的神经网络结构,输入节点接收信号后直接将其传到输出节点并得出结果
    表示规范:层数用右上角角标表示,元素的编号(第几个)用右下角角标表示,中间的函数层上标是表示第几层,下面有两个角标,左边的表示连接前面的哪一个元素,右面的表示连接后面的哪一个接收层
    单输出感知机:只有一个输出节点,数据经过处理之后会返回一个值,然后用这个值和t做差然后平方,就得出了loss值(损失函数,即误差的大小)
    多输出感知机:具有多个输出节点,会有多个t值与相应的输出值进行计算,得出相应输入的x值的loss值
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值