神经网络-损失函数:

神经网络中的损失函数:

1.神经网络的复杂度:多用神经网络的层数和神经网络的参数的个数表示。

2.层数=隐藏层的层数+1个输出层,总参数=总的权重w与总的偏置项b。

3.自定义损失函数:

通过每个需要预测的结果y与标准答案y_比较,计算其损失累计和,即loss(y_,y)=sum{f(y_,y)},其中y_是标准答案数据集的,y为预测答案计算出的。

 

函数f定义如下 当y<y_时,f(y_,y)=w1*(y_-y);y>=y_时, f(y_,y)=w1*(y_-y);其中w1和w2为两个相互的矛盾,通过这样权衡,以达到最优。

 

4.在tensorflow中通过tf.reduce_sum()实现:

loss=tf.reduce_sum(tf.where(greater(y,y_),w1*(y_-y),w1*(y_-y))),其中tf.greater(y,y_)判断两参数大小,然后根据判断结果选择计算式子。

 

5.交叉熵(Cross Entropy):表征两个概率分布之间的距离;

H(y_,y)=-Sum(y_*logy),y_表示标准答案的概率分布,y表示预测结果的概率分布。通过交叉熵可以判断那个预测结果与标准答案更接近。

 

6.在tensorflow中通过tf.reduce_mean(y_*tf.log(tf.clip_by_value(y,1e-12,1.0)))实现,当y小于1e-12时,y为1e-12,大于1.0时,y为1.0。


 

7.当n分类的n个输出(y1,y2,...,yn)通过softmax()函数,便满足了概率分布要求:

任意x,P(X=x)属于[0,1]且sum(P(X=x))=1

 

8.softmax(y_i)={e^{y_i}}/sum{^n,_j=1}{e^{y_i}},

ce=tf.nn.sparse_softmax_cross_entropy_with_logits(logits=y,labels=tf.argmax(y_,1))

cem=tf.reduce_mean(ce)

 

实现了先使数据满足概率分布,在计算交叉熵的方法。

 

9.常用的激活函数:

f(x)=0,x小于等于0时, f(x)=x,x大于0时,即tf.relu();

f(x)=1/(1+e^{-x}),即tf.nn.sigmoid();

f(x)=(1-e^{-2x})/(1+e^{-2x}),即tf.nn.tanh();

 

 

#实例应用

 

#导入模块,生成数据集

import tensorflow as tf

import numpy as np

SIZE=8

seed=23455

COST = 1

PROFIT=9

 

rdm =np.random.RandomState(seed)

 

X=rdm.rand(32,2)

Y=[[x1+x2+(rdm.rand()/10.0-0.05)] for (x1,x2) in X]#合格为1,不合格为0


 

#定义神经网络的输入,参数和输出,定义前向传播的过程

x=tf.compat.v1.placeholder(tf.float32,shape=(None,2))

y_=tf.compat.v1.placeholder(tf.float32,shape=(None,1))

w1=tf.Variable(tf.random.normal([2,1],stddev=1,seed=1))

y=tf.matmul(x,w1)

 

#定义损失函数及反向传播方法

#loss_mse=tf.reduce_mean(tf.square(y_-y))

loss=tf.reduce_sum(tf.where(tf.greater(y,y_),(y-y_)*COST,(y_-y)*PROFIT))

train_step=tf.compat.v1.train.GradientDescentOptimizer(0.001).minimize(loss)



 

#生成会话,训练

with tf.compat.v1.Session() as sess:

init_op=tf.compat.v1.global_variables_initializer()

sess.run(init_op)

 

steps=2000

for i in range(steps):

start=(i * SIZE) % 32

end=start+SIZE

sess.run(train_step,feed_dict={x:X[start:end],y_:Y[start:end]})

 

if i % 500 == 0:

print(i)

print(sess.run(w1))

print('\n')

print("训练结束参数w1:\n",sess.run(w1))


 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/484363.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

张钹院士:制约人工智能发展的最大困难是什么?

出品&#xff1a;新基建访谈采访&#xff1a;张楠整理&#xff1a;广胜脑科学被誉为自然科学研究的“终极疆域”&#xff0c;脑科学的发展不仅直接关系人类对于意识诞生机制的探索&#xff0c;也对推动当前 AI 技术发展具有重要意义。对于脑科学目前的发展现状、面临的难题、与…

linux提权辅助工具(二):linux-exploit-suggester-2.pl

来自&#xff1a;https://github.com/jondonas/linux-exploit-suggester-2/blob/master/linux-exploit-suggester-2.pl #!/usr/bin/perl use strict; use warnings; use Getopt::Std;our $VERSION 1.1;my %opts; getopt( k,h, \%opts ); usage() if exists $opts{h};my ( $kho…

swap交换算法

交换算法(swap) void swap(int x,int y)void swap(int *px,int *py)#define swap(x,y,t) ((t)(x),(x)(y),(y)(x))void swap(int &x,int &y)template<class T> void swap(T&x,T&y) #include<iostream> using namespace std; void swap(int &x…

《新一代城市大脑建设与发展》专家研讨会在京举办(新版)

&#xff08;这个新版本增加了三位专家的发言&#xff09;2021年6月26日&#xff0c;新一代城市大脑建设与发展专家研讨会在京举办&#xff0c;本次活动由城市大脑全球标准研究组主办&#xff0c;远望智库承办。6G 俱乐部提供了重要支持。20多位专家参与本次研讨会&#xff0c;…

