神经元的形态分类和识别.docx
- 文档编号:23343629
- 上传时间:2023-05-16
- 格式:DOCX
- 页数:19
- 大小:30.45KB
神经元的形态分类和识别.docx
《神经元的形态分类和识别.docx》由会员分享,可在线阅读,更多相关《神经元的形态分类和识别.docx(19页珍藏版)》请在冰豆网上搜索。
神经元的形态分类和识别
全国第七届研究生数学建模竞赛
题目 神经元的形态分类和识别
摘 要:
本文通过对神经元几何空间数据进行特征计算与提取,在此基础上对相关的任务结合特定的分类算法建立了数学模型。
本文的主要工作包括以下方面:
(1):
提出了一种基于“期望-标准差范围比对”的简单算法,采用附录A中的数据作为训练集,得到各个类别各个特征的期望和标准差进而得到相应的特征范围,对附录C的神经元进行特征比对,实现了对附录C的神经元类别的精确划分。
(2)利用了SVM算法,并从网站[1]上下载了更多的已知类别的神经元数据进行特征提取,输入编写的SVM程序进行训练,对附录B中未知的神经元进行了分类。
(3)运用聚类算法对各种神经元进行了更具有一般性的聚类,并对神经元的命名提出了建议。
聚类算法更好地帮助我们识别未知类别,有利于发现区别于已知类型的其它神经元
(4)利用聚类算法对不同物种的同类神经元进行了分类及特征比较,从而确定了不同物种间的同类神经元具有一定的特征差异。
(5)我们是建立在两个假设之上,即同类神经元的空间几何特征存在很大的相似性和神经元随时间的变化体现为神经元房室数量的变化。
根据同类神经元房室数量的变化,得出神经元随时间流逝神经形态是怎样生长变化的。
并且,得出神经元的类型判别不仅仅孤立第看待其各个特征,还要观察期特征之间的相关性,这样更有利于判定神经元的所属类别。
关键词:
形态特征;期望;标准差;支持向量机;聚类
中山大学承办
一问题重述
大脑是生物体内结构和功能最复杂的组织,其中包含上千亿个神经细胞(神经元)。
人类脑计划(HumanBrainProject,HBP)的目的是要对全世界的神经信息学数据库建立共同的标准,多学科整合分析大量数据,加速人类对脑的认识。
神经元是大脑构造的基本单位,神经元的特性对脑的认识有着显著意义。
对神经元特性的认识,最基本问题是神经元的分类。
目前,关于神经元的简单分类法主要有:
(1)根据突起的多少可将神经元分为多极神经元;双极神经元和单极神经元。
(2)根据神经元的功能又可分为主神经元,感觉神经元,运动神经元和中间神经元等。
我们只考虑神经元的几何形态,研究如何利用神经元的空间几何特征,通过数学建模给出神经元的一个空间形态分类方法,将神经元根据几何形态比较准确地分类识别。
神经元的空间几何形态的研究是人类脑计划中一个重要项目,NeuroMorpho.Org包含大量神经元的几何形态数据等,现在仍然在不断增加,在那里我们可获得大量的神经元空间形态数据,例如附录A和附录C。
通过获得的数据,我们主要解决以下几个问题:
(1)通过神经元几何空间数据进行神经元几何特征的选取及计算。
(2)通过已知类别的少量神经元的几何特征数据选择合适的算法进行分类。
(3)通过大量已知类别的神经元的几何特征数据选择合适的算法对未知类别的神经元进行分类。
(4)对不同物种的同类神经元选择合适的算法对其几何特征的差异进行判断。
(5)根据相关文献提出的方法,预测神经元形态的生长。
二基本假设
1)提取的33个特征能够区分神经元的类别。
2)在分类算法中,神经元的生长已经停止,即特征将不再变化。
3)给出的神经元数据是线性可分的。
4)对问题五,同种类别的神经元的集合形态特征具有很大的相似性。
5)对问题五,神经元房室数量的变化体现为其生长的变化,也即随着时间的流逝,树突和轴突不断地生长而发生变化。
三符号说明
N:
一个神经元向量;
T:
由m个神经元向量组成的矩阵;
E:
特征值期望;
S:
特征值标准差;
四神经元几何形态数据的特征提取与数据模型的建立
首先我们从neuromorpho.org网站上下载了更多的SWC格式的神经元几何空间数据,接着利用L-Measure[2]软件对每个神经元进行了33个特征的提取,最终的数据格式如下:
表1:
神经元的数据结构
Soma_Surface33571.54521628577.630403.2
N_stems11101312
N_bifs150122171175
N_branch321263367373
Width1944182717301923
Height1412169317661732
Depth1638.61925.71698.41774
Diameter2.639344.067923.756952.90775
Length96039.878849.1103228113502
Surface548245512418676400499671
Volume439406390413530778283360
EucDistance1588.521531.51617.491587.72
PathDistance1822.9418181734.791880.77
Branch_Order99911
Contraction0.928360.9486310.9471930.942836
Fragmentation1251545717753
Partition_asymmetry0.5069220.4448320.4807420.444403
Bif_ampl_local53.847744.093443.53351.7272
Bif_ampl_remote51.573242.997444.367852.2666
N_tips1111
SectionArea63.9557165.377111.09299.8725
Terminal_degree2.56933.494723.984023.55838
TerminalSegment1111
Branch_pathlength308.81310.43290.782313.54
Parent_Daughter_Ratio0.586540.69110.6359120.63054
Bif_tilt_local122.418125.948125.66119.644
Bif_tilt_remote125.771134.6128.265121.592
Diam_threshold1.378631.593481.538861.05599
HillmanThreshold1.762441.629241.83021.2834
Helix-0.00062-0.00018-0.00407-0.00347
Rall_Power1.351061.779611.731041.60429
Taper_1-0.02875-0.00868-0.01461-0.01165
Taper_20.5372730.4796170.4837180.505574
其中,每列表示1个神经元的特征向量,每行则表示神经元的相应的特征值。
特征值具体的定义如下:
第1行:
Soma_Surface,细胞体表面积;
第2行:
N_stems,茎数;
第3行:
N_bifs,分枝数;
第4行:
N_branch,枝条树;
第5行:
Width,平均宽度;
第6行:
Height,平均高度;
第7行:
Depth,平均深度;
第8行:
Diameter,房室直径,取平均值;
第9行:
Length,长度;
第10行:
Surface,表面积;
第11行:
Volume,体积;
第12行:
EucDistance,房室的最大欧式距离;
第13行:
PathDistance,房室的最大径向距离;
第14行:
Branch_Order,枝条的最大层数;
第15行:
Contraction,分枝的欧式距离与其径向距离比值,取平均值;
第16行:
Fragmentation,碎片总数;
第17行:
Partition_asymmetry,分枝两端末梢数的比例,取平均值;
第18行:
Bif_ampl_local,分枝的子节点之间的角度,取平均值;
第19行:
Bif_ampl_remote,相邻分枝间的角度,取平均值;
第20行:
N_tips,末梢数;
第21行:
SectionArea,房室的底面积,取平均值;
第22行:
Terminal_degree,终端房室的角度,取平均值;
第23行:
TerminalSegment,终端房室数目;
第24行:
Branch_pathlength,分枝的房室长度和,取平均值;
第25行:
Parent_Daughter_Ratio,分枝与其子房室的直径比,取平均值
第26行:
Bif_tilt_local,分枝上相邻房室的角度,取平均值;
第27行:
Bif_tilt_remote,分枝上相邻片段的角度,取平均值;
第28行:
Diam_threshold,存在终端末梢的分枝的首个房室直径,取平均值;
第29行:
HillmanThreshold,存在终端末梢的分枝的房室直径,取平均值;
第30行:
Helix,神经元的螺旋性;
第31行:
Rall_Power,分枝子房室的直径1.5次方之和,取平均值;
第32行:
Taper_1,相邻连接两个分枝的直径差除以第一个分枝的长度,取平均值;
第33行:
Taper_2,枝条最后个房室与首个房室的直径比,取平均值。
因此,任何一个神经元都可以用的向量表示,即:
N=(Soma_Surface,
N_stems,
N_bifs,
N_branch,
Width,
Height,
Depth,
Diameter,
Length,
Surface,
Volume,
EucDistance,
PathDistance,
Branch_Order,
Contraction,
Fragmentation,
Partition_asymmetry,
Bif_ampl_local,
Bif_ampl_remote,
N_tips,
SectionArea,
Terminal_degree,
TerminalSegment,
Branch_pathlength,
Parent_Daughter_Ratio,
Bif_tilt_local,
Bif_tilt_remote,
Diam_threshold,
HillmanThreshold,
Helix,
Rall_Power,
Taper_1,
Taper_2);
m个神经元即可用的矩阵表示:
五问题一模型的建立与算法的设计
我们首先根据附录A和附录C样本神经元的空间集合数据,利用L-Measure软件计算出各类每个神经元的空间形态特征数据,诸如:
SomaSurface、NumberofStems、NumberofBifurcation等特征。
根据所得结果发现不同类别神经元的空间形态特征数据相差很大,这里我们直接将中间神经元看作三类来处理,即分为双极中间神经元、三极中间神经元和多极中间神经元,总共有7类神经元数据。
5.1算法设计—期望-标准差算法
这里我们采用附录A中的神经元作为训练数据,附录C中的神经元作为测试数据。
对7类神经元中的每类计算各个特征的期望E,以及标准差S。
期望E反映了各类神经元各个特征的平均水平,而标准差S反映了各类神经元各个特征的波动范围,这样我们可以通过期望E和标准差S来确定各类各个特征的一个范围,即为[E-S,E+S]。
5.2模型建立
预处理数据中我们用L-Measure软件以及我们的转换程序得出了每类神经元有33个特征。
附录A中7类神经元的个数分别为:
表2各类神经元对应的数量
神经元类别名数量
CatMotoneuron5
Purkinjecell6
Ratpyramidal7
Bipolarinterneuron5
Tripolarinterneuron5
Multipolarcell9
Sensoryneuron7
针对7类神经元分别计算33个特征的期望E和标准差S,得到各个神经元类别的33个特征范围[E-S,E+S]。
针对附录C中的7个神经元分别进行测试,每一个神经元都有33个几何形态特征,我们分别将33个特征与每个类别的特征范围进行比对。
若是待测试神经元特征数据落于某类别的特征范围之内,则给该类加1。
最终将待测试神经元与7个类型的特征范围比对完毕,比较每个类别的得分高低,得分最高者类别为待测试神经元所属的类别。
5.3模型求解
对7个类计算所得的期望E和标准差S,详细数据见附件,这里我们只给出CatMotoneuron的特征期望和特征标注差的计算结果。
表3CatMotoneuron的特征期望和特征标注差的计算结果
特征名特征期望E特征标注差S
Soma_Surface35042.346609.58206757432
N_stems10.81.92353840616713
N_bifs159.824.139********5
N_branch340.248.6744286047613
Width1897.6126.056733259275
Height1669146.058207574925
Depth1743.18113.246509879996
Diameter3.1718140.701332308203465
Length101729.5815254.4858071978
.025*******
Volume383804.8107992.30327065
EucDistance1600.52453.0767795744995
PathDistance1884.822166.425384391925
Branch_Order9.40.894427190999916
Contraction0.93790920.011760626671228
Fragmentation820.2263.015588891609
Partition_asymmetry0.4599710.0334570359266926
Bif_ampl_local49.428465.20567524035067
Bif_ampl_remote49.216925.2229048940221
N_tips10
SectionArea101.8633240.7395084070365
Terminal_degree3.3764480.519096605190209
TerminalSegment10
.0313********
.0432********
Bif_tilt_local122.16483.8097140575114
Bif_tilt_remote126.03465.81442536283681
Diam_threshold1.3513180.227992334454472
HillmanThreshold1.5736780.241413527417169
Helix-0.0031429410.0029162711475619
Rall_Power1.7019180.25310889745325
Taper_1-0.0146732540.00818625466568687
Taper_20.48900220.0361871850065738
得到7个类的特征范围[E-S,E+S],以及附录C中七个神经元的特征数据,将特征数据与特征范围比对,记得如下结果:
表4附录C中的神经元测试结果
得分附录C1motorneuron-A附录C2purkinjeneuron-A附录C3pyramidalneuron-A附录C4Bipolarinterneuron-A
CatMotoneuron26544
Purkinjecell14171514
Ratpyramidal661810
Bipolarinterneuron5151130
Tripolarinterneuron10111210
Multipolarcell12101315
Sensoryneuron11161115
测试所属类别结果CatMotoneuronPurkinjecellRatpyramidalBipolarinterneuron
得分附录C5tripolarinterneuron-A附录C6
Multipolarinterneuron-A附录C7sensoryneuron-A
CatMotoneuron765
Purkinjecell221820
Ratpyramidal388
Bipolarinterneuron899
Tripolarinterneuron281723
Multipolarcell272525
Sensoryneuron221232
测试所属类别结果TripolarinterneuronMultipolarcellSensoryneuron
从表4中可以看出附录C中的7个神经元的测试结果与其真实所属类别完全符合。
从一程度上说明我们这种方法对于根据神经元的空间几何特征判别其所属类别是有效的。
该方法思路简单清晰,运算量小效率高,并且达到了很好的分类效果。
六问题二模型的建立与算法的设计
对未知类型的数据进行分类,通常是利用机器学习的方法,通过大量已知类别的数据进行有监督的学习,对模型进行训练,然后对未知类别的数据进行分类。
我们同样利用L-measure获得了附录B中20个神经元的特征数据,在问题一的数据比较基础上,由于附录B中的神经元类别并未知晓,因此利用已知确切类别的神经元数据来对附录B进行类别分析。
6.1算法设计-SVM分类算法
我们采用SVM分类算法对问题进行分类。
支持向量机(SVM,SupportVectorMachine)是由Vapnik首先提出来的,像多层感知网络和径向基函数网络一样,可用于模式分类和非线性回归。
支持向量机的主要思想是建立一个分类超平面作为决策曲面,使得正例和反例之间的隔离边缘被最大化。
支持向量机的基础是统计学习理论,更精确的说,支持向量机是结构风险最小化的近似实现。
这个原理基于这样的事实:
学习机器在测试数据上的误差率(即泛化误差率)以训练误差率和一个依赖于VC维数(Vapink-Chervonekisdimension)的项的和为界限,在可分模式情况下,支持向量机对于前一项的值为零,并且使第二项最小化。
一个分类器的期望风险会满足以下不等式:
其中,表示期望风险,表示经验风险,表示结构风险。
支持向量机是通过将不等式右边最小化,来降低分类器的期望风险。
因此,尽管它不利用问题本身领域内的内部问题,但是在模式分类的问题上,支持向量机能提供比较好德尔泛化性能,这个属性是支持向量机特有的。
支持向量机具有以下的优点:
1.通用性:
能够在很广的各种函数集中构造函数;
2.鲁棒性:
不需要微调;
3.有效性:
在解决实际问题中总是属于最好的方法之一;
4.计算简单:
方法的实现只需要利用简单的优化技术;
5.理论上完善:
基于VC维推广理论的框架。
在支持向量x(i)和输入空间抽取的向量x之间的内积核这一个概念是构成支持向量机学习算法的关键。
支持向量机是由算法从训练数据中抽取的小的子集构成。
支持向量机的体系结构如下图所示:
图1支持向量机的体系结构
其中K为核函数,其种类主要有:
线性核函数:
;
多项式核函数:
;
径向基核函数:
;
两层感知器核函数:
。
6.2模型建立
模型建立首先需要从原始数据里把训练集和测试集提取出来,然后进行一定的预处理(必要时还需要进行特征提取与选择),之后用训练集对SVM进行巡练,再用得到的模型来预测测试集的分类标签,算法流程如图所示:
图2模型流程图
6.3模型求解
附录A中的是已分好类的神经元,有五大类七小类共44个样例;
附录C中是附录A中七类不同种类神经元样例的典型样例,一共7个;
附录B中是待分类的神经元,一共20个,其中可能含有不属于附录A和附录C中任何一种类型的神经元。
要对附录B中的20个未分类的数据进行分类,此时仅仅采用A中的44条数据进行SVM模型训练显然是不够的,因此,通过访问NeuroMorpho.org的官方网址下载了七种一共349条数据。
利用这额外的349条数据作为SVM模型的训练集,B中的20条数据作为测试集进行分类。
表5训练集与测试集
训练集(数目)测试集(数目)
网络下载(349)附录B(20)
下载数据中各类神经元数目:
表6各类神经元的数目与标号
种类数目标号
Motor1001
Purkinje102
Pyramidal183
Bipolar64
Tripolar255
Multipolar296
Sensory1277
Unknown458
6.3.1数据的归一化处理
对训练集合测试集进行归一化预处理,采用归一化映射如下:
式中,,,归一化的效果是原始数据被规整到[0,1]范围内,即,这种归一化方式称为[0,1]区间归一化。
本题采用MATLAB编程,在MATLAB中,mapminmax函数可以实现上述归一化,其常用函数接口如下:
[y,ps]=mapminmax(x)
[y,ps]=mapminmax(x,ymin,ymax)
其中,x是原始数据,y是归一化后的数据,ps是个结构体记录的是归一化的映射,mapminmax函数所采用的映射是:
其中,和是原始数据的最小值和最大值,和映射的范围参数,可调剂,默认为-1和1,此时的映射函数即为上面说的[-1,1]归一化。
如果把置为1,则此时的映射函数即为上面说的[0,1]归一化。
6.3.2训练工具
用训练集对SVM分类器进行训练,用得到的模型对测试集进行神经元分类预测。
其中SVM的实现采用的是libsvm工具箱[3]。
Libsvm是台湾大学林智仁(LinChin-jen)教授等开发设计的一个简单,易于使用且快速有效的SVM模式识别与回归的软件包,它不仅提供了编译好的可在Windows系统下的执行文件,还提供了源代码,方便改进、修改以及在其他操作系统上应用;提供了很多的默认参数,利用这些默认参数就可以解决很多问题并提供了交互检验(crossvalidation)的功能。
6.3.4分类结果
在程序中,我们分别用1-8数字代表对应的类别,其中1-7对应已知的7类,8代表未知类,即Unknown类。
分类结果如下表:
表7SVM分类结果
标号测试结果对应类别
B11MotorNeuron
B28Unknown
B31MotorNeuron
B43PyramidalNeuron
B52PuekinjeNeuron
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 神经元 形态 分类 识别