深度学习深度学习
文章平均质量分 74
这里我不是专家,我也是学生,这个专栏,是我学习的笔记。多年的经验告诉我,深度学习的入门,他不是某一种语言,他的门槛更高,但是,学会它,他会给你意想不到的惊喜!
breeze的一切
十年的程序员,过去了,第二十年,会是怎样的世界?
展开
-
深度学习深度学习(一)开篇
深度学习“深度学习”! 记得9年前写的一篇博客,十年的程序员,一晃眼,差不多10年又快到了。 这一轮的人工智能,深度学习,他是我见到的一个非常特殊的编程方式:用数据编程。是的,他绝对不像其他的编程语言,是完全一个崭新的天地,掌握她,绝对会带来惊喜--你会发现以前感觉超级难的东西会忽然“哇,这个功能也能实现!” 开这个专栏有两个目的: 1. 我不是专家,...原创 2018-01-30 20:17:39 · 474 阅读 · 0 评论 -
深度学习深度学习(十三)TensorFlow2.0
之前十一,十二章节,使用的都是TF1.0的版本和概念进行讲解。现在TF升级到2.0了,变化蛮大,至少不大像兼容的样子。跑之前的 十一,十二章节代码,跑不动。TF2.0主要用到的是keras包,这个确实写起来比1.0要简介非常非常多。下来逐个讲解。首先安装,官网的,参考如下:使用 pip 安装 TensorFlow按顺序装吧,注意中途需要安装的插件,尽管安装即可。注意,里面需要一个python的虚拟环境,这个我们直接用PyCharm吧,创建新项目本身就是一个干净的环境了。这里有个.原创 2021-11-11 19:37:56 · 3516 阅读 · 1 评论 -
深度学习深度学习(十二)TensorFlow搭建神经网络
搭建神经网络,有两个前提:1. TF基本概念是了解的2. 神经网络的基础应该多少掌握一些搭建的流程无非:1.训练的数据2.定义节点准备接收数据3.定义神经层:隐藏层和预测层4.定义 loss 表达式5.选择 optimizer 使 loss 达到最小好了,按照上一章节的说法,本节属于实战类型,保持代码,可以直接作为后续神经网络建模的基础。内容不解释,直接上代码:import tensorflow as tfimport numpy as np# 添加层...原创 2021-11-09 17:09:25 · 1547 阅读 · 0 评论 -
深度学习深度学习(十一)TensorFlow基础
TensorFlow用于进行深度学习的训练,比较常用。我们大多数TF是用于python'的,但是TF的编程过程和普通的python不一样,这个要适应一下才行。TF是基于之前的深度学习基础的,所以要理解里面的内容,基础还是要学扎实,出门左转,见前面十篇讲解。掌握基础后,建议先了解一下基本的TF概念,然后按照每个经典的模型进行学习(比如:神经网络,CNN,RNN)。因为每个模型其实代码都差不多,调整一下基本也就可以用于不同的场景。多调试几次这些网络模型,后面再扩展的学习,那些就是高级用法了。本章原创 2021-11-09 16:43:07 · 861 阅读 · 0 评论 -
深度学习深度学习(十)神经网络的一些调试问题
神经网络讲完了,相信有用过Tensflow的朋友,自己根据网上的实际案例,还有这些理论应该可以创建更多的东西。但是,创建完网络,网络怎么达到最优呢?理论总是很性感,而显示确实很骨感,我现在学到CNN网络,之前有过一些调试,另外一个学长,在完成作业的时候也是说过,tmd,代码就几行,理论就那些,但是那个痛苦啊,为了把error降到1以内,几个通宵啊!所以,和网上直接给结果源码不同,机器学习的调试,让选择模型参数更艺术,才是优秀人才。好了,废话不说,我也没啥经验,不过,我说过,这个是笔记,我就把笔记摘录下来原创 2021-11-08 20:08:19 · 304 阅读 · 0 评论 -
深度学习深度学习(九)backpropagation
复习一下,我们之前知道,组成一个神经网络后,就要计算出他的参数W。而计算W就要弄清楚他的costfunction,因为costfunction就是衡量和计算不同W的值之间的优劣的。换句话说,我们要根据样本数据找到使得costfunction最小的W的值。这个方法我通常使用的是梯度下降,而梯度下降中最重要的参数就是找到costfunction对W的导数DW。在未组成网络的时候我们知道,单个式子的导数比如D = ó;这里如果costfunction使用的是方差,则ó = (Ÿ-Y)*f'(h)。其中f'是a原创 2021-11-08 20:00:20 · 220 阅读 · 0 评论 -
深度学习深度学习(八)神经网络
接下来两个章节将是非常重要的,我们之前的一系列理论都算是铺垫,这章节开始终于接触到真正的神经网络了。回到我们之前的例子z = W * X,X分别表示期末考试和平时成绩x1,x2.这实际上是表示了一个直线图,如下:很显然,我们用了一个很粗暴的方法,即画了一条直线,去表示不同的结果,但是,往往我们实际应用中,问题分布并不那么简单,比如:这样的分布,我们用肉眼也能看的出来,一条直线切下去,无论怎么切都不合适。我们应该这样:很显然,这个已经不是直线了,那这个怎么实现.原创 2021-11-08 18:05:22 · 236 阅读 · 0 评论 -
深度学习深度学习(七)矩阵化
深度学习深度学习(七)矩阵化2018-02-05 12:21·深度学习深度学习我们一起回忆一下,前面一系列推到过程,到底解决了什么问题:我们最初是这样的一个实际问题:在某个兴趣学习班中,迎来了期末的考试。两个成绩,一个是期末成绩,一个是平时成绩,而根据以往的经验,有一批样本数据,就是给定了一个期末成绩和平时成绩,最后标注出,这个样本本身是升级到中级班,还是高级班。有了这个样本成绩后,我们希望建立一个公式,根据这个公式,我们可以任意推断,预测,任何一个考生,比如小秦,他是可以升到中级班还是高级班。原创 2021-11-08 17:46:34 · 956 阅读 · 0 评论 -
深度学习深度学习(六)实现梯度下降
这一章节,我们是把上一章节的理论赋予实际的实现。让我们先回顾一下,我们为了测量一个方程是否是好的,我们就要建立一个cost function,计算每个方程带入所有样本的总偏差E。然后根据梯度下降,找到E的最小值。上一章也讲过,查找E的最小值,常用的方法就是梯度下降,而计算梯度下降重点就要把E的导数算出来。我们先来计算一下导数:上一章讲过,cost function有两个一个使用方差,另外一个用交叉熵,方差是比较简单的,所以我们先假定用方差去计算导数:(注意,下面用到的是高等数学里头的复合函数的导原创 2021-11-08 17:23:16 · 455 阅读 · 0 评论 -
深度学习深度学习(五)如何找到最好的方程
回顾一下,上一个章节中,我们找到了一个评判两个方程好坏的标准,标准也很简单,很数学化,两个方程,计算他们的E,E较小那个就是比较好的!沿着这个思路,我们有没有可能找到一个最好的呢?有!这个问题转换成数学问题就是,在众多,,b中找到一个组合,使得E最小,即E的最小值,那么这个,,b所代表的方程,就是最好的方程!求E最小值!变量是,,b也许你又要回到高中数学的噩梦,怎么又是求最小值?别着急,有方法论。我们先看看我们的目标,是求下面方程E的最小值:好,目标清楚了,我们先把目标放一旁,先..原创 2021-11-08 16:45:36 · 267 阅读 · 1 评论 -
深度学习深度学习(四)如何评价
回顾一下,我们为预测小秦,是否上高级班,我们设定了一个预测函数:Ý = ∂(3 + 2 - 25);当然,∂是为了整理结果让结果缩小到0到1区间用的,而实际的方程是:Z = 3 + 2- 25 ;我们用图可以大致表示如下:这里要问一个问题:这个方程Z = 3 + 2 - 25 怎么来的?额,拍脑袋想的.....你可能就会很无语,为何是Z=3 + 2 -25 而不是Z = 2+3 - 20 或则。。。。很多很多别的?是的理论上,会存在无数个这样的方程,我们...原创 2021-11-08 16:21:07 · 390 阅读 · 0 评论 -
深度学习深度学习(三)结果怎么处理呢
我们回顾一下,为了预测小秦是升到高级班还是中级班,我们用了一个方程 Z=3 + 2 - 25去处理。if Z>0 than 升入高级班if Z<0 than 到第几班但这样表示在计算机里面是很难处理,我们在计算机里面通常是用0,1表示不同的状态,这就是二进制。所以,我们希望,真正的结果是:0,1。比如,我们的样本案例中:我们用Y表示每一个点的结果:蓝色点为通过高级班,即Y=1红色点为为中级班,即Y=0这个是实际的样本数据里面的设定。而我们的预测方程,.原创 2021-11-08 16:03:14 · 785 阅读 · 0 评论 -
深度学习深度学习(二)从一个简单的分类问题开始
有一个兴趣班,兴趣班在期末将有一个学生评估,评估结果会将部分优秀的学生升级高级班,其他学生将会升级到中级班。而评估内容有两项,一个是期末考试平常成绩,满分是10分;另外一个是平时平均成绩,满分也是10分。好了,小明,小莫成绩出来啦:小明: 期末成绩8分,平时成绩9分 结果:升入高级班小莫: 期末成绩4分,平时成绩5分 结果:升入中级班现在问题来了:小秦,期末成绩6分,平时成绩也是6分 那他能否通过升入高级班呢?我们把它转换成一个简单的数学问题:把期末成绩和平均成绩变成一个坐标系,如下:原创 2021-11-08 15:39:46 · 162 阅读 · 0 评论