用numpy实现单层神经网络进行图片分类

用numpy实现单层神经网络进行图片分类

实验所用的数据集为64x64的图片,我们要做的是搭建一层神经网络识别图片中有没有
单层神经网络结构如下:
在这里插入图555片描述
图片大小为(64,64,3)需要将其转成(1,64x64x3)故W的大小为(1,12288)
在此网络中
前向计算:
Z = W X + b Z = WX + b Z=WX+b
y h a t = s i g m o i d ( Z ) yhat = sigmoid(Z) yhat=sigmoid(Z)
代码实现:

def sigmoid(x):
    return 1 / (1 + np.exp(-x))
    
def forward(x,w,b):
    assert(w.shape[1] == x.shape[0])
    z = np.dot(w,x) + b
    yhat = sigmoid(z)
    return yhat

损失函数:
E i n = 1 N L ( y , y h a t ) = 1 N ( − y l o g ( y h a t ) − ( 1 − y ) l o g ( 1 − y h a t ) ) {E_{in}} = \frac{1}{N}L(y,yhat) = \frac{1}{N}( - ylog(yhat) - (1 - y)log(1 - yhat)) Ein=N1L(y,yhat)=N

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值