# -*- coding: utf-8 -*-
'''
Created on 2018年1月27日
@author: Jason.F
@summary: 前馈神经网络激励函数-双曲正切(hyperbolic tangent,tanh)函数,经过缩放的逻辑斯蒂函数,输出值的范围更广,在开区间(-1,1),有利于加速反向传播算法的收敛
'''
import numpy as np
import time
import matplotlib.pyplot as pltif __name__ == "__main__":   start = time.clock()  def tanh(z):e_p = np.exp(z)e_m = np.exp(-z)return (e_p -e_m)/(e_m+e_p)def net_input(X,w):z=X.dot(w)return zdef logistic(z):return 1.0/(1.0+np.exp(-z))#W:array,shape=[n_output_units,n_hidden_units+1],weight matrix for hidden layer --> output layer#note that first column (A[:][0]=1) are the bias units.W=np.array([[1.1,1.2,1.3,0.5],[0.1,0.2,0.4,0.1],[0.2,0.5,2.1,1.9]])#A:array,shape=[n_hiddern+1,n_samples],Activation of hidden layer.#note that first element (A[0][0]=1) is the bias unit.A=np.array([[1.0],[0.1],[0.3],[0.7]])#Z:array,shape=[n_output_units,n_samples],Net input of the output layer.Z=W.dot(A)y_probas = tanh(Z)print ('Probabilities:\n',y_probas)print (y_probas.sum())y_class = np.argmax(Z,axis=0)print ('predicted class label:%d'%y_class[0])#和逻辑斯蒂函数比较z=np.arange(-5,5,0.005)log_act = logistic(z)tanh_act =tanh(z)plt.ylim([-1.5,1.5])plt.xlabel('net input $z$')plt.ylabel('activation $\phi(z)$')plt.axhline(1,color='black',linestyle='--')plt.axhline(0.5,color='black',linestyle='--')plt.axhline(0,color='black',linestyle='--')plt.axhline(-1,color='black',linestyle='--')plt.plot(z,tanh_act,linewidth=2,color='black',label='tanh')plt.plot(z,log_act,linewidth=2,color='lightgreen',label='logistic')plt.legend(loc='lower right')plt.tight_layout()plt.show() end = time.clock()    print('finish all in %s' % str(end - start)) 

结果:

('Probabilities:\n', array([[ 0.96108983],[ 0.3004371 ],[ 0.97621774]]))
2.23774466472
predicted class label:2
finish all in 14.5718582269

【Python-ML】神经网络激励函数-双曲正切(hyperbolic tangent,tanh)函数相关推荐

  1. 激活函数ReLU、Leaky ReLU、tanh(双曲正切函数Hyperbolic tangent function)

    深度学习的激活函数 :sigmoid.tanh.ReLU .Leaky Relu.RReLU.softsign .softplus - 程序员大本营 https://www.pianshen.com/ ...

  2. python实现神经网络的正向传播(fp)函数_如何自己从零实现一个神经网络?

    我是从高三开始入门的,一直是用C++来做神经网络.从造轮子开始,到实现模型,到封装模型,再到真正用seq2vec,seq2seq模型训练成功一些小玩意,所有的东西都是自己写的,但是资料都是从网上搜,学 ...

  3. python 神经网络_推荐 :用Python实现神经网络(附完整代码)!

    Datawhale干货   作者:[美]霍布森·莱恩,科尔·霍华德 在学习神经网络之前,我们需要对神经网络底层先做一个基本的了解.我们将在本节介绍感知机.反向传播算法以及多种梯度下降法以给大家一个全面 ...

  4. python做神经网络有什么框架_神经网络与深度学习——基于TensorFlow框架和Python技术实现...

    目 录 第1章 绪论1 1.1 人工智能2 1.2 机器学习3 1.2.1 监督学习3 1.2.2 非监督学习3 1.2.3 半监督学习4 1.3 深度学习4 1.3.1 卷积神经网络4 1.3.2 ...

  5. 【卷积神经网络】12、激活函数 | Tanh / Sigmoid / ReLU / Leaky ReLU / ELU / SiLU / Mish

    文章目录 一.Tanh 二.Sigmoid 三.ReLU 四.Leaky ReLU 五.ELU 六.SiLU 七.Mish 本文主要介绍卷积神经网络中常用的激活函数及其各自的优缺点 最简单的激活函数被 ...

  6. python bp神经网络 异或_【神经网络】BP算法解决XOR异或问题MATLAB版

    第一种 %% %用神经网络解决异或问题 clear clc close ms=4;%设置4个样本 a=[0 0;0 1;1 0;1 1];%设置输入向量 y=[0,1,1,0];%设置输出向量 n=2 ...

  7. python bp神经网络 异或_两层神经网络输出异或

    简单形象又有趣地讲解神经网络是什么 神经元 先来认识下真正的神经元. 图 1: 典型神经元的结构(来自维基百科 "树突" 词条) 神经元大致可以分为树突.突触.细胞体和轴突.树突为 ...

  8. python实现简单的神经网络,python实现神经网络算法

    如何用9行Python代码编写一个简易神经网络 学习人工智能时,我给自己定了一个目标--用Python写一个简单的神经网络.为了确保真得理解它,我要求自己不使用任何神经网络库,从头写起.多亏了Andr ...

  9. python搭建神经网络模型,python实现神经网络算法

    如何用 Python 构建神经网络择时模型 . importmathimportrandom(0)defrand(a,b):#随机函数return(b-a)*random.random()+adefm ...

最新文章

  1. R语言splines包构建基于logistic回归的自然样条分析:南非心脏病数据集、非线性:基函数展开和样条分析、你简单分析的不重要特征,可能只是线性不显著、而非线性是显著的
  2. 【转载】Yield,迭代器,生成器
  3. 关于nodejs的__dirname
  4. unable to execute dex: multiple dex files Cocos2dxAccelerometer
  5. 如何优雅地实现 C 编译期静态反射
  6. 读书笔记_打开量化投资的黑箱03
  7. python文件审计系统_Python代码审计实战案例总结之CRLF和任意文件读取
  8. 用html做简单的日记,学习HTML日记
  9. 大学计算机ppt学校题材实验报告,PPT实验报告模板2篇
  10. cruzer php sandisk 闪迪u盘量产工具_闪迪sandisk U盘不量产修复方法教程
  11. 应届毕业生找工作很迷茫?4招教你快速破局,应届生必看!
  12. java jca_Java加密体系结构(JCA)参考指南
  13. 计算机会计和传统手工会计的区别,简要比较手工会计和计算机数据处理方式的区别...
  14. 【POI2004】【Bzoj2069】T2 洞穴 zaw
  15. java如何获取一月的工作日,Java如何获取工作日名称列表?
  16. 解码 解密微信电脑版image文件夹下缓存的用户图片 dat文件解码解密查看方法
  17. SitePoint Podcast#191:节拍不停
  18. 详解 pcap_findalldevs_ex
  19. 计算机音乐谱棠梨煎雪,天谕手游棠梨煎雪乐谱代码分享
  20. cisco路由器用户名密码破解

热门文章

  1. 1.1.1.1校园网_还担心断网?快试试清华校园网自动连接程序
  2. apache在win2003下的安全设置
  3. 处理报错:java/lang/NoClassDefFoundError: java/lang/Object
  4. IDEA 搭建 maven(1)
  5. java 基础--NIO(4)
  6. 【P1326】超级教主
  7. 【GDAL】聊聊GDAL的数据模型(二)——Band对象
  8. Android AES加密算法,现在实际上
  9. [调试技巧] 如何利用WinDbg找出程序崩溃的位置
  10. windows远程连接的几个问题