唐宇迪深度学习课程上篇——动手完成简单的神经网络



#coding:utf-8
‘‘‘
Created on 2017年7月21日

@author: KLKJ
‘‘‘
import numpy as np
def sigmoid(x,deriv=False): #定义激活函数,deriv=False时进行前向传播的运算,deriv=True进行反向传播的运算
    if deriv == True:
        return x*(1-x)##这里x=1/(1+exp(-x)),是sigmoid函数求导后的结果
    return 1/(1+np.exp(-x))

x = np.array([[0,0,1],
              [0,1,1],
              [1,0,1],
              [1,1,1],
              [0,0,1]]
             ) #输入5个样本,每个样本三个特征值
y = np.array([[0],
              [1],
              [1],
              [0],
              [0]]) #期望输出得分
np.random.seed(1)#随机种子

w0 = 2 * np.random.random((3,4))-1 #w0的维数与样本特征与神经元的个数有关,random初始化的值在(0,1)的半开区间内,让w0的值在(-1.+1)区间上
w1 = 2 * np.random.random((4,1))-1
print w0#查看w0的值

for j in xrange(60000): #迭代六万次
    l0 = x  #将x的值给l0,l0为输入层
    l1 = sigmoid(np.dot(l0,w0)) #中间层经过第一层后的得分
    l2 = sigmoid(np.dot(l1,w1)) #输出层的得分
    l2_error = y - l2 #输出层的得分与期望形式得分的差异
    if(j%10000) == 0:
        print ‘Error‘+str(np.mean(np.abs(l2_error)))#每经过一万次迭代输出一次差异值的平均值,以便观察差异值是否减小
    l2_delta = l2_error * sigmoid(l2,deriv=True)#w1对错误的贡献
    l1_error = l2_delta.dot(w1.T)#反向传播根据12_delta得出
    l1_delta = l1_error * sigmoid(l1,deriv=True)#w0对错误的贡献

    w1 += l1.T.dot(l2_delta) #根据反馈过来的结果对w1进行调节
    w0 += l0.T.dot(l1_delta) #根据反馈过来的结果对w0进行调节

				
时间: 2024-10-05 09:02:20

唐宇迪深度学习课程上篇——动手完成简单的神经网络的相关文章

唐宇迪-人工智能学习路线(下篇)

唐宇迪:51CTO微职位讲师,计算机博士,人工智能专家 内容梗概:介绍人工智能学习步骤和知识框架.人工智能的学习可以拆分为7步,此为4-7步:下篇. 第4步:深度学习 1)深度学习概述 终于说到深度学习了,都需要学什么呢?深度学习可以说是当下最好用的算法了,各个领域都能吃得开.其实最核心的还是在计算机视觉和自然语言处理中,因为神经网络算法更适用于图像和文本数据. 主要需要掌握的就是算法和框架了,算法就是CNN,RNN这些经典网络模型,框架就是实战的工具了例如tenorflow,Pytorch等,

唐宇迪-人工智能学习路线(上篇)

唐宇迪:51CTO微职位讲师,计算机博士,人工智能专家 内容梗概:介绍人工智能学习步骤和知识框架.人工智能的学习可以拆分为7步,此为1-3步:上篇. 第1步:必备基础技能 要学人工智能(数据科学)这行还是需要一些基本功的,最基础也是最核心的就是Python和数学了!这两兄弟入门起来并不难,先掌握基础的边用边学也是可以的! 1)必备Python基础 如果对Python不熟悉的同学们,建议先看一下我的Python入门视频课程,可以快速入门!免费学习链接:https://edu.51cto.com/c

PK2030-唐宇迪深度学习框架-Tensorflow案例实战视频课程

