深度学习基础
文章平均质量分 93
玥晓珖
一起学习深度学习
展开
-
deeplearning.ai 吴恩达网上课程学习(十五)——卷积神经网络及其TensorFlow代码实现
前面提到过:本文主要针对于卷积神经网络的讲解。1、卷积神经网络1.1.计算机视觉:随着深度学习技术的发展,计算机视觉领域的研究也得到了快速的发展。在对各种图像进行处理的过程中,往往在少量的图像中便蕴含着大量数据,难以用一般的DNN进行处理。而卷积神经网络(Convolutional Neural Network, CNN)作为一种前馈神经网络,它的人工神经元可以响应一部分覆盖范围内的周围单元,在图...原创 2018-04-22 21:34:30 · 3573 阅读 · 1 评论 -
deeplearning.ai 吴恩达网上课程学习
CS229比较注重理论的研究:参看CS229吴恩达斯坦福机器学习课程总结而网易云的吴恩达deeplearning.ai更加注重编程的学习,让我们带着之前的理论知识和搭建好的平台一起进行下一步的学习吧~课程概要:在第一课中,你将会了解神经网络的基础:什么是神经网络和深度学习。也就是我们课程的第一部分第一周的内容。整套课程包含五个部分,每个部分通常需要两到四周。在第一部分中,我们将学习如何构建一个新的...原创 2018-04-12 14:34:20 · 647 阅读 · 0 评论 -
deeplearning.ai 吴恩达网上课程学习(一)——深度学习简介
深度学习实际就是指训练一个规模较大的神经网络:监督学习:Standard NN:Convolutional NN:Recurrent NN:输入数据:结构化数据(具有一个明确含义的数据),非结构化数据(音频、图像,文本等等内容。其特征可能是图像中的像素信息或者是文本中的内容等)深度学习飞速发展原因:1 数据量的大爆发2 GPU等硬件设备带来的计算效率的飞速增长3 一些优秀的算法提出。横轴表示的是训...原创 2018-04-12 15:04:41 · 591 阅读 · 0 评论 -
deeplearning.ai 吴恩达网上课程学习(二)——神经网络基础
举一个逻辑回归的例子讲解神经网络的训练过程中为什么会用到前向传播和反向传播,以及前向传播与反向传播表示的含义。问题:给你一副图片,你需要判断这副图片中的内容是不是猫。如果是猫的话,输出为1,否则输出为0。我们用x表示输入图像,用y表示输出的标签。表示输入图像:输入图像是个RGB猫图像。数学符号:回顾一下逻辑回归:前边也讲过:机器学习(六):CS229ML课程笔记(2)——逻辑回归前向传播:反向传播...原创 2018-04-12 15:43:48 · 242 阅读 · 0 评论 -
deeplearning.ai 吴恩达网上课程学习(三)——Python矢量化实现神经网络
本文主要讲述了矢量化和广播,在Python编程过程中提高了运行速度,中间讲述了Logistic回归中的矢量化表示。(原文中代码实现基于jupyter notebook,文中代码实现基于之前搭建的Linux的TensorFlow平台,二者代码会有细小的区别,如果使用的是TensorFlow平台可使用本文的代码)矢量化:在大数据情况下能有效提高运行速度。example 1:向量*向量在原文中用的jup...原创 2018-04-12 17:04:28 · 662 阅读 · 0 评论 -
deeplearning.ai 吴恩达网上课程学习(四)——Logistic代码实战,基于Linux,Python 3.4
此文章偏向于实践和自己的理解,本文讲述了Python代码的一些基本操作,由浅入深最后实现logistic的代码。(原文中代码实现基于jupyter notebook,文中代码实现基于之前搭建的Linux的Python平台,二者代码会有细小的区别。搭建平台的链接深度学习(一):搭建TensorFlow)原创内容来自:https://www.missshi.cn/api/view/blog/59aa0...原创 2018-04-16 11:24:21 · 428 阅读 · 0 评论 -
deeplearning.ai 吴恩达网上课程学习(五)——浅层神经网络理论学习
本文主要来讲解包含一个隐藏层的神经网络结构及其原理。本文参考链接: https://www.missshi.cn/api/view/blog/59a6ad67e519f50d040000e51.概念初识:之前逻辑回归的模型:一个包含隐藏的神经网络的网络结构:2.神经网络的表示:其中,x1,x2,x3表示其输入层,中间的四个圆圈则表示隐藏层,最后的一个节点是其输出层。而隐藏层数据是我们无法知道而需要...原创 2018-04-16 16:38:21 · 681 阅读 · 0 评论 -
deeplearning.ai 吴恩达网上课程学习(六)——浅层神经网络分类代码实战
本文将学习如何利用Python的来实现具有一个隐藏层的平面数据分类问题。本文的实践平台是Linux,Python3.4,基础库anaconda和spyder,参考文章的实现平台是jupyter notebook:具有一个隐藏层的平面数据分类代码实战理论知识学习请参看上篇deeplearning.ai 吴恩达网上课程学习(五)——浅层神经网络理论学习目的:将创建的“花状”数据集分类1.使用的数据集:...原创 2018-04-18 10:49:11 · 883 阅读 · 0 评论 -
deeplearning.ai 吴恩达网上课程学习(七)——深层神经网络理论学习
本文主要来对浅层神经网络进行扩展,来了解深层神经网络的基本原理。本文参考链接:https://www.missshi.cn/api/view/blog/59a6ad67e519f50d040000e61.概念初识:Logistic回归:一个隐藏层的神经网络:五个隐藏层的神经网络:深层神经网络主要是指的包含的隐藏层的深度。神经网络的层数越多,可以拟合的场景越复杂。实际上,在利用神经网络解决一些问题时...原创 2018-04-18 14:43:20 · 338 阅读 · 0 评论 -
deeplearning.ai 吴恩达网上课程学习(八)——深层神经网络分类代码实战
本文将学习如何利用Python的来实现多个隐藏层的图片分类问题:用两层和多层神经网络实现是否是猫图片的分类。本文的实践平台是Linux,Python3.4,基础库anaconda和spyder,参考文章的实现平台是jupyter notebook:多层神经网络代码实战理论知识学习请参看上篇:deeplearning.ai 吴恩达网上课程学习(七)——深层神经网络理论学习1. 流程概括:2.引入相关...原创 2018-04-20 22:05:36 · 563 阅读 · 0 评论 -
deeplearning.ai 吴恩达网上课程学习(九)——深度学习基础实践理论
参考链接:https://www.missshi.cn/api/view/blog/5a1ff5cf9112b3493d000000本文主要包括:1. 训练、验证、测试集的划分2. 对偏差和方差的理解, 机器学习中解决高偏差/高方差的基本方法3. 正则化基本理论 和 防止过拟合的方法4. 如何加快训练速度5. 梯度消失和梯度爆炸的概念6. 梯度校验方法1.训练、验证、测试集的划分整个数据集分为训练...原创 2018-04-20 23:35:11 · 222 阅读 · 0 评论 -
deeplearning.ai 吴恩达网上课程学习(十)——初始化、正则化、梯度检查实战
参考:https://www.missshi.cn/api/view/blog/59bbcacae519f50d04000202原文梗概:1.初始化:一个好的初始值有助于我们整个训练过程,一方面,可以加快梯度下降的收敛速度;另一方面,使得误差更有可能减小到一个更小的值。在参考链接中给了三种不同的初始化方式,具体效果和实战例子请看最上面的参考链接:① 零初始化:通常来说,零初始化都会导致神经网络无法...原创 2018-04-21 22:18:47 · 282 阅读 · 0 评论 -
deeplearning.ai 吴恩达网上课程学习(十一)——优化算法理论讲解和代码实战
参考链接:1. https://www.missshi.cn/api/view/blog/5a2272ad9112b35ff30000002. https://morvanzhou.github.io/tutorials/machine-learning/torch/3-06-A-speed-up-learning/最后是代码实战。1.Mini-Batch梯度下降法:很大的提高了对海量数据的训练速...原创 2018-04-22 10:40:27 · 431 阅读 · 0 评论 -
Windows下基于python(anaconda)安装gpu版本的TensorFlow,kears,pytorch深度学习框架
对比TensorFlow和pytorch:PyTorch更适合于在研究中快速进行原型设计、业余爱好者和小型项目,TensorFlow则更适合大规模的调度,尤其当考虑到跨平台和嵌入式调度操作时。此文章安装三个深度学习主流框架。自身系统是Windows7,亲测可用安装链接参考:https://blog.csdn.net/colourful_sky/article/details/7...原创 2018-05-01 14:25:45 · 5300 阅读 · 0 评论 -
深度学习(一):虚拟机Linux系统搭建CPU TensorFlow
最近重装了一遍,在此捋一捋:1.在win7下进行Linux虚拟机搭建参考链接:在win7下进行Linux虚拟机搭建对于Linux系统。最易于理解的版本就是著名的Ubuntu,下载和使用都是免费的,下载链接:Ubuntu下载,因为据说Ubuntu16版本会卡,所以选择的是Ubuntu14,桌面版,ubuntu-14.04.5-desktop-amd64.iso。2.在Linux系统搭建TensorF...原创 2018-04-24 10:07:29 · 8511 阅读 · 2 评论 -
使用scikit-learn的svm进行分类(代码分析)
基于SciPy的众多分支版本中,最有名,也是专门面向机器学习的就是Scikit-learn。Scikit-learn项目最早由数据科学家 David Cournapeau 在 2007 年发起,需要NumPy和SciPy等其他包的支持,是Python语言中专门针对机器学习应用而发展起来的一款开源框架。Scikit-learn从来不做除机器学习领域之外的其他扩展,也从来不采用未经广泛验证的算法。...原创 2018-11-21 00:24:23 · 7638 阅读 · 0 评论 -
机器学习(十三):CS229ML课程笔记(9)——因子分析、主成分分析(PCA)、独立成分分析(ICA)
1.因子分析:高维样本点实际上是由低维样本点经过高斯分布、线性变换、误差扰动生成的,因子分析是一种数据简化技术,是一种数据的降维方法,可以从原始高维数据中,挖掘出仍然能表现众多原始变量主要信息的低维数据。是基于一种概率模型,使用EM算法来估计参数。因子分析,是分析属性们的公共部分的表示。Exploratory Factor Analysis (EFA) is often referred...原创 2018-04-12 14:16:51 · 1371 阅读 · 0 评论 -
CS229吴恩达斯坦福机器学习课程总结
学习的过程总是。最开始学习课程的时候激情满满,写的很认真,到了后面越来越懒,视频也没看,纯粹的看别人的博客把写的比较清楚明白的截图了。但是,以后理解的更深入之后还会对前面的文章进行修正。下面主要对整个CS229课程的一些总结:(一)监督学习:分为判别学习算法求P(y|x)①-③ 和生成学习算法求哪个P(x|y=。。。)大。① 线性回归——预测,想象y=kx+b,用一条直线来拟合样本,主要是找代价函...原创 2018-04-12 11:51:54 · 2035 阅读 · 0 评论 -
机器学习(十二):CS229ML课程笔记(8)——K-means,EM算法
2.0 先来点基础概念的认识:这篇文章用例子说明了什么是极大似然估计,很直观。2.1 前提知识:2.2 EM算法:2.3 具体流程:2.3.1 E-step——由期望(Expectation)与Jensen不等式建立下界(最大似然函数引入z变量,分子分母同时乘以Q,log函数图像如下)2.3.2 M-step——最大化(Maxmize)下界2.4 EM收敛性2.5 坐标上升法理解EM2.6 编程练...原创 2018-04-10 15:10:32 · 588 阅读 · 0 评论 -
deeplearning.ai 吴恩达网上课程学习(十四)——机器学习调优通用理论讲解
参考链接:https://www.missshi.cn/api/view/blog/5a8d4064c55cb02519000000主要是对原文的归纳总结:1.机器学习策略2.正交化调参:3.评估指标、优化指标和满足指标我们需要寻找一个返回结果为实数函数来作为评估指标。 4.训练集、验证集和测试集:验证集和测试集应该来源于同一分布,且与真实需求一致: 我们应该将所有不同区域的数据随机打乱,并从中任...翻译 2018-04-22 16:44:23 · 261 阅读 · 0 评论 -
deeplearning.ai 吴恩达网上课程学习(十三)——TensorFlow入门
参考链接:https://www.missshi.cn/api/view/blog/59bbcb46e519f50d04000206在使用Tensorflow框架时,通常的步骤如下:1. 初始化变量2. 启动一个Session3. 训练算法4. 完成神经网络1. Tensorflow库import tensorflow as tffrom tensorflow.pyth...翻译 2018-04-22 15:34:18 · 1240 阅读 · 0 评论 -
deeplearning.ai 吴恩达网上课程学习(十二)——超参数调优、Batch正则化理论及深度学习框架学习
参考链接:https://www.missshi.cn/api/view/blog/5a2273939112b35ff3000002在本文中,我们将了解一些机器学习中的超参数调优、Batch正则化及深度学习框架。主要包括:1. 超参数调试经验2. 深层神经网络中隐藏层的归一化3. Batch正则化4. Softmax分类回归问题5. 深度学习框架简介1.超参数调试经验:① 假设有两个超参数:参数1...原创 2018-04-22 11:32:29 · 356 阅读 · 0 评论 -
深度学习(二):TensorFlow 跑实例
步骤:① 新建py文件,将代码考入其中② 打开终端,用cd命令打开py文件所在文件夹,输入Python xxx.py运行。参考链接:1.实例链接遇到问题:1.Python“Non-ASCII character 'xe5' in file”报错问题解决办法很简单,只要在文件开头加入下面代码就行了# -*- coding: UTF-8 -*-参考链接:Python“Non-ASCII charact...原创 2018-03-17 16:44:23 · 1024 阅读 · 0 评论 -
机器学习(三):代码入门demo
之前学习了如何搭建平台,如何验证平台已经搭好,尝试了跑代码的流程,下一步就要进行代码的编写了,在完成此步之前,最好学习深度学习的理论知识。推荐一篇很好的入门文章,包括编程的基础知识,根据基础知识的TensorFlow应用实例,后面还讲了高级模型的实例,代码详细,注释清楚,受益匪浅。参考链接: TensorFlow入门:第一个机器学习DemoPS:如果对线性回归的理论知识不了解,请先参看:机器学习...原创 2018-03-17 22:22:21 · 894 阅读 · 0 评论 -
机器学习(四):理论课程入门
前面学习了机器学习平台的搭建和简单的代码学习,目前需要的就是对理论知识的巩固。今年三月初谷歌上线自带中文的机器学习免费课程,各种语言的字幕,中文发音,详细的解释,对数学基础要求不高,只是概念上的理解,应该算是入门最好的课程。看完这些再去学习深一点的课程会感觉容易很多。课程链接:机器学习速成课程新手慢慢学习的过程,希望同道之人多多交流。...原创 2018-03-18 13:26:03 · 194 阅读 · 0 评论 -
三种梯度下降的方式:批量梯度下降、小批量梯度下降、随机梯度下降
转载链接:三种梯度下降的方式:批量梯度下降、小批量梯度下降、随机梯度下降在机器学习领域中,梯度下降的方式有三种,分别是:批量梯度下降法BGD、随机梯度下降法SGD、小批量梯度下降法MBGD,并且都有不同的优缺点。下面我们以线性回归算法(也可以是别的算法,只是损失函数(目标函数)不同而已,它们的导数的不同,做法是一模一样的)为例子来对三种梯度下降法进行比较。1. 线性回归假设 特征 和 结果 都满足...转载 2018-03-19 10:19:40 · 555 阅读 · 0 评论 -
机器学习(五):CS229ML课程笔记(1)——线性回归
当我们看完了谷歌上线自带中文的机器学习免费课程,相信大家对机器学习都有了概念性的理解。下面我选择的课程是网易云吴恩达的公开课,相比前面的课程,此课程多了很多公式推导,详尽地介绍深度学习的基本原理。请不要觉得难就刻意避开公式推导,如果真的想理解机器学习,一定要能够独立推导出每个公式。附上网页学习链接,可缓存下载:网易云吴恩达的公开课本部分讲述了线性回归原理,线性回归的求解方法(梯度下降和正规...原创 2018-03-22 16:26:22 · 798 阅读 · 0 评论 -
机器学习(六):CS229ML课程笔记(2)——逻辑回归
上一篇文章记录了线性回归,下面要说一说逻辑回归。一、监督学习:当我们预测连续值的时候被称为回归regression问题,预测离散值被称为分类classification问题。Part 2:1.为什么要逻辑回归:(参考链接)我们套用Andrew Ng老师的课件中的例子,下图中X为数据点肿瘤的大小,Y为观测结果是否是恶性肿瘤。通过构建线性回归模型,如hθ(x)所示,构建线性回归模型后,我们设定一个阈值...原创 2018-03-23 21:43:27 · 874 阅读 · 0 评论 -
机器学习(七):CS229ML课程笔记(3)——广义线性模型
Part 3 Generalized Linear Models(广义线性模型)在Part1和Part2我们见到了回归模型和分类模型。在回归的例子中,我们假设了高斯分布,也就是:。在分类的例子中我们选择了伯努利分布,也就是:这两个例子都是由广义线性模型推导出来的。接下来还会描述GLM家族中其他模型在前面两个问题中是如何应用的。1. The exponential family(指数分布族)在介绍广...原创 2018-03-25 21:55:48 · 792 阅读 · 0 评论 -
机器学习(八):CS229ML课程笔记(4)——生成学习,高斯判别分析,朴素贝叶斯
到目前为止,我们主要学习了学习算法模型:,在给定以θ为参数的x时y的分布。比如说逻辑回归模型:,g是sigmoid function。今天我们学的是一种不同的学习算法——生成学习算法。Part4 生成模型、高斯判别分析、朴素贝叶斯1.判别学习算法和生成学习算法① 判别学习算法(discriminative learning algorithm):训练出一个总模型,把新来的样本放到这个总模型中,直接...原创 2018-04-01 20:02:05 · 1109 阅读 · 0 评论 -
机器学习(九):CS229ML课程笔记(5)——支持向量机(SVM),最优间隔分类,拉格朗日对偶性,坐标上升法,SMO
Part 5:Support Vector Machines SVM这一节将描述的是支持向量机学习算法,是一种非线性分类方法(non-linear classifiers)。要学习SVM,首先我们要认识一下“margins”和 the idea of separating data with a large“gap.”之后还需要了解 “optimal margin classifier”最优间隔分...原创 2018-04-06 22:26:27 · 1891 阅读 · 0 评论 -
【cs229-Lecture7】支持向量机(SVM)
转载链接:【cs229-Lecture7】支持向量机(SVM)这篇文章比较注重总结和直观上的展示,更方便我们的理解————————————————————————————————————————————————————SVM不错的学习资料:百度网盘链接: http://pan.baidu.com/s/1hqw0Rnm 密码: asecblog:http://www.blogjava.net/zhe...转载 2018-04-08 15:11:09 · 163 阅读 · 0 评论 -
机器学习(十):CS229ML课程笔记(6)——学习理论:偏差/方差、经验风险最小化(ERM)、联合界、一致收敛
后面几篇文章主要是学习如何对偏差和方差进行权衡、如何选择模型、如何选择特征的内容,通过这些可以在实际中对问题进行更好地选择与修改模型。Part 6 学习理论:吴恩达老师很强调对学习理论的理解,他说理解学习理论是对机器学习只懂皮毛的人和真正理解机器学习的人的区别。学习理论的重要性在于通过它能够针对实际问题更好的选择模型,修改模型。学习理论主要包括偏差/方差(Bias/variance)、经验风险最小...原创 2018-04-10 09:39:25 · 2023 阅读 · 0 评论 -
机器学习(十一):CS229ML课程笔记(7)——模型选择,特征选择
总结:1. 模型选择:——交叉验证(Model selection)① 保留交叉验证(Hold-out cross validation)② k重交叉验证(k-fold cross validation)③ 留一验证法(Leave-one-out cross validation)2. 特征选择(Feature selection)① 正向搜索/反向搜索(forward/backwardsearc...原创 2018-04-10 09:43:16 · 884 阅读 · 0 评论 -
全连接层VS卷积层
1.全连接层:全连接层的每一个结点都与上一层的所有结点相连。类似下图:2.卷积层:参看:卷积神经网络反卷积/转置卷积 的理解 transposed conv/deconv3.全连接层转化为卷积层有兴趣的先看看Alexnet的网络结构。Tensorflow,Alexnet和MNIST数据 识别手写的数字(入门,代码,解析),此链接和本文的Alexnet参数不一致,...原创 2018-11-29 05:27:37 · 956 阅读 · 0 评论