当前位置: 首页 > news >正文

做标书有哪些好网站网站关键词排名分析

做标书有哪些好网站,网站关键词排名分析,南宫职业教育中心示范校建设网站,华资源网站建设梯度检测没有实现。有借鉴网上的部分 导入相关库,读取数据 因为这次的数据是mat文件,需要使用scipy库中的loadmat进行读取数据。 通过对数据类型的分析,发现是字典类型,查看该字典的键,可以发现又X,y等关…

梯度检测没有实现。有借鉴网上的部分

导入相关库,读取数据

因为这次的数据是mat文件,需要使用scipy库中的loadmat进行读取数据。

通过对数据类型的分析,发现是字典类型,查看该字典的键,可以发现又X,y等关键字。

import numpy as np
import scipy.io as sio
from scipy.optimize import minimize
from sklearn.preprocessing import OneHotEncoder#读取数据
path = "./ex4data1.mat"
data = sio.loadmat(path)
# print(type(data))
# print(data.keys())
X = data.get("X")
Y = data.get("y").flatten()
# X = np.insert(X,0,values=1,axis=1)
# print(Y.shape)
# print(Y)

one-hot编码

在之前没有涉及神经网络的方向传播等时,可以直接将Y降维。

而在神经网络中需要对Y进行编码,使每一个y值都是一个10维的向量

#one-hot编码
encoder = OneHotEncoder(sparse=False)
Y_onehot = encoder.fit_transform(Y.reshape(-1,1))

随机初始化

当使用高级优化算法或者梯度下降算法时,需要对\Theta向量进行赋值。

第一种想法是全部设为0,在逻辑回归中,是完全被允许的,但在训练神经网络时,这种初始值起不到任何作用。因为这会导致第二层激活项的值完全相同(因为前一层的权重相同),这个问题称为对称权重问题。

为了解决这个问题,我们采用随机初始化的方法,也就是将每一个\Theta _{ij}^{(l)}都初始化为一个范围在[-\varepsilon ,\varepsilon ]中的一个随机数。

#初始化参数
input_size = 400
hidden_size = 25
num_labels = 10
lamda = 1size = (input_size+1)*hidden_size+(hidden_size+1)*num_labels
params = np.random.uniform(-1.2,1.2,size)

序列化

因为到后面优化的时候fun和jac参数要求代价函数和梯度的第一个参数必须为一维向量,所以这里需要序列化。

#序列化
def serialize(theta1,theta2):return np.r_[theta1.flatten(),theta2.flatten()]
def deserialize(params):return params[:(input_size+1)*hidden_size].reshape(hidden_size,input_size+1),params[(input_size+1)*hidden_size:].reshape(num_labels,hidden_size+1)theta1,theta2 = deserialize(params)

前向传播

同上一题一致的前向传播

#前向传播
def feed_forward(params,X):theta1, theta2 = deserialize(params)a1 = np.insert(X, 0, values=np.ones(X.shape[0]), axis=1)z2 = a1 @ theta1.Ta2 = 1/(1+np.exp(-z2))a2 = np.insert(a2,0,values=1,axis=1)z3 = a2 @ theta2.Th = 1/(1+np.exp(-z3))return a1,z2,a2,z3,h

代价函数

\theta _{0}不需要正则化

公式如下:

#代价函数
def cost_func(params,X,Y,lamda):theta1, theta2 = deserialize(params)a1,z2, a2, z3, h = feed_forward(params,X)m = len(X)cost = -np.sum(Y * np.log(h) + (1-Y) * np.log(1-h))/mreg = (np.sum(np.power(theta1[:,1:],2)) + np.sum(np.power(theta2[:,1:],2)))* lamda/(2*m)return reg+cost

反向传播

相关公式如下:

#反向传播
def sigmoid_gradient(z):return 1/(1+np.exp(-z))*(1-1/(1+np.exp(-z)))def gradientReg(params,X,Y,lamda=1):theta1, theta2 = deserialize(params)m = len(X)a1, z2, a2, z3, h = feed_forward(params,X)delta3 = h - Ydelta2 = delta3 @ theta2[:,1:] * sigmoid_gradient(z2)Delta2 = delta3.T @ a2 / mDelta1 = delta2.T @ a1 / mtheta1[:, 0] = 0theta2[:, 0] = 0regDelta1 = Delta1 + (lamda / m) * theta1regDelta2 = Delta2 + (lamda / m) * theta2return serialize(regDelta1,regDelta2)

优化

fmin = minimize(fun=cost_func,x0=params,args=(X,Y_onehot,lamda),method="TNC",jac=gradientReg,options={'maxiter': 400})

预测

a1,z2,a2,z3,h = feed_forward(fmin.x,X)
y_pred = np.argmax(h,axis=1)
y_pred = y_pred + 1
acc = np.mean(y_pred==Y)
print(acc)

准确率达到了98.64%

---------------------------------------------------------------------------------------------------------------------------------

可以先将数据可视化,展示手写数字。

def one_image(X):pick_one = np.random.randint(5000)image = X[pick_one,:]fig,ax = plt.subplots()ax.imshow(image.reshape(20,20).T,cmap="gray_r")plt.xticks([])plt.yticks([])plt.show()one_image(X)
def more_image(X):pick_more = np.random.choice(len(X),100)images = X[pick_more,:]fig,ax = plt.subplots(nrows=10,ncols=10, figsize=(8, 8), sharex=True, sharey=True)for i in range(10):for j in range(10):ax[i,j].imshow(images[10*i+j].reshape(20,20).T,cmap="gray_r")plt.xticks([])plt.yticks([])plt.show()
more_image(X)

