机器学习中的一些方法主要内容•线性回归和梯度下降法•Logistic回归•高斯混合模型和EM算法线性回归•举个例子线性回归•形式化描述–训练集inputvariables每个是n维的向量outputvariables第i个训练样本:–学习函数使得对一个新的输入x,能得到对应的目标值(1)(2)(){,,...,}mXxxx(1)(2)()y{,,...,}myyy()()ii(x,y)()ix0110()()...nnniiihxhxxxxT=x线性回归•一种求解方法–求出的梯度–函数在极值处梯度为0,–分别对求导––求矩阵的逆复杂度一般是O(n3)1min()()()2TJXyXy()J()J()0J()()TJXXy1()TTXXXy梯度下降•损失函数••一般流程–首先对θ赋值,这个值可以是随机的,也可以让θ是一个全零的向量。–改变θ的值,使得J(θ)按梯度下降的方向进行减少,直到收敛()Jmin()J梯度下降•求解21)()())((21)(minmiiiyxhJAndrewNgGradientDescentAlgorithm10J(0,1)AndrewNg01J(0,1)AndrewNg(forfixed,thisisafunctionofx)(functionoftheparameters)AndrewNg(forfixed,thisisafunctionofx)(functionoftheparameters)AndrewNg(forfixed,thisisafunctionofx)(functionoftheparameters)AndrewNg(forfixed,thisisafunctionofx)(functionoftheparameters)AndrewNg(forfixed,thisisafunctionofx)(functionoftheparameters)AndrewNg(forfixed,thisisafunctionofx)(functionoftheparameters)AndrewNg(forfixed,thisisafunctionofx)(functionoftheparameters)AndrewNg(forfixed,thisisafunctionofx)(functionoftheparameters)AndrewNg(forfixed,thisisafunctionofx)(functionoftheparameters)AndrewNg梯度下降•适用于无约束优化问题,目标函数有一阶导数,精度要求不很高的情况•迭代终止准则–根据两次迭代的绝对误差–根据目标函数梯度的模足够小)()(11kkkkff)()(kf卷积神经网络1卷积神经网络已成为当前语音分析和图像识别领域的研究热点。并且是深度学习模型中最成功的模型。2优点:a)输入图像和网络的拓扑结构能很好的吻合;b)特征提取和模式分类同时进行,并同时在训练中产生;c)权重共享可以减少网络的训练参数,使神经网络结构适应性更强3举个简单例子,机器反复学习桃花的特征后,就会自己找到判定一朵桃花的方法,它会将这类有颜色、有花瓣、有花蕊的物体自动和花这个单词联系到一起,并最终形成一个特定的识别数据包,再依据这种“识别包的数据”,就可以从千万张图片或视频中识别出桃花来。卷积神经网络CNN最厉害的地方就在于通过感受野和权值共享减少了神经网络需要训练的参数的个数。如,1000x1000像素的图像,有1百万个隐层神经元(特征值),全连接:1000x1000x1000000=10^12个连接,也就是10^12个权值参数。图像的空间联系是局部的,每一个神经元都不需要对全局图像做感受只感受局部的图像区域,然后在更高层,将这些感受不同局部的神经元综合起来就可以得到全局的信息了。卷积神经网络如,局部感受野是10x10,隐层每个感受野只需要和这10x10的局部图像相连接,所以1百万个隐层神经元就只有一亿个连接,即10^8个参数(10X10X1000000=10^8)少了4个0(数量级)每一个神经元存在10x10=100个连接权值参数。那如果我们每个神经元这100个参数是相同的呢?也就是说每个神经元用的是同一个卷积核去卷积图像。只需:100个参数---(权值共享)但是这样的后果:是只提取了一种特征卷积神经网络我们定义由同一种滤波器卷积得到的向量组合,为FeatureMap所以假设我们加到100种滤波器,每种滤波器的参数不一样,表示它提出输入图像的不同特征。所以100种卷积核就有100个FeatureMap。100种卷积核(不同特征)x每种卷积核共享的100个参数=100x100=10K,也就是1万个参数。卷积神经网络每输入一张32*32大小的图片,F6输出一个84维的向量,这个向量即我们提取出的特征向量。网络的C1层是一个卷积层(为什么是卷积?卷积运算一个重要的特点就是,通过卷积运算,可以使原信号特征增强,并且降低噪音卷积神经网络是一个多层的神经网络,每层由多个二维平面组成,而每个平面由多个独立神经元组成。卷积神经网络1010101011、某种滤波器的大小是3*3,数据如图:2、原来的图像大小是5*5,数据如图:1110001110001110011001100卷积神经网络S2层的pooling值是邻域四个像素(2*2)求和变为一个像素,产生一个大概缩小四倍的特征映射图Sx+1pooling使得通过卷积获得的feature具有空间不变性最后,输出层由欧式径向基函数(EuclideanRadialBasisFunction)单元组成,通过计算输入向量和参数向量之间的欧式距离。输入离参数向量越远,RBF输出的越大。每类一个单元,共10类(对应数字0-9)常用的激活函数Sigmoid函数高斯函数双曲正切函数Relu函数对称型Sigmoid函数xxeexf11)(0,11)(xxeexf或非对称型Sigmoid函数xexf11)(或0,11)(xexf高斯函数)(22)(xexf反映出高斯函数的宽度双曲正切函数Relu函数主要应用场景图像处理语音处理自然语言处理图像分类语音处理自然语言处理37递归神经网络递归神经网络定义递归神经网络(RecurrentNeuralNetwork,简称RNN)是由Jordon于1986年首次提出递归神经网络,是指神经元有一个或多个自身反馈环的网络,反馈可以是局部的,也可以是全局的。这就使它与前向神经网络不同,反馈或递归连接成递归形式,从而可以达到动态效果递归神经网络又称为反馈神经网络、动态神经网络、重复神经网络或动态递归神经网络构成递归神经网络模型方法总的思想是通过对前馈神经网络中加入一些附加的、内部的反馈通道来增加网络本身处理动态信息的能力递归神经网络能够利用网络的内部状态反馈来描述系统的非线性动力学行为,能更直接地反映系统的动态特性,更适用于非线性动态系统的辨识38递归神经网络递归神经网络结构递隐藏层的输出存储到存储器中将存储器当中的数据作为输入层的部分输入递归神经网络会对前面的信息进行记忆并应用于当前输出的计算中,即隐藏层之间的节点不再无连接而是有连接的,并且隐藏层的输入不仅包括输入层的输出还包括上一时刻隐藏层的输出39递归神经网络递归神经网络作用RNN已经被在实践中证明对NLP是非常成功的,如词向量表达、语句合法性检查、词性标注等在RNNs中,目前使用最广泛最成功的模型便是长短时记忆模型(LongShort-TermMemory,LSTM),该模型通常比vanillaRNNs能够更好地对长短时依赖进行表达语言模型与文本生成语言模型—给一个单词序列,根据前面的单词预测每一个单词的可能性,往往可能性越大,语句越正确文本生成—使用生成模型预测下一个单词的概率,从而生成新的文本根据输出概率的采样三层的神经网络语言模型40递归神经网络递归神经网络作用机器翻译是将一种源语言语句变成意思相同的另一种源语言语句,如将英语语句变成同样意思的中文语句机器翻译与语言模型关键的区别:需要将源语言语句序列输入后,才进行输出对长短时依赖进行表达机器翻译流程图41递归神经网络递归神经网络作用语音识别(SpeechRecognition)是指给一段声波的声音信号,预测该声波对应的某种指定源语言的语句以及该语句的概率值42递归神经网络递归神经网络作用图像描述生成(GeneratingImageDescriptions)—RNN已在对无标图像描述自动生成中得到应用,并结合CNN进行图像描述自动生成43递归神经网络RNN扩展和改进模型SRNs(SimpleRNNs)是RNNs的一种特例,它是一个三层网络,并且在隐藏层增加了上下文单元BidirectionalRNNs(双向网络)的改进之处便是,假设当前的输出(第t步的输出)不仅仅与前面的序列有关,并且还与后面的序列有关SRNs网络结构y便是隐藏层u便是上下文单元输出由这两个RNNs的隐藏层的状态决定44递归神经网络RNN扩展和改进模型Deep(Bidirectional)RNNs与BidirectionalRNNs相似,只是对于每一步的输入有多层网络DeepRNNs的结构Deep(Bidirectional)RNNs有更强大的表达与学习能力,但是复杂性也提高了,同时需要更多的训练数据45递归神经网络RNN扩展和改进模型EchoStateNetworks的特点核心结构是一个随机生成、且保持不变的储备池,其中储备池是大规模的、随机生成的、稀疏连接的循环结构其储备池到输出层的权值矩阵是唯一需要调整的部分简单的线性回归就可完成网络的训练46递归神经网络RNN扩展和改进模型GatedRecurrentUnitRNNs主要是从以下两个方面进行改进:在产生误差error时,误差可能是由某一个或者几个单词而引发的,所以应当仅仅对对应的单词weight进行更新序列中不同的位置处的单词对当前的隐藏层的状态的影响不同,越前面的影响越小47递归神经网络LSTM(LongShort-TermMemory)是长短期记忆网络,是一种时间递归神经网络,适合于处理和预测时间序列中间隔和延迟相对较长的重要事件LSTM由Hochreiter&Schmidhuber(1997)提出,并在近期被AlexGraves进行了改良和推广在2015年,谷歌通过基于CTC训练的LSTM程序大幅提升了安卓手机和其他设备中语音识别的能力,其中就使用了JürgenSchmidhuber的实验室在2006年发表的方法RNN扩展和改进模型48递归神经网络所有RNN都具有一种重复神经网络模块的链式的形式。在标准的RNN中,这个重复的模块只有一个非常简单的结构,如tanh层标准RNN中包含单一层的重复模块LSTM同样是这样的结构,但重复的模块拥有一个不同的结构,即有四个神经网络层,且以一种非常特殊的方式进行交互LSTM中包含多层的重复模块RNN扩展和改进模型49递归神经网络LSTM的核心思想—LSTM的关键就是细胞状态,水平线在图上方贯穿运行,其中细胞状态类似于传送带,直接在整个链上运行,只有一些少量的线性交互LSTM有通过精心设计的称作为“门”的结构来去除或者增加信息到细胞状态的能力,如sigmoid神经网络层和pointwise乘法操作Sigmoid神经网络层和Pointwise乘法操作RNN扩展和改进模型50递归神经网络ClockworkRNNs是较新的一种RNNs模型,其论文发表于2014年BeijingICML,且其效果较SRN与LSTMs好ClockworkRNNs也是一个RNNs的改良版本,是一种使用时钟频率来驱动的RNNsCW-R