增强学习--蒙特卡洛方法

蒙特卡洛方法 实例代码 下面代码是constant-α monte carlo&#xff0c;这里有一点介绍 1 import numpy as np2 import random3 from collections import defaultdict4 from environment import Env5 6 7 # Monte Carlo Agent which learns every episodes from the sample8 cl…

排序算法-查找算法

排序算法 冒泡排序 从左向右扫描数据&#xff0c;选着最大的数据。要点&#xff1a;比较相邻的两个数&#xff0c;如果左边的数大于右边的数就进行交换。 template<class T> void BubbleSort(T *array, const int length) { for (int i 0; i <length-1; i) { fo…

当法律纽带变成“机器红线”,能让自动驾驶汽车更安全吗?

来源&#xff1a; 脑极体美国汽车协会(American Automobile Association, AAA)与哈佛大学的一项研究结果显示&#xff0c;高达77%的人表示担心自己与自动驾驶汽车共享道路的安全性&#xff0c;62%则担心自动驾驶汽车发生意外时的肇责归属。某种程度上来讲&#xff0c;这可以说是…

JAVA面试——计算机网络

网络体系架构&#xff1a;应用层&#xff1a;为特定应用程序提供传输服务&#xff08;HTTP、DNS协议&#xff09;传输层&#xff1a;提供通用数据传输服务&#xff08;TCP、UDP&#xff09;TCP头部20个字节UDP头部8个字节网络层&#xff1a;为主机提供传输服务&#xff0c;将报…

李联宁|量子计算机:技术路线、风险及战略投资

来源&#xff1a;《学术前沿》杂志2021年4月上&#xff08;微信有删节&#xff09;作者&#xff1a;西安交通大学城市学院教授 李联宁原文责编&#xff1a;桂琰新媒体责编&#xff1a;李思琪视觉&#xff1a;王洋图片来源&#xff1a;网络由于现有半导体微电子技术物理极限的原…

vs code 配置java

VS code 入门 Vs code 配置Java 首先到VS code官网下载VS code软件&#xff0c;打开界面如图&#xff1a; 下载安装好&#xff0c;打开界面如图(注下图已汉化)&#xff1a; 为了便于使用&#xff0c;我们先进行汉化&#xff0c;在最左边点击图1-1中的图标&#xff0c;出现如图…

四、HTTP控制器

1、控制器的作用&#xff1a;数据和视图之间的桥梁 2、控制器创建方法&#xff1a; &#xff08;1&#xff09;手动创建 <?php namespace App\Http\Controllers; class UserController extends Controller { public function showProfile($id) { return view(user.profile,…

机器人行业专利构建与维护刻不容缓,专利研发需下苦功!

来源&#xff1a;机器人大讲堂自我国加入世界贸易组织&#xff0c;已经近20年过去。但不可忽视的是&#xff0c;发达国家或地区利用其产业先发优势&#xff0c;也一直在知识产权和专利上&#xff0c;采用知识产权和专利贸易壁垒&#xff0c;限制我国企业参与国际市场竞争。机器…

java-弹簧布局(自适应窗口)

一、布局管理器 弹簧布局管理器以容器和组件的边缘为操作对象&#xff0c;通过组件与容器边缘以及组件与组件边缘建立约束(建立位置关系)&#xff0c;实现对组件的布局管理。主要通过函数putConstraint(Strting s1,Component c1,int len,Strting s2,Component c2);当s2在s1的北…

从1G到5G,从回顾过去到展望未来

来源&#xff1a;《从1G到5G&#xff1a;移动通信如何改变世界》 作者&#xff1a;王建宙始于20世纪80年代的蜂窝式移动通信&#xff0c;只用了30多年的时间&#xff0c;就实现了在全世界的普及。如今&#xff0c;手机是人们随身携带的使用频率最高的工具。手机改变了人类的沟…

ECMA6--目录

ECMA6(ecma2015) ECMA是一个组织规范&#xff0c;是一个标准严格意义上来说并不是JS&#xff0c;当时JavaScript支持是最好的约等于&#xff0c;js。 [理解] ECMA非常重要&#xff0c;JavaScript是一门语言&#xff0c;个人认为语言最重要的几点&#xff1a;词汇量、语法、语言…

学习笔记二:异步FIFO

1 module fifo1 #(parameter DSIZE 8,2 parameter ASIZE 4) //用格雷码的局限性&#xff1a;循环计数深度必须是2的n次幂&#xff0c;否则就失去了每次只变化一位的特性3 (wclk,wrstn,wdata,wfull,winc,rclk,rrstn,rdata,rempty,…

重磅:国拨概算5.34亿!“新一代人工智能”重大项目项目申报指南发布

来源&#xff1a;brainnews各省、自治区、直辖市及计划单列市科技厅&#xff08;委、局&#xff09;&#xff0c;新疆生产建设兵团科技局&#xff0c;国务院各有关部门&#xff0c;各有关单位&#xff1a;为落实国务院印发的《新一代人工智能发展规划》总体部署&#xff0c;现根…

java-多线程知识

几个排序算法比较 采用多线程实现几个排序算法&#xff0c;比较各个排序算法的优劣&#xff1b;java实现&#xff0c;一个主类&#xff0c;多个内部排序算法进程的接口&#xff0c;涉及到进程间的通信&#xff0c;因为每个进程包含自己的储存空间&#xff0c;无法直接访问其他…