新年伊始,学习要趁早,点滴记录,学习就是进步! 随笔背景:在很多时候,很多入门不久的朋友都会问我:我是从其他语言转到程序开发的,有没有一些基础性的资料给我们学习学习呢,你的框架感觉一下太大了,希望有个循序渐进的教程或者视频来学习就好了.对于学习有困难不知道如何提升自己可以加扣:1225462853  获取资料. 下载地址:https://pan.baidu.com/s/1dGWUnfV 谢谢大家的支持,我会努力给大家分享高质量教程 原文地址:https://www.cnblogs.com/sun

唐宇迪老师现场剖析深度学习——免费公开课招募啦~~~

           免费公开课具体相关事宜:            地点:QQ群直播 553481374            时间:2016年12月27号晚19:30-21:00(19:30-20:30讲述深度学习.神经网络等,20:30-21:00答疑) 讲师简介: 深度学习领域多年一线实践研究专家,同济大学硕士. 主要研究深度学习领域,计算机视觉,图像识别.精通机器学习,热爱各种开源技术尤其人工智能方向.在图像识别领域有着丰富经验,实现过包括人脸识别,物体识别,关键点检测等多种应用的最新

WebGL/Three.js深度学习课程详解

课程介绍:适用于对WebGL.Three.js等3D技术感兴趣,却不知道如何入门的同学, 课程带领大家深入理解WebGL的原理. 课程目录:├─01-基础部分│      01-WebGL与three.js的基础.与opengl的关系.mp4│      02-编写第一个three.js程序.mp4│      03-three.js程序框架,绘制一条直线.mp4│      04-三维世界的组成(点.线).mp4│      05-坐标系的秘密(世界坐标.本地坐标).mp4│      06-

转:深度学习课程及深度学习公开课资源整理

http://www.52nlp.cn/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0%E8%AF%BE%E7%A8%8B%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0%E5%85%AC%E5%BC%80%E8%AF%BE%E8%B5%84%E6%BA%90%E6%95%B4%E7%90%86 这里整理一批深度学习课程或者深度学习相关公开课的资源,持续更新,仅供参考. 1. Andrew Ng (吴恩达) 深度学习专项课程 by Courser

机器学习001 deeplearning.ai 深度学习课程 Neural Networks and Deep Learning 第一周总结

Deep Learning Specialization 吴恩达老师最近在coursera上联合deeplearning.ai 推出了有关深度学习的一系列课程,相对于之前的machine learning课程,这次的课程更加实用,作业语言也有matlab改为了python从而更加贴合目前的趋势.在此将对这个系列课程做一个学习笔记. 而这次的Deep Learning Specialization分为五门课程,分别为:Neural Networks and Deep Learning,Improv

李飞飞、吴恩达、Bengio等人的15大顶级深度学习课程

目前,深度学习和深度强化学习已经在实践中得到了广泛的运用.资源型博客sky2learn整理了15个深度学习和深入强化学习相关的在线课程,其中包括它们在自然语言处理(NLP),计算机视觉和控制系统中的应用教程. 这些课程涵盖了神经网络,卷积神经网络,循环网络和其变体,训练深度网络的困难,无监督表示学习,深度信念网络,深玻尔兹曼机器,深度Q学习,价值函数估计和优化以及蒙特卡洛树搜索等多种算法的基础知识. 吴恩达:深度学习专项 这系列课程侧重于讲解深度学习的基础和在不同领域的运用方式,如医疗健康,自动

吴恩达深度学习课程第一课 — 神经网络与深度学习 — 第一周练习

课程一 - 神经网络和深度学习 第一周 - 深度学习简介 第 1 题 “人工智能是新电力”这个比喻指的是什么? A.人工智能为我们的家庭和办公室的个人设备供电,类似于电力. B.通过“智能电网”,人工智能正在传递新一波的电力. C.人工智能在计算机上运行,因此由电力驱动,但它让计算机做以前不可能做的事情. D.与100年前开始的电力类似,人工智能正在改变多个行业. 第 2 题 以下哪些是最近深度学习开始崛起的原因?(选2个答案) A.我们拥有了更多的计算能力 B.神经网络是一个崭新的领域. C.