神经网络中常用的python知识点总结

python实现简单的神经网络,python的神经网络编程 可以这么说,基于大数据分析和深度学习发展而来的人工智能,其本质上已经无法离开Python的支持了,原因至少有以下几点:目前世界上优秀的人工智能学习框架,比如Google的TransorFlow(神经网络框架)、FaceBook的PyTorch(神经网络框架)以及开源社区的Karas神经网络库等,都是用Python实现的;Python具有很多库,很方便做人工智能,比如说numpy,scipy做数值计算的,sklearn做机器学习的,pybrain做神经网络的,matplotlib将数据可视化的;... 阅读详情

神经网络中常用python知识点总结

本文主要涉及目前神经网络中常遇到的python字符串分隔,对列表,字典,类,文件,函数,数据预处理与展示等方面的知识,大致总结下这方面的应用。

1、字符串

1.1 字符串索引

假如字符串长度为N,其索引值从左到右为[0,N],N处取不到,从右向左为范围为[-N,-1],-1取不到。举例如下:

s = 'We are friend!'
print(len(s))
s1 = s[0]
s2 = s[0:]
s3 = s[1:5] #5取不到
s4 = s[-1:]
s5 = s[-4:-1] #-1取不到 注意冒号的左边数要比右边的小
s6 = s[0:13]
s7 = s[-13:-1]# 
#print(s1-s7)后结果如下:
输出:
13
W
We are friend
e ar
d
ien
We are friend
We are frien

1.2 其他操作

函数名方法用法
strip用于移除字符串头尾指定的字符(默认为空格或换行符)或字符序列str.strip([chars]);
lower字母转小写str.lower()
split按指定符号分隔字符串s = ‘ab,cde,fgh,ijk’ print(s.split(’,’))
find按指定字符查找字符串中的该字符s =‘snow,maple’,s.find(‘now’)

2、列表操作

列表是python的一种数据类型,可以同时存放数字,字符串等多种数据类型,类似c语言中的结构体。

2.1 列表索引

列表索引和字符串索引语法相同。

list1 = ['1',2,'3','snow',4]
list0 = list1[0]
list2 = list1[0:]
list3 = list1[1:]
list4 = list1[-1:]
list5 = list1[-5:]
输出:
list1---['1', 2, '3', 'snow', 4]
list0---1
list2---['1', 2, '3', 'snow', 4]
list3---[2, '3', 'snow', 4]
list4---[4]
list5---['1', 2, '3', 'snow', 4]

2.2 其他操作

2.2.1 添加元素
函数名方法用法
append向列表中添加元素,一次只能加一个,且只能在列表尾部追加list1.append(a)
extend向列表中添加元素,一次可添加多个,也只能在列表尾部追加list1.extend(a,b,c…)
insert可在列表指定位置添加元素list.insert(a,b),在列表的第a+1处添加元素b
2.2.2 删除元素
函数名方法用法
remove从列表中删除特定元素list1.remove(a)——删除元素a
del删除掉索引为n的元素,注意del是一种语句del list1[n]
insert可在列表指定位置添加元素list.insert(a,b),在列表的第a+1处添加元素b
pop将列表最后一个元素返回,并删除a = list1.pop()
2.2.3 排序,逆置
函数名方法用法
reverse将列表中的元素逆置list1.reverse()
sort将元素列表排序list1.sort()

3、元组

元组是与列表类似的另一种容器型数据类型,用圆括号表示,它的基本性质和索引操作和列表是一样的,重要的是元组中的元素不能重新赋值。

#元组打包
a = (1,2,3,4,"nihao",5)
c,d,e,f,g,h = a
相应的取出对应的值,左边的变量个数和元组a的长度想通过。

4、字典

字典是python中可变容器模型存放的元素无序,它可以同时存放多种类型,以键-值对的形式存在。
常见的注意事项:

  • ①创建字典时,键不能重复,同一个键可以多个值,但只记住最后一个赋值
  • ②创建字典时,键的类型可以时字符串,数组,元组,但不能时列表,列表可变,值可以是列表,字符串,数字等其他数据类型
