cs231n笔记:神经网络

神经网络由简单函数构成的一组函数,以层次化的方式堆叠在一起,为了去形成一个更复杂的非线性函数,即多阶段分层计算。

线性分类中,w的每行相当于一个模板,是一个分类表达的模板(可以可视化为图像),在输入中寻找的具体分类输入。例如,w1中的某一行还原为红车的模板,在输入中寻找它,计算它在车分类中的分数。w1中一行仅仅有一个模板,实际中有许多的样式,则通过w2,便可以将车分类联系起来,w2使h里所有向量的权重(是所有范本的加权),允许你在多个范本中进行权衡,来得到特定分类的最后得分。
在这里插入图片描述
接近的解释:w1的每行相当于一个模板,h是w1中每个模板的得分,w2是h的加权
在这里插入图片描述

神经网络的前向计算

class Neuron:
	def neuron_tick(inputs):
	"""假设输入和权重都是1维的numpy arrays and bias is a number"""
		cell_body_sum = np.sum(inputs*self.weights)+self.bias
		firinh_rate = 1.0/(1.0+math.exp(-cell_body_sum))
		return firinh_rate

实际上,可以认为每个隐藏层是一个向量,一组神经元的集和,利用矩阵乘法来计算神经元的值,通过一次矩阵乘法便可以得到所有神经元的输出。如下:
在这里插入图片描述

#3层神经网络的前向传播
f = lambda x:1.0/(1.0+np.exp(-x))#激活函数,sigmoid
x = np.random.randn(1,3)
h1 = f(np.dot(W1,x)+b1)
h2 = f(np.dot(W2,h1)+b2)
out = np.dot(W3,h2)+b3
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值