赞
踩
研究生生涯正式开始了,看了吴恩达的AI课程,然后通过廖雪峰学习了一些python的知识,然后看了一些关于BP博文,然后手推了一遍反向传播算法,还要完成一些导师布置过来的任务,收获还是不错的,然后推荐给ML入门者一些好的网站去学习。
廖雪峰python3网站学习地址:链接地址
吴恩达AI课程:链接地址
我见过最好的BP算法的证明:链接地址,可以把相关的文章都看一遍。
今天主要跑了一下bp算法的代码,也就是第三个分享的连接下给的代码,因为给出的代码是python2.7的代码,但是现在大家基本都是用python3跑程序,但是源码直接拿来用python3跑会报错,这里我把我把我遇到的一些问题跟大家分享一下,然后我把代码挂上来。
两种方式都是引入numpy库中的所有函数、函数、对象、变量等,两者的区别在于调用其中内容时不同.
以掉用numpy中的random模块为例,第一种方式要用numpy.random,第二种方式只用random即可。
但是请特别注意:pep标准推荐使用第一种方式,请在日常使用中尽量使用第一种方法,就比如numpy中random 标准库中也有random,但是两者的功能是不同的,使用第二种方式容易造成混淆
python2中map函数中输入一个list做处理返回的也是一个list,但是python3中输入一个list返回的是map object,因此如果想得到一个list,需要在map函数外加list()
举个例子:
def f(x):
return x*x
L = [1, 2, 3, 4, 5]
print(map(f, L))
该代码在python3上报错:<map object at 0x0000022B9E6BADA0>
修改的代码为:
def f(x):
return x*x
L = [1, 2, 3, 4, 5]
print(list(map(f, L)))
此时可以得出正确结果:[1, 4, 9, 16, 25]
# -*- coding: UTF-8 -*- import random from numpy import * from functools import reduce #这里exp函数来自numpy def sigmoid(inX): return 1.0 / (1 + exp(-inX)) class Node(object): def __init__(self, layer_index, node_index): self.layer_index = layer_index self.node_index = node_index self.downstream = [] self.upstream = []
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。