a = {"ni":[1,'wo'],2:"o",(1,2):'ninini',(3,4):(2,1)}
print(a)
print(a[2]) 
print(a.get((1,2)))
对于键是字符串,数字的可以直接索引获得值,如果是元组的话可以用get函数获取元素
上述输出:
{'ni': [1, 'wo'], 2: 'o', (1, 2): 'ninini', (3, 4): (2, 1)}
o
ninini

其他重要函数:items
采用items可将字典以列表的形式输出,并且元素类型是元组数组,如下所示:

a.items()
输出:
dict_items([('ni', [1, 'wo']), (2, 'o'), ((1, 2), 'ninini'), ((3, 4), (2, 1))])

5、其他常用函数

5.1 join函数

python中的join函数其实就是字符串的拼接,它可以将元组,列表,字典的键等进行拼接(元组,列表,字典里的元素数据类型必须是字符串类型),它常在以下两种情形用到

  • ①:在字符串中的应用:a.join(b) 其中a是分隔符,b是需要连接的数据例如
a = ','
c = ' '
b = ['1','2','is','ni']
print(a.join(b)) #注意b中的元素全是字符串类型才能连接
print(c.join(b))
输出:
1,2,is,ni
1 2 is ni
  • ②:文件地址拼接: os.path.join(path1,path2,path3…)
import os
os.path.join('/hello/','good/boy/','doiido')
输出:
'/hello/good/boy/doiido'
import os
path1 = 'C:/python/' 
path2 = 'xi/'
path3 = 'wo/'
print(os.path.join(path1,path2,path3,'ee'))
输出:C:/python/xi/wo/ee

注意每个地址的最后一个加/结尾,最后一个文件可不用,如果不加,则出错如下:

import os
path1 = 'C:/python'
path2 = '/xi'
path3 = '/wo'
print(os.path.join(path1,path2,path3))
输出结果:C:/wo

5.2 seed,rand,randn,randint

方法名作用
seed随机因子,一旦被确定后,无论运行多少次,生成的随机数一样,一种伪随机有利于结果的复现
rand(a,b,c…)生成 [0,1)范围内满足均匀分布的随机样本数 abc…行列高…三维及以上
randn(a,b,c…)生成一个满足平均值为0,方差为1的正太分布随机样本数
randint在给定范围内生成类型为整数的随机样本数
binomial生成一个维度指定且满足二项分布的随机样本数
beta生成一个指定维度且满足beta分布的随机样本数
normal生成一个指定维度且满足高斯正太分布的随机样本数
有随机种子,无论执行多少次都是一样的随机数。
import numpy as np
np.random.seed(10)
print(np.random.rand(2,3))
print(np.random.rand(2,2,4))
print(np.random.randint(1,10))
print(np.random.binomial(6,1))
输出:
二维:
[[0.77132064 0.02075195 0.63364823]
 [0.74880388 0.49850701 0.22479665]]
三维:
[[[0.19806286 0.76053071 0.16911084 0.08833981]
  [0.68535982 0.95339335 0.00394827 0.51219226]]

 [[0.81262096 0.61252607 0.72175532 0.29187607]
  [0.91777412 0.71457578 0.54254437 0.14217005]]]
7
6

5.3 break,continue,pass

break,continue和pass是控制循环的语句,它们区别如下

语句名作用
break用于中断当前循环并且结束整个循环
continue用于中断当前循环,进入下一次循环
pass不做任何操作,继续执行当次循环中的后续代码,主要用于保持代码块的完整性。

6、python类

python也是面向对象编程的一种,所以python中也有类,所谓类就是用来描述同属性和方法的对象的集合,定义了该集合中每个对象所共有的属性和方法,对象则是类的实例。

6.1 类的创建

