吴恩达

吴恩达第二课第二周编程实例

匿名 (未验证) 提交于 2019-12-03 00:43:02
吴恩达第2课第2周编程习题 目标:使用mini―batch来加快学习速度;比较梯度下降,momentum,adam的效果 核心:指数加权平均值得计算及其意义,它是momentum,RMSProp,Adam算法的基石 不足:本例程没有使用学习率衰减的步骤,同时本例程只适于3层的二分法的神经网络 常记点: 1. 偏差修正时是除以 ,此处是-,t从1开始; 2. L=len(parameters) //2 ,这个L不等于网络层数,range(1,L+1)=range(1,len(layers_dims)) 3. Adam算法求s时,需要平方(np.square),便于后面分母除根号(np.sqrt) 4. np.random.permutation(m),把range(m)重排列,用于把样本打乱,每一代都要打乱一次 5. arr[:,:]:逗号前面表示行的选取,后面表示列的选取 ‘‘ ‘‘‘ 1. 2.mini-batch 3.momentum 4.Adam ‘‘‘ import import import import import import import import plt.rcParams[ ‘figure.figsize‘ plt.rcParams[ ‘image.interpolation‘ ]= ‘nearest‘ plt.rcParams[ ‘image.cmap‘

吴恩达《深度学习》第四门课(1)卷积神经网络

