Theano入门神经网络

Theano是一个Python库,专门用于定义、优化、求值数学表达式,效率高,适用于多维数组。特别适合做机器学习。一般来说,使用时需要安装python和numpy.

首先回顾一下机器学习的东西,定义一个模型(函数)f(x;w) x为输入,w为模型参数,然后定义一个损失函数c(f),通过数据驱动在一堆模型函数中选择最优的函数就是训练training的过程,在机器学习中训练一般采用梯度下降法gradient descent.

使用theano来搭建机器学习(深度学习)框架,有以下优点:

1、 theano能够自动计算梯度

2、只需要两步骤就能搭建框架,定义函数和计算梯度。

一、 定义函数

步骤 0 宣告使用 theano import theano
步骤 1 定义输入 x=theano.tensor.scalar()
步骤 2 定义输出 y=2*x
步骤 3 定义        fuction f = theano.function([x],y)
步骤 4 调用函数 print f(-2)

步骤1 定义输入变量

a = theano.tensor.scalar()

b =theano.tensor.matrix()

简化 import theano.tensor as T

步骤2 定义输出变量 需要和输入变量的关系

x1=T.matrix()

x2=T.matrix()

y1=x1*x2

y2=T.dot(x1,x2) #矩阵乘法

步骤3 申明函数

f= theano.function([x],y)

函数输入必须是list 带[]

example:

import theano
import theano.tensor as T

a= T.matrix()
b= T.matrix()
c = a*b # 这里的两个矩阵必须完全相同,对应位置元素分别相乘
d = T.dot(a,b) # 这里的两个矩阵不必完全相同,a的列数目必须与b的行数目相同
F1= theano.function([a,b],c)
F2= theano.function([a,b],d)
A=[[1,2],[3,4]]
B=[[2,4],[6,8]] #2*2矩阵
C=[[1,2],[3,4],[5,6]] #3*2矩阵
print(F1(A,B))
print(F2(C,B))

结果:

[[ 2. 8.]
[18. 32.]]
[[14. 20.]
[30. 4
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值