在python中使用class来创建一个类,以:结尾,需要了解以下知识:

  • 类变量:在创建类时定义的一些变量,叫类变量,可在此类的所有实例中共享,同时内部类和外部类也可对其访问。
  • _ init _():是类的初始化方法, 每创建一个类的实例时都会调用一次。
  • self:代表类的实例,在定义类的方法时必须要有的,但是在调用时不必传入参数。

案例如下:

class A:
    s = 0
    def __init__(self,name,num): 
        self.name=name
        self.num=num
        A.s+=1
    def function(self): #定义类方法时必须加self
        print("nihao")
stu1 = A("snow",'2016') #实例化一个变量,采用__init__中的参数类型进行赋值。
print(stu1.s)
stu1.function() #不用再写self        

6.2 类的继承

所谓继承就是定义一个类通过继承就可以获得另一个类的所有方法, 被继承的类就是父类,如果查找一个方法在当前类没有找到,判断是否为子类,如果是的话,就继续在父类中查找此方法。
案例如下:

class Parent:
    def __init__(self,name,num): 
        self.name=name
        self.num=num
    def print_name(self): #定义类方法时必须加self
        print("name is",self.name)
    def print_num(self):
    	print('num is',self.num)
    def set_num(self,num):
        self.num = num
class B(Parent):
    def __init__(self,name,num,school):
        self.name = name
        self.num = num
        self.school = school
    def print_school(self):
        print("school is",self.school)
stu = B("snow",'2022','anhui')
stu.print_school()
stu.print_name()
stu.print_num()
stu.set_num(2016)
stu.print_num()      
#输出为
school is anhui
name is snow
num is 2022
num is 2016

6.3 类的重写

当父类中的方法满足不了我们的需求时,我们可以对该方法进行重写。

class Parent:
    def __init__(self,name): 
        self.name = name
    def print_name(self): #定义类方法时必须加self
        print("name is",self.name)
class B(Parent):
    def __init__(self,name):
        self.name = name
    def print_name(self):
        print("chong xie le",self.name)
stu = B("name")
stu.print_name()
输出:chong xie le name

致谢

神经网络②——python实现神经网络 上一篇博客介绍了神经网络其实就是两步,第一步是前向传输,根据输入的特征值与权重矩阵以及激活函数,不断往前计算,得到输出层的值,第二步就是后向传播,根据残差的加权求和,不断往后,直到输入层,然后更新权重,不断进行这两步,直接输出结果的误差在所要求范围内即可。 本篇博文通过python代码实现神经网络,采用sklearn自带的手写数字集,看分类情况如何 一、导入数据集并标准化 数据集的加载非常简单,直... 阅读详情

相关推荐

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

学习人工智能时,我给自己定了一个目标--用Python写一个简单的神经网络。为了确保真得理解它,我要求自己不使用任何神经网络库,从头写起。多亏了Andrew Trask写得一篇精彩的博客,我做到了!下面贴出那九行代码:在这篇文章中,我将解释我是如何做得,以便你可以写出你自己的。我将会提供一个长点的但是更完美的源代码。首先,神经网络是什么?人脑由几千亿由突触相互连接的细胞(神经元)组成。突触传入足够的兴奋就会引起神经元的兴奋。这个过程被称为“思考”。我们可以在计算机上写一个神经网络来模拟这个过程。不需要在生物

ynca67269的博客 5188

删除字符串中的空格或指定字符(strip)

移除字符串中的指定字符 方法 作用 string.lstrip() 截掉 string 左边的空格 string.rstrip() 删除 string 字符串末尾的空格 string.strip([obj]) 用于移除字符串头尾指定的字符(默认为空格或换行符)或字符序列 练习: strip ...

ly_qiu的博客 2967

python神经网络预测的例子,python神经网络预测模型

