CNN(卷积神经网络)提取图像特征

CNN提取图像特征原文链接

# 文中简单的 反向传播代码 python版本
import numpy as np
def sigmoid(x): #激活函数,将得到的值归一化在某一范围内
    return 1/(1+np.exp(-x)) #sigmoid函数: 把一个实数压缩至0到1之间。当z是非常大的正数时,g(z)会趋近于1,而z是非常小的负数时,则g(z)会趋近于0。
input1 = np.array([[0.35],[0.9],[0.58],[0.78]])
w1 = np.random.rand(3,4)  # w1 随机初始权重 y=wx+b 利用梯度下降法优化权重
print('w1:',w1)           # 通过调整 w使得一类x运算完之后都是0,另外一类x运算完都是1
w2 = np.random.rand(2,3)
print('w2:',w2)
real = np.array([[0.5],[0.7]])
for i in range(100):
    output1 = sigmoid(np.dot(w1,input1)) #中间层
    output2 = sigmoid(np.dot(w2,output1)) #输出层
    cost = np.square(real-output2)/2 #计算误差
    dalta2 = output2*(1-output2)*(real-output2) #梯度
    dalta1 = output1*(1-output1)*w2.T.dot(dalta2) #梯度
    w2 = w2+dalta2.dot(output1.T) #更新w2
    w1 = w1+dalta1.dot(input1.T) #更新w1
    print(output1)
    print(output2)
    print(cost)

在这里插入图片描述

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值