匿名 (未验证) 提交于 2019-12-03 00:41:02
1.1计算机视觉 (1)计算机视觉的应用包括图像分类、目标检测、图像分割、风格迁移等,下图展示了风格迁移案例: (2)图像的特征量非常之大,比如一个3通道的1000*1000的照片,其特征为3*1000*1000达到300万,如果第一个隐藏层有1000个单元那么W[1]有20亿个参数,计算量不仅大,而且由于图像样本相对于特征实在是太少,导致很容易过拟合,所以需要其他的方式来连接,即卷积。 1.2边缘检测示例 (1)卷积运算是输入图像与过滤器(也叫核)进行的运算,得到输出图像。卷积核与图像对应的位置相乘求和得到一个新值,如下图所示: 输出中第一个绿色框的值为: (2)每个不同的核可以检测到不同的边缘特性,如下面的核就可以检测到图像的垂直特性,即输入图像中的边缘会在输出图像中用白色显示出来,非边缘部分显示为黑色或灰色。同理还有其他水平边缘检测等各种核(过滤器)。 1.3更多边缘检测的内容 (1)除了上面提到的卷积核,还有其他许多卷积核,把上面3*3的卷积核看成9个参数,然后不是通过人工的确定,而是通过神经网络来学习这些参数,这就是卷积神经网络。 1.4Padding (1)边缘不填充会有两个缺点:第一是随着不断卷积,图像会变得越来越小,有时你可不想让它变小;第二是最角落的点只被使用了一次,这意味着在下传的过程中丢掉了图像边缘位置的信息。如下图所示(角落的绿色点只被计算了一次

吴恩达:深度学习作业2相关

匿名 (未验证) 提交于 2019-12-03 00:39:02
深度学习小知识点:( 欠拟合与过拟合 ) 1.出现欠拟合应该怎样解决:(欠拟合就是模型没能很好的捕捉到数据的特征,不能很好地拟合数据) 欠拟合的情况如图所示: a.增加特征项,出现欠拟合的原因一般是特征项不够造成的,只有增加更多的特征,网络才能学习到数据中更多的信息,一般的可以描述特征的包括“上下文特征”,“位置特征”等一些其它的特征。在日常的工作中,可以从其它的任务那得到灵感,模仿其它的工作中所用的特征项,然后把这个特征项用在自己的任务中,说不定会有提升。 b.添加多项式特征。例如上图,此时拟合的函数是一个一次的函数,我们可以添加一个二次项和一个三次项,使拟合曲线变为下图所示的这样,提升模型的泛化能力。 c.减少正则化参数。因为一般防止过拟合就会增加正则化参数。所以现在欠拟合就应该减少正则化参数。 2.出现过拟合应该怎样解决:(过拟合是指模型为了把训练集中的数据每个都划分正确,学习到了噪声数据的特征。) 过拟合的情况如图所示: a.清洗数据。造成过拟合的原因有可能是训练数据中混入了噪声数据,所以对数据进行重新清洗,可能会缓解过拟合的现象。 b.增大数据的训练量。过拟合很可能是由于数据数量过少造成的,难以学到有用的特征,反而学到了噪声数据的特征,所以可能增大数据量。 c.采用正则化。正则化方法包括L0,L1,L2正则化,L2正则化又被称为权值衰减(weight_decay)

吴恩达《Machine Learning》-Neural Networks Representation神经网络介绍(八)

匿名 (未验证) 提交于 2019-12-02 23:43:01
对于特征很多的情况,采用 polynomial regression 多项式回归会产生指数型的时间复杂度。O(n^3)(次方数=多项式多少阶) 图像特征处理: 按像素点处理 练习题: 选择(C)像素点共有100 100=1 10^4 quadratic terms 平方项为n 2/2时间复杂度为o(n 2) 故 (10 4) 2/2=5*10^7 神经网络原理: 将听觉的脑皮层,连接到视觉信号,听觉脑皮层 可以变成处理视觉的,看到图像。表明人的大脑神经原都是同一套,经过训练可以完成不同任务。故神经网络只需编写一套代码,来模拟神经。 神经网络介绍: x0叫做bias unit偏置单元,且x0=1,根据模型情况添加。 逻辑回归中的sigmod叫激活函数。 其中θ叫做参数,也叫作权重 Layer1 叫做输入层,里面是[x0…xn]各个特征(x0不一定有) Layer2:叫做隐含层,负责计算 Layer3:叫做输出层,输出结果给激活函数 θ(j)多少维度: 后一层的数量*(前一层的数量+1) θ(1)=R3*4 解释: j+1中的+1来自bias nodes 偏置单元, ,也就是说输出节点将不包括偏置单元,而输入将包括偏置单元。 练习题: 选择(D)sj+1=4 ,sj=2 故矩阵为4,2+1=[4,3]维矩阵 Forward propagation正向传播: 从输入层到隐含层

吴恩达-深度学习课程笔记1-2.1 二分类Binary Classification

江枫思渺然 提交于 2019-12-01 19:17:35
         图1                     图2   一张64*64像素的图片如图1,在计算机中保存形式如图2所示。三个64*64的矩阵,分别对应图片中红、黄、蓝三种像素的强度值。我们把这些像素值提取出来放到一个特征向量x, 而x的总维度n x 将是64*64*3=12288。二分类问题中,我们的目标就是以图片的特征向量作为输入,然后预测输出结果y是1还是0,即图片中有猫还是没猫。 n x :输入特征向量的维度,有时直接用n表示; m:表示训练样本数,有时用M tarin :表示训练集样本数,M test 表示测试集样本数; x:表示一个n x 维数据,为输入数据,维度(nx, 1); y:表示输出结果,取值(0, 1); (x (i), y (i) ):表示第i组训练数据; X = [x (1) , x (2) , ... ,x (m) ]: 来源: https://www.cnblogs.com/Mike2019/p/11713979.html

从机器学习到深度学习资料整理

青春壹個敷衍的年華 提交于 2019-12-01 16:16:35
从机器学习到深度学习资料整理    在过去的大半年中,博主一直在进行人工智能相关知识的自学。由于人工智能最近两年的火热,从网上能够找到非常多的资料,包括:MOOC、博客等,博主也花费了很多的时间从众多的资源中找到了一条“从入门到进阶”的学习之路。在此,博主根据自己的学习体验,将所用到的资料汇总在本片博文中。由于博主目前的研究对象主要是图像,因此在材料选择的过程中会重点关注图像方面的知识,但是博主在下文中所推荐的资料中也涵盖了关于文本、语音处理的内容,读者可以根据自己的需要选择性阅读。 一、入门资料   (1)吴恩达《机器学习》(网易云课堂)   入门学习的首选,课程全面介绍了机器学习的基础知识,很少涉及到高深的理论或者证明,通过学习这个课程可以帮助初学者快速掌握机器学习的经典算法,并且获得对机器学习相关技术的全面认识。吴老师在授课的时候使用的是matlab(octave),并且课程还有相应的练习(可在网络上面找到)。所配套的练习通过指导编程实践一步步地教初学者完成课程中相关的算法,完成该练习可进一步加深学习者对机器学习基础知识的认识。博主感觉该课程非常适合作为初学者的首选课程。   (2)斯坦福大学 CS231 Convolutional Neural Networks for Visual Recognition 课程   由斯坦福大学李飞飞课题组开设的关于深度学习

Github | 吴恩达新书《Machine Learning Yearning》完整中文版开源

☆樱花仙子☆ 提交于 2019-12-01 07:27:01
最近开源了周志华老师的西瓜书《机器学习》纯手推笔记: 博士笔记 | 周志华《机器学习》手推笔记第一章思维导图 [ 博士笔记 | 周志华《机器学习》手推笔记第二章“模型评估与选择” 博士笔记 | 周志华《机器学习》手推笔记第三章“线性模型” 博士笔记 | 周志华《机器学习》手推笔记第四章“决策树” 博士笔记 | 周志华《机器学习》手推笔记第五章“神经网络” 博士笔记 | 周志华《机器学习》手推笔记第六章支持向量机SVM(上) GitHub地址: 西瓜书纯手推笔记 为方便大家学习,公众号【 计算机视觉联盟 】后台回复【 西瓜书手推笔记 】即可获得 手推笔记 pdf下载链接 为方便大家学习,公众号【 计算机视觉联盟 】后台回复【 吴恩达MLY 】即可获得 吴恩达你书籍 pdf下载链接 《Machine Learning Yearning》 是吴恩达历时两年,根据自己多年实践经验整理出来的一本机器学习、深度学习实践经验宝典。 作为一本 AI 实战圣经,本书主要教你如何在实践中使机器学习算法的实战经验。 Github : https://github.com/deeplearning-ai/machine-learning-yearning-cn 在线阅读 : https://deeplearning-ai.github.io/machine-learning-yearning-cn

机器/深度学习指南

与世无争的帅哥 提交于 2019-12-01 01:49:29
怎么入门机器/深度学习? 回答这个问题,最先要考虑的问题是:你有多少时间? 准备用三个月入门,和想要一个月速成,肯定是截然不同的路径。当然我建议大家稳扎稳打,至少可以拿出五个月的时间来学好机器学习的基础知识。 基础很重要,知其所以然很重要。毕竟工具总在进步,每个月都会出现更好的深度学习技术,但基础知识是不变的。 如何用五个月时间入门?下面分三个部分,详细指南。(以及,如果你确实时间有限,最后还有一个速成指南) 五个月入门 Part 1:从机器学习开始(两个月) 最好的入门教程,就是吴恩达讲授的机器学习。吴恩达这套课程发布很久了,虽然有些地方稍微过时,但相信我,现在没有任何公开的课程,能比吴恩达讲得更好。真的,课程结束时我几乎哭了出来。 这个课程可以说适合任何水平的学生,当然,你最好还是得知道两个矩阵如何相乘,以及对编程有一些基本的了解。 这套课程可以前往Coursera学习,传送门: https://www.coursera.org/learn/machine-learning 也可以上网易公开课收看,传送门: http://open.163.com/special/opencourse/machinelearning.html 如果你有时间,一定要听完全部的课程。如果时间紧张,至少要听完前五节课程,后面的可以暂时跳过。 吴恩达的机器学习课程深入讲解了经典的机器学习模型,如线性回归

吴恩达机器学习-逻辑回归

牧云@^-^@ 提交于 2019-11-30 22:52:25
1. 确定模型函数 首先明确逻辑回归的问题归属,逻辑回归属于分类问题,逻辑回归的分布属于多项式分布(包括二项分布,也叫伯努利分布)。这个笔记我们讨论二项分布的分类问题,通俗地讲二项分布是指我们要研究的问题只有两个结果,通常这两个结果为:是和否。我们一般喜欢用0和1分别代表否和是,那么什么样的函数能描述这样一种模型呢?这种函数模型叫sigmoid函数。 函数如下图所示: 函数的公式为 2. 确定代价函数 首先,我们假设分类结果为1的概率为 那么结果为0的概率为 将上述两个概率写为一个公式 假设输入特征值是独立随机分布的,那么我们可以通过计算极大似然值来确定当输入取x时,y的最可能取值 为了简化计算我们同时对两个式子取对数 以上是我们推导出代价函数的过程 3. 确定优化算法 我们在第二步计算出了代价函数,我们希望代价函数越大越好,借鉴梯度下降算法,我们可以给出参数的就计算公式: 下面给出代价函数的偏导数的证明过程 将偏导数带入到第一个公式,得出我们的梯度上升公式 在这里提出一个小问题,线性回归使用的梯度下降算法跟逻辑回归使用的梯度上升算法是同一个吗? 除了使用梯度上升算法来求解参数外,我们还可以适用牛顿算法来求解参数,牛顿法的核心是要求出一个Heassian矩阵,矩阵中每个元素的值为 可以从上面公式得出Heassian矩阵为代价函数矩阵的二阶导数 4. python代码实现