谷歌人工智能写作项目:神经网络伪原创文案狗。用jupyter设计银行精准客户存款预测可以使用python语言构建神经网络设计,因为设计银行精准客户存款预测需要使用聚类和回归等算法,在python语言库中有很多相关的算法可以使用,所以使用python语言构建神经网络设计。时间序列模型时间序列预测分析就是利用过去一段时间内某事件时间的特征来预测未来一段时间内该事件的特征。这是一类相对比较复杂的预测建模问题,和回归分析模型的预测不同,时间序列模型是依赖于事件发生的先后顺序的,同样大小的值改变顺序后输入模型产生的结

aifans_bert的博客 4911

UE4 字符串操作(增删改查)

UE4 字符串的核心操作

qq_43021038的博客 1635

Python实现简单的神经网络

在说神经网络之前,我们讨论一下神经元(Neurons),它是神经网络的基本单元。神经元先获得输入,然后执行某些数学运算 后,再产生一个输出。比如一个2输入神经元的例子: 在这个神经元里,输入总共经历了3步数学运算,先将输入乘以权重(weight): 最后经过激活函数(activation function)处理得到输出: 激活函数的作用是将无限制的输入转换为可预测形式的输出。一种常用的激活函数是sigmoid函数: sigmoid函数的输出介于0和1,我们可以理解为它把 (−∞,+∞) 范围内的数压

xff123456_的博客 6104

用python实现神经网络

一、BP神经网络 这里介绍目前常用的BP神经网络,其网络结构及数学模型如下: x为n 维向量, y 为n 维向量,隐含层有q 个神经元。假设N 有个样本数据,𝑦𝑡,𝑥𝑡,𝑡=1,2,…𝑁{y(t),x(t),t=1,2,…N}。从输入层到隐含层的权重记为: 𝑊𝑘𝑖(𝑘=1,2,..,𝑞,𝑖=1,2,…𝑛)W_ki (k=1,2,..,q,i=1,2,…n),从隐含层到输出层的权重记为:𝑊𝑘𝑖𝑘=1,2,…𝑞,𝑖=1,2,…𝑛W_ki (k=1,2,…q,i=1,2,…n) 。 1)以澳...

chy3232的博客 5549

python神经网络入门_python神经网络基础

随笔来自《Python神经网络编程》笔记,由简到繁逐步构建python神经网络。先是大概框架:  1.初始化函数--设置输入、隐藏、输出节点的配置。2.训练--学习数据,修正权重等3.预测--输入数据,返回结果框架代码如下:1 classNeuralNetwork:2 def __init__(self):3 pass4 deftrain(self):5 ...

weixin_39585035的博客 255

如何用python搭建神经网络,python实现人工神经网络

官方不支持,建议等支持吧。dll有自己版本对应的,必须使用专门为python3.4编译的dll(),你拿python2.7的肯定用不了。如果非要使用——方法一:自己编译opencv的源码方法二:安装python2.7。搭建由一个输入层,一个隐藏层,一个输出层组成的三层神经网络。输入层中的节点数由数据的维度来决定,也就是2个。相应的,输出层的节点数则是由类的数量来决定,也是2个。(因为我们只有一个预测0和1的输出节点,所以我们只有两类输出,实际中,两个输出节点将更易于在后期进行扩展从而获得更多类别的输出)。以

神经网络爱好者 3814

【学习笔记】深度学习入门:基于Python的理论与实现-神经网络的学习

【学习笔记】深度学习入门:基于Python的理论与实现-神经网络的学习

一只快乐的小蒟蒻~ 1426

python神经网络预测的例子,神经网络算法python实现

学习人工智能时,我给自己定了一个目标--用Python写一个简单的神经网络AI爱发猫 www.aifamao.com。为了确保真得理解它,我要求自己不使用任何神经网络库,从头写起。多亏了AndrewTrask写得一篇精彩的博客,我做到了!下面贴出那九行代码:在这篇文章中,我将解释我是如何做得,以便你可以写出你自己的。我将会提供一个长点的但是更完美的源代码。学习人工智能时,我给自己定了一个目标--用Python写一个简单的神经网络。为了确保真得理解它,我要求自己不使用任何神经网络库,从头写起。多亏了Andre

