Θ应初始化为什么值 当我们是用logistic regression算法时,将θ初始化为0是可以的:但是如果在神经网络里面,将θ初始化为0是不可行的 若将Θ初始化为0的后果-the problem of symmetry ways 当Θ初始化为0后,蓝色线上的两个weights是相等的,红色线上的两个weights也是相等的,绿色线上的两个weights也是相等的,这样a1(2)=a2(2),同样δ1(2)=δ2(2),然后对的两个蓝色线上的Θ求导后值也相等,即经过一次update后,a1(2)…
random 1.作用: random模块用于生成随机数 2.常用函数: random:用于生成一个0到1的随机符点数: 0 <= n < 1.0 uniform(a, b):用于生成一个指定范围内的随机符点数,两个参数其中一个是上限,一个是下限.如果a > b,则生成的随机数n: a <= n <= b.如果 a <b, 则 b <= n <= a. randint(a, b):用于生成一个指定范围内的整数.其中参数a是下限,参数b是上限,生成的随机数n:…
K-means algorithm initialize K-means算法中有一步为随机初始化cluster centroids,这步如何进行,我们将介绍一种运行比较好的方法,这种方法比其它初始化的方法都好 如何random initialize 如右图所示,两个不同的random initialize,可能会得到两种不同的聚类结果,特别是可能会得到局部最优 什么是局部最优 如图所示,我们有三种不同的initialize cluster centroids的点(叉叉表示),从而得到了三种不同的…
一.K均值算法的优化目标 K-均值最小化问题,是要最小化所有的数据点与其所关联的聚类中心点之间的距离之和,因此 K-均值的代价函数(又称畸变函数 Distortion function)为: 其中…
K-Means的中心初始化惯用方式是随机初始化.也就是说:从training set中随机挑选出K个 作为中心,再进行下一步的K-Means算法. 这个方法很容易导致收敛到局部最优解,当簇个个数(K)较小(2<K<10)时,我们可以重复 多次K-Means,记录下他们的每个的cost function的值(如下图),其中cost function最小的便是 最优聚类结果了.   …
#对coursera上Andrew Ng老师开的机器学习课程的笔记和心得: #注:此笔记是我自己认为本节课里比较重要.难理解或容易忘记的内容并做了些补充,并非是课堂详细笔记和要点: #标记为<补充>的是我自己加的内容而非课堂内容,参考文献列于文末.博主能力有限,若有错误,恳请指正: #---------------------------------------------------------------------------------# 多层神经网络模型: , <补充>:…
原文 http://blog.csdn.net/abcjennifer/article/details/7758797 本栏目(Machine learning)包括单参数的线性回归.多参数的线性回归.Octave Tutorial.Logistic Regression.Regularization.神经网络.机器学习系统设计.SVM(Support Vector Machines 支持向量机).聚类.降维.异常检测.大规模机器学习等章节.所有内容均来自Standford公开课machine…
1.一些基本符号 2.COST函数 ================Backpropagation Algorithm============= 1.要计算的东西 2.向前传递向量图,但为了计算上图的偏导,要用到后向传递算法 3.后向传递算法 4.小题目 ==============Backpropagation Intuition============== 1.前向计算与后向计算很类似 2.仅考虑一个例子,COST函数化简 3.倒着算theta   =======Implementation…
深度学习中的weight initialization对模型收敛速度和模型质量有重要影响! 在ReLU activation function中推荐使用Xavier Initialization的变种,暂且称之为He Initialization: import numpy as np W = np.random.randn(node_in, node_out) / np.sqrt(node_in / 2) 使用Batch Normalization Layer可以有效降低深度网络对weight…
转自: https://www.leiphone.com/news/201703/3qMp45aQtbxTdzmK.htmla https://blog.csdn.net/shuzfan/article/details/51338178  [原理推导] 背景 深度学习模型训练的过程本质是对weight(即参数 W)进行更新,这需要每个参数有相应的初始值.有人可能会说:“参数初始化有什么难点?直接将所有weight初始化为0或者初始化为随机数!”对一些简单的机器学习模型,或当optimizatio…
声明:所有内容来自coursera,作为个人学习笔记记录在这里. Initialization Welcome to the first assignment of "Improving Deep Neural Networks". Training your neural network requires specifying an initial value of the weights. A well chosen initialization method will help…
本文转自:谷歌工程师:聊一聊深度学习的weight initialization TLDR (or the take-away) Weight Initialization matters!!! 深度学习中的weight initialization对模型收敛速度和模型质量有重要影响! 在ReLU activation function中推荐使用Xavier Initialization的变种,暂且称之为He Initialization: 使用Batch Normalization Layer…
深度学习模型训练的过程本质是对weight(即参数W)进行更新,这需要每个参数有相应的初始值. 有人可能会说:"参数初始化有什么难点?直接将所有weight初始化为0或者初始化为随机数!" 对一些简单的机器学习模型,或当optimization function是convex function时,这些简单的方法确实有效. 然而对于深度学习而言,非线性函数被疯狂叠加,这便是一个非凸函数,如何选择参数初始值便成为一个值得探讨的问题. 研究的目的是:选择更适合的初始化方法,使得目标函数更容易…
横1. np.concatenate(list, axis=0) 将数据进行串接,这里主要是可以将列表进行x轴获得y轴的串接 参数说明:list表示需要串接的列表,axis=0,表示从上到下进行串接 2.np.hstack(list)  将列表进行横向排列 参数说明:list.append([1, 2]), list.append([3, 4])  np.hstack(list) , list等于[1, 2, 3, 4] 3. hasattr(optim, 'sgd') 判断optim.py中是…
非线性分类器(Non-linear hypotheses) 为什么使用非线性分类器 我们举几个栗子: 假如我们有一个数据空间如左上角坐标系所看到的,那么我们要的模型须要如右边公式所看到的的预測函数. 如果有n个特征那么计算二次多项式就有O(n^2)的复杂度.n能有多大? 我们来看以下这个栗子. 如果我们须要识别汽车,假如选取图像上两个点,那么就如左边坐标系所看到的,这没什么. 但实际上我们须要的数据空间时整张图片全部的像素.也就是如果图像是50∗50那么我们就有2500个像素点.也就是须要250…
13.聚类 觉得有用的话,欢迎一起讨论相互学习~Follow Me 13.1无监督学习简介 从监督学习到无监督学习 在一个典型的监督学习中,我们有一个有标签的训练集,我们的目标是找到能够区分正样本和负样本的决策边界,在监督学习中,我们有一系列标签,我们需要据此拟合一个假设函数: 与此不同的是,在非监督学习中,我们的数据没有附带任何标签,我们拿到的数据就是这样的: 在这里我们有一系列点,却没有标签.因此,我们的训练集可以写成只有x(1),x(2),x(3)...一直到x(m),而没有任何标签y.因…
Lecture 13 聚类 Clustering 13.1 无监督学习简介  Unsupervised Learning Introduction 现在开始学习第一个无监督学习算法:聚类.我们的数据没有附带任何标签,拿到的数据就是这样的: 例子: (注:这里有考题,问哪些可以使用聚类算法) 13.2 K-means算法 K-Means Algorithm K-Means 是最普及的聚类算法,算法接受一个未标记的数据集,然后将数据聚类成不同的组.迭代过程为:1)选择K个随机的点,称为聚类中心(cl…
The human visual system is one of the wonders of the world. Consider the following sequence of handwritten digits: Most people effortlessly recognize those digits as 504192. That ease is deceptive. In each hemisphere of our brain, humans have a prima…
反向传播算法(Back Propagation): 引言: 在逻辑回归中,我们使用梯度下降法求参数方程的最优解. 这种方法在神经网络中并不能直接使用, 因为神经网络有多层参数(最少两层),(?为何不能) 这就要求对梯度下降法做少许改进. 实现过程:  一.正向传播 首先,同逻辑回归,我们求出神经网络输出与实际值的“误差”——COST: 这里先使用欧式距离而不是索夫曼函数作为输出的cost: 展开之后: (注意右边的权重衰减项,既规则化) 二.反向传播 对于第  层(输出层)的每个输出单元 ,我们…
神经网络是一种受大脑工作原理启发的模式. 它在许多应用中广泛使用:当您的手机解释并理解您的语音命令时,很可能是神经网络正在帮助理解您的语音; 当您兑现支票时,自动读取数字的机器也使用神经网络. Non-linear Classification 当输入数据特征过多,像上面的例子,当使用三次幂的特征时,可以超过170,000项,使我们的逻辑回归难以运行. 还有在计算机视觉中,图片的表示是通过像素矩阵表示的,如上图所示.那么假设一个图片是简单的50×50px,其特征数为2500(7500 if RG…
神经网络 Neural Networks 1 为什么要用神经网络? 既然前面降了逻辑回归,为什么还需要神经网络呢?前面我们制定在非线性分类问题中,也可以使用逻辑回归进行分类,不过我们的特征变量就变成了原始特征的高阶多项式.假设有100个特征变量,要使用逻辑回归进行分类的话,特征就呈指数增长,不仅计算量十分大,而且很容易过拟合. 2 模型表示 神经元模型 单个神经元可以是一个逻辑回归模型. 基本神经网络 由多个神经元组成,一般有输入层.隐层和输出层. 写成向量形式: 3 举例Examples an…
前馈神经网络(Feedforward Neural Network - BP) 常见的前馈神经网络 感知器网络 感知器(又叫感知机)是最简单的前馈网络,它主要用于模式分类,也可用在基于模式分类的学习控制和多模态控制中.感知器网络可分为单层感知器网络和多层感知器网络. BP网络 BP网络是指连接权调整采用了反向传播(Back Propagation)学习算法的前馈网络.与感知器不同之处在于,BP网络的神经元变换函数采用了S形函数(Sigmoid函数),因此输出量是0~1之间的连续量,可实现从输入到…
第三周:浅层神经网络(Shallow neural networks) 3.1 神经网络概述(Neural Network Overview) 使用符号$ ^{[…
Initialization 如何选择初始化方式,不同的初始化会导致不同的结果 好的初始化方式: 加速梯度下降的收敛(Speed up the convergence of gradient descent) 增加梯度下降 收敛成 一个低错误训练(和 普遍化)的几率(Increase the odds of gradient descent converging to a lower training (and generalization) error) To get started, run…
random() random()方法:返回随机生成的一个实数,它在[0,1)范围内 运用random()方法的语法: import random #random()方法不能直接访问,需要导入random模块,然后通过random静态对象调用该方法 random.random random.random()方法用于生成一个0到1的随机浮点数:0<=n<1.0 >>> import random >>> print "random():",…
1.random.random 随机生成一个0到1的随机浮点数: 0 <= n < 1.0 In [2]: print random.random() 0.544824016934 2.random.uniform 随机生成指定范围内的随机浮点数 In [3]: print random.uniform(10,20) 17.8860791804  3.random.randint 随机生成指定范围内的整数 random.randint(a, b),用于生成一个指定范围内的整数.其中参数a是下限…
一.概述 这个模块实现的伪随机数生成器. 对于整数,从区间选取.对于序列,随机元素. 在实线的,有功能来计算均匀分布,正态分布(高斯) ,对数正态分布,负指数,γ和β分布.对于生成的角度分布,冯·米塞斯的分布是可用的. 几乎所有的模块功能依赖于基本功能随机的( ) ,它生成一个随机浮点均匀的半开区间[ 0.0 , 1.0 ) . Python使用Mersenne扭曲为核心的发电机.它产生53位精度浮点值,周期为2**19937-1 . C语言底层实现是快速和线程.梅森倍捻机是最广泛的测试,随机数…
Imagine you're an engineer who has been asked to design a computer from scratch. One day you're working away in your office, designing logical circuits, setting out AND gates, OR gates, and so on, when your boss walks in with bad news. The customer h…
time 模块: time.time() #时间戳 time.localtime() #当前时间对象元组 time.localtime(123123) #根据时间戳的时间对象 time.mktime(time.localtime()) #把时间对象转成时间戳 time.gmtime() #0时区,我们是东8区,比我们晚8h的时间对象元组 time.sleep(2) #单位s 睡一会 time.asctime() #美国表示时间字符串 'Sat Feb 24 13:23:36 2018' time…