随笔分类 - 机器学习/神经网络
摘要:本文大多数内容来自于MATLAB的help命令,如果有不理解的可以使用这个命令阅读帮助文档。1.生成高斯随机数样本矩阵: R = MVNRND(MU,SIGMA,N),其中MU是1*D均值向量,SIGMA是D*D协方差矩阵,N是样本数目,返回的R是N*D样本矩阵示例mu = [1 -1]; Sigma = [.9 .4; .4 .3];r = mvnrnd(mu, Sigma, 500);plot(r(:,1),r(:,2),'.'); %用点作图2.将workspace的矩阵变量存入文件及从文件中读取矩阵变量: 以矩阵m1为例,这两条命令分别是 savefilename.ma
阅读全文
摘要:有关于VC维可以在很多机器学习的理论中见到,它是一个重要的概念。在读《神经网络原理》的时候对一个实例不是很明白,通过这段时间观看斯坦福的机器学习公开课及相关补充材料,又参考了一些网络上的资料(主要是这篇,不过个人感觉仍然没有抓住重点),重新思考了一下,终于理解了这个定义所要传达的思想。 先要介绍分散(shatter)的概念:对于一个给定集合S={x1, ... ,xd},如果一个假设类H能够实现集合S中所有元素的任意一种标记方式,则称H能够分散S。 这样之后才有VC维的定义:H的VC维表示为VC(H) ,指能够被H分散的最大集合的大小。若H能分散任意大小的集合,那么VC(H)为无穷大。...
阅读全文
摘要:实例出自Simon Hayking的《神经网络原理》多层感知器一节。 问题简单叙述如下:从0和1的重集中选择2个元素进行异或,其输入是非线性可分模式。即,不能用一条直线将(0,0)、(0,1)、(1,0)、(1,1)根据它们异或的结果用一条直线进行划分。因此,一个简单感知器不能解决XOR问题。这里使用隐藏神经元进行解决划分问题。程序比较简单,也没什么泛用性。 激活函数phi(这里使用阈值函数)、神经元neuron、权值、偏置等术语请参照原书。模拟程序如下:#include <stdio.h>#include <stdlib.h>struct neuron { int w
阅读全文