shirley67269的博客 2066

如何用python搭建神经网络,python画神经网络结构图

建议从单一的感知机Perceptron出发,继而认识到Decision Boundary(判别边界),以及最简单的一些“监督训练”的概念等,有机器学习的基础最好。假如Hopfield神经网络是一个收敛的稳定网络,则这个反馈与迭代的计算过程所产生的变化越来越小,一旦达到了稳定的平衡状态,Hopfield网络就会输出一个稳定的恒值。其次至少需要具备一些适用于研究的编程语言的技能,例如python,matlab,(C++也可行)等,哪怕不自己实现最简单的神经网络而是用API,也是需要一定计算机能力才能应用之。

aifans_bert的博客 2107

python深度学习·神经网络·快速入门

本篇文章基于《Python深度学习》[英]尼格尔·路易斯 这本书上的知识,并结合笔者的思考而著文章中会提到深度学习的基础知识,常见的基础深度学习算法,深度学习numpy等常用包的导入,以及一个小型的练习案例。

AAA顶置摸鱼的博客 1443

【Python 语法】Python 神经网络项目常用语法

Python 项目常用语法

一杯水果茶!足矣~ 2214

SOM神经网络、LVQ神经网络、CPN神经网络与Python实现

竞争型学习神经网络 简述 最近对神经网络比较感兴趣,因此花了两三天时间对整个领域进行了简单的调研,梳理和学习。其中深度学习,尤其以我们熟悉的如今大火的深度网络模型,如CNN, RNN, GAN和AE及它们的子类等;是在本世纪初,硬件性能达到了一个新的高度后才能有如此巨大的发展的。事实上在21世纪之前,各种各样的神经网络模型已经被发明并应用。那时候由于硬件性能的限制,以及由通信网络不发达导致的数据量...

qq_41858347的博客 4624

C++新手也能搞定!Windows下Cesium-Native编译全流程(附依赖下载技巧)

本文为C++新手详细介绍了在Windows系统下编译Cesium-Native库的全流程。重点针对网络环境不佳的情况,提供了手动下载依赖库的实用技巧,并指导用户使用CMake配置、生成解决方案,最终完成编译与测试验证,帮助开发者成功构建这一处理3D地理空间数据的C++运行时库。

weixin_28839549的博客 381

手把手教你用C#实现TwinCAT 3 ADS通讯(附完整代码示例)

本文详细解析了如何使用C#实现TwinCAT 3 ADS通讯,包括协议核心价值、开发环境配置、变量通信实践及高级应用场景。通过完整代码示例和性能优化技巧,帮助开发者高效实现工业自动化系统中的实时数据交换,特别适合倍福(Beckhoff)平台用户。

weixin_29230901的博客 117

python实现神经网络

声明:本文是A Neural Network in 11 lines of Python学习总结而来,关于更详细的神经网络的介绍可以参考从感知机到人工神经网络。如果你读懂了下面的文章,你会对神经网络有跟深刻的认识,有任何问题,请多多请教Very simple Neural Network首先确定我们要实现的任务:\qquad\qquad\qquad\qquad输出的为样本为XX为4*3,有4个样本3

yqtao的博客 2万+

Java电商秒杀系统性能优化(一)——电商秒杀系统框架回顾

电商秒杀系统框架回顾项目简介外部依赖框架回顾项目要点项目中存在的问题小结 课程是免费的,课程地址如下:SpringBoot搭建电商秒杀项目,课程真的很棒,作者的思路很清晰,建议各位读者可以跟着视频练习一下这个项目; 项目简介 通过SpringBoot快速搭建的前后端分离的电商基础秒杀项目。项目通过应用领域驱动型的分层模型设计方式去完成:用户otp注册、登陆、查看、商品列表、进入商品详情以及倒计时秒...

ghw15221836342的博客 3722

Python搭建神经网络部分常用激活函数及Python包结构