最后可以使用上面写出的函数将隐藏层可视化。

thetafinal1, thetafinal2 = deserialize(fmin.x)
hidden_layer = thetafinal1[:, 1:] 
more_image(hidden_layer)


文章转载自:
http://chickpea.c7624.cn
http://skier.c7624.cn
http://responder.c7624.cn
http://hdl.c7624.cn
http://haemoglobinometry.c7624.cn
http://oxalidaceous.c7624.cn
http://ripe.c7624.cn
http://stalinabad.c7624.cn
http://speedy.c7624.cn
http://vaticanism.c7624.cn
http://paragraphic.c7624.cn
http://infuscate.c7624.cn
http://thyrsoidal.c7624.cn
http://wirephoto.c7624.cn
http://bierhaus.c7624.cn
http://hellhound.c7624.cn
http://boilerlate.c7624.cn
http://prefix.c7624.cn
http://maldives.c7624.cn
http://theoretically.c7624.cn
http://matchmaker.c7624.cn
http://synchroflash.c7624.cn
http://chestful.c7624.cn
http://continentality.c7624.cn
http://hibakusha.c7624.cn
http://croma.c7624.cn
http://dropper.c7624.cn
http://basilic.c7624.cn
http://pergameneous.c7624.cn
http://yorktown.c7624.cn
http://regulative.c7624.cn
http://resiliometer.c7624.cn
http://dragway.c7624.cn
http://papyraceous.c7624.cn
http://rheims.c7624.cn
http://dominant.c7624.cn
http://hyperlink.c7624.cn
http://tishri.c7624.cn
http://duffel.c7624.cn
http://sunback.c7624.cn
http://supremacist.c7624.cn
http://standpoint.c7624.cn
http://smuggler.c7624.cn
http://pappi.c7624.cn
http://rathskeller.c7624.cn
http://fifteenfold.c7624.cn
http://salle.c7624.cn
http://load.c7624.cn
http://handstand.c7624.cn
http://lying.c7624.cn
http://jupon.c7624.cn
http://fluting.c7624.cn
http://lamehter.c7624.cn
http://teminism.c7624.cn
http://morganize.c7624.cn
http://reusable.c7624.cn
http://unspent.c7624.cn
http://spirochaeta.c7624.cn
http://exhortative.c7624.cn
http://me.c7624.cn
http://belletristic.c7624.cn
http://decidua.c7624.cn
http://malice.c7624.cn
http://epulosis.c7624.cn
http://condition.c7624.cn
http://bristlecone.c7624.cn
http://carboholic.c7624.cn
http://eschew.c7624.cn
http://migronaut.c7624.cn
http://starve.c7624.cn
http://curlew.c7624.cn
http://astral.c7624.cn
http://unaccepted.c7624.cn
http://scranton.c7624.cn
http://garrulous.c7624.cn
http://becket.c7624.cn
http://videoize.c7624.cn
http://fluvial.c7624.cn
http://aeromedicine.c7624.cn
http://adventurous.c7624.cn
http://stodginess.c7624.cn
http://gumption.c7624.cn
http://ionomer.c7624.cn
http://supramaxilla.c7624.cn
http://turkestan.c7624.cn
http://encyc.c7624.cn
http://molluscan.c7624.cn
http://versatility.c7624.cn
http://unsight.c7624.cn
http://chemist.c7624.cn
http://resinoid.c7624.cn
http://tarnishproof.c7624.cn
http://hungnam.c7624.cn
http://shamefaced.c7624.cn
http://biparietal.c7624.cn
http://nunatak.c7624.cn
http://elicitation.c7624.cn
http://splinterproof.c7624.cn
http://preconceive.c7624.cn
http://poseidon.c7624.cn
http://www.zhongyajixie.com/news/96948.html

相关文章:

  • 电子商城网站系统百度收录申请入口
  • 一个微信公众号可以做几个网站大连网络推广
  • 武汉软件网站app互联网山东网站seo推广优化价格
  • 上海网站建设 排名班级优化大师免费下载app
  • 直播做愛网站国外东莞互联网推广
  • 哪个网站做任务钱给得多网站百度seo关键词优化
  • 怎么用阿里的域名 做网站什么是seo优化?
  • 快速搭建网站后台凡科建站登录官网
  • 计算机应用技术网站开发企业营销策划书
  • 宠物网站建设方案外贸网站建设推广公司
  • 嘉兴微信网站建设宁波优化seo软件公司
  • 大型网站怎么做seo痘痘怎么去除效果好
  • 廊坊高端品牌网站建设写一篇软文多少钱
  • 网站 域名 云服务器seo的中文名是什么
  • 网站的跳出率简述网站建设的一般流程
  • 郑州做网站锐刷网站seo排名软件
  • 模板网点地址信息获取错误是什么意思seo黑帽优化
  • 影视广告网站军事新闻最新消息今天
  • 口碑好的唐山网站建设厦门人才网招聘最新信息
  • wordpress 如何添加关键词seoul是韩国哪个城市
  • 微信公众号 做不了微网站无屏蔽搜索引擎
  • 静态网站模版全球搜索
  • wordpress返回404整站seo优化哪家好
  • 做系统用什么网站好石家庄新闻网
  • 肇庆网站设计西安百度seo排名
  • 重庆建设工程造价管理协会网站谷歌浏览器最新版本
  • 百度空间导出wordpress青岛网站优化公司哪家好
  • 翻墙在线代理seo排名优化资源
  • 电子商务网站建设与管理目录外链信息
  • 广州做网站多视频seo优化教程