python模块包的封装,__init__.py文件,神经网络常用激活函数,阶跃函数,sigmoid函数,ReLU函数,softmax函数,Softplus函数,tanh函数,Twish函数,神经网络搭建之激活函数,阶跃函数图像,sigmoid函数图像,ReLU函数图像,softmax函数图像,Softplus函数图像,tanh函数图像,Twish函数图像,matplotlib绘图(绘制多个图)

这个家伙看起来很懒,只想把你留下来哦 2330

ADS笔记,新旧两组仿真数据进行绘图和列表对比

原理图器件参数的不同,怎么进行对比观看,操作如下。

彭辉荣的博客 3870

阻抗控制器实现机器人关节运动控制

本文先对做个简单的介绍,具体内容后续再更,其他模块可以参考去我其他文章如:PID反馈控制器、前馈控制器、前馈+反馈控制器等等如:机械臂模型(几何解算)控制器、小车底盘运动学模型(几何解算)的控制器、四足机器人模型(预测迭代)的控制器等等如:微分平坦(无人机的轨迹跟随)等等如:MPC优化控制算法如:线性二次调节器(LQR)是基于模型的控制器,使用车辆状态来使误差最小化,Apollo使用LQR进行横向控制。横向控制包含四个组件:横向误差、横向误差的变化率、朝向误差和朝向的变化率。

qq_35635374的博客 366

python实现简单的神经网络,python搭建神经网络模型

看这个神经网络结构应该就输入输出两层,l1的shape为np.dot(l0,syn0),[4*3],[3*1]的矩阵相乘得到[4*1]的矩阵,y = np.array([[0,1,1,0]]).T,y也是[4*1]的矩阵。verbose=1,训练过程中输出的信息,0、1、2三种方式都可以,无关紧要。其次,乘以输入(0或1),如果输入是0,权重就不会调整。np.random.random 返回[0,1)区间的随机数,2*np.random.random - 1 返回[-1,1)的随机数,具体可以看。

神器榜 5140

【云原生技术】云计算与网络:容器服务(Tencent Kubernetes Engine,简称TKE)简介

基本概念主要特点应用场景技术实现容器服务(Tencent Kubernetes Engine,简称TKE)是腾讯云提供的一种托管的容器管理服务,基于开源的Kubernetes系统。TKE旨在简化容器的部署、管理和扩展,并且提供高性能、可靠性和安全性,适用于各种规模的企业和应用。

weixin_46453070的博客 2044

详解Python神经网络

神经网络是一种模拟人脑神经元工作方式的计算模型,通常用于机器学习和深度学习。在Python中,有许多库可以用于构建和训练神经网络,其中最流行的是TensorFlow和PyTorch。

左手の明天的博客 2442

作物生长模型Oryza V3实战10:运行文件参数详解

运行文件(.rer)用于批量模拟农业场景,包含多组参数集(Rerunset),每组设定独立的时间范围、灌溉施肥方案等,支持测试不同农艺措施效果。该文件可实现参数自动校准,通过多组参数组合迭代寻找最优值。模拟结果文件(res.dat)会记录全部测试时间段的数据,便于用户对比产量、水分利用率等指标,筛选最优方案或分析气候适应性策略。

209

CKA-题库-简洁参考答案-反复练习20遍-必过!!!

新版CKA考试已于2020年9月1日正式上线! 考试模式:线上考试 考试时间:2小时 认证有效期:3年 软件版本:Kubernetes v1.19 重考政策:可接受1次重考 经验水平:中級 题目数量:17题 题库量小:随机的题目重复率极高 考试时可打开两个浏览器Tab,一个是考试窗口,一个用来查阅官方文档](https://kubernetes.io/docs/) 01 Task - 英文 Create a new ClusterRole named deployment-clusterrole tha.

随笔记录-分享&记忆 7318
上一篇: CNN与RNN的详细介绍
下一篇: python之matplotlib的详细介绍
snow5618
博客等级 码龄9年 141粉丝 51原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值