中医中的疾病与季节关系:免疫系统的季节性

        根据剑桥大学的一项研究表明,我们的免疫系统,会随着季节的变化而不同,这可以帮助解释为什么某些疾病(如心脏病和类风湿性关节炎),在冬天会加重,而人们在夏季往往更健康。        这项研究结果,发表在最近的《自然通讯》杂志(Nature Communications),表明我们的基因中有将近四分之一基因(检测的22,822个基因中的5,136个)的活性,根据一年当中的时间变化而不同,一些基因在冬季更活跃,而另一些则在夏季更活跃。这一季节性也会影响我们的免疫细胞以及我们血液和脂肪组织的组成。        一段时间以来,科学家们已经知道,各种各样的疾病,包括心血管疾病、自身免疫性疾病(如1型糖尿病、多发性硬化症)、精神疾病,呈现出季节性的变化,像维生素D代谢那样。然而,这是首次有研究表明,这可能是由于我们免疫系统功能的季节性变化。        JDRF/威康信托基金会糖尿病和炎症实验室主任John Todd 教授说:“这真是一个令人惊讶和偶然的发现,因为它涉及到我们如何确定和描述1型糖尿病易感基因的影响。在某种程度上,很明显这有助于解释为什么那么多疾病——从心脏病到精神病,在冬季更糟糕。我们该如何对待疾病(如1型糖尿病),甚至我们如何规划我们的研究,这些结果的意义可能是深远的。”        由剑桥大学医学研究所医学遗传学系JDRF /威康信托基金会糖尿病和炎症实验室带领的一个国际团队,检测了来自16,000多人的样本,他们生活在北半球和南半球,包括英国、美国、冰岛国家、澳大利亚和冈比亚。这些样本包括血液样本和脂肪组织的一个混合物。         研究人员采用多种技术来研究样本,包括研究血液中发现的细胞类型,并测量了单个基因的表达水平——当一个基因在一个特定细胞或组织中活跃的时候被认为是“表达”,通常涉及蛋白质的生成。他们发现,数以千计的基因在血液和脂肪组织中的表达不同,这取决于样品是在一年的什么时间采集。同样地,他们在血液中发现的细胞类型中也切断确定了季节性差异。        季节性差异,存在于地理和种族多元化地点混合的种群中——但是季节性基因在南半球和北半球显示出相反的模式。然而,季节性活动的模式在冰岛受试者中并没有强烈反映。研究人员推测,这可能是由于夏季近24小时的日光和冬季近24小时的黑暗。         特别感兴趣的一个基因是ARNTL,它在夏天更为活跃,在冬天则不活跃。以前的研究已经表明,至少在小鼠中,这个基因可抑制炎症——机体对感染的反应;如果该基因在人类中有相同的功能,那么在北半球冬季期间炎症水平会更高。炎症反应是一系列疾病的一个危险因素,因此,那些处于最大风险的人,在冬季可能会达到“阈值”,在这个阈值上疾病很快就成为一个问题。靶定炎症机制的药物,可以提供一种方式,在冬季期间帮助更有效地治疗这些疾病。         一个特别令人惊讶的发现是,与个体疫苗接种反应有关的一组基因,在冬季更为活跃,这表明一些疫苗接种计划如果在冬季实施则会更有效,因为此时免疫系统已经“做好准备”响应。        他们认为,在欧洲和澳大利亚冬季期间,触发免疫反应所需的阈值可能较低,作为我们与传染性生物(往往在冬季更为常见)协同进化的一个直接后果。有趣的是,冈比亚人在血液免疫细胞数量表现出明显的季节变化,与雨季相关(六月到十月),在此期间的传染病,特别是蚊子传播的疾病(如疟疾),更为普遍。         Chris Wallace博士说:“我们知道,人类会适应不断变化的环境。我们的研究表明,人类的免疫系统在赤道地区(季节变化不明显)表现出的季节性差异,不同于高纬度和低纬度地区的人,他们在夏季和冬季之间有着更明显的差异。”         目前还不清楚什么机制维持我们所看到的免疫系统季节性变化,可能是由于环境因素,如日光和环境温度。我们身体内部的生物钟——被称为昼夜节律,部分是由日光的改变而协调,这也解释了为什么不符合日常循环工作的人,如工厂轮班工人或长途航班上的工作人员,可能健康状况较差。        Todd教授补充说:“考虑到我们的免疫系统似乎在更冷、日照更短的季节让我们置于过度炎症有关疾病的更大风险,并鉴于我们已经了解的来自维生素D的益处,我们就可以理解,在冬天人们为什么想去晒‘太阳’来改善他们的健康状况。”        威康信托基金会感染和免疫生物学主任Mike Turner教授说:“这是一项很好的研究,提供了实证支持一个普遍观点:我们在夏季往往更健康。从这个意义上来说,季节变化是一个有趣的发现:我们许多基因的活动,以及我们血液和脂肪组织的构成,根据季节变化而有所不同。虽然我们还不清楚这一变化背后的作用机制,但一个可能的结果是,某些疾病的治疗方法,如果根据季节定制,可能更有效。”        JDRF英国首席执行官Karen Addington说:“我们早就知道,在冬季有更多人被诊断为1型糖尿病。这项研究揭示了其中的原因。它确定了一种我们以前不知道的生物机制,使身体更容易季节性地作出1型糖尿病中所看到的自身免疫攻击。”       “我们都喜欢冬天的太阳,飞往南方过冬并不是任何人都可以采取的1型糖尿病的预防措施。但这一新的见解打开了新的研究途径,可以帮助我们解开诊断背后的遗传和环境因素的复杂网络。”          三符风云涌注:中国传统文化的中医里,自古就一直将季节与疾病相对应,在以前因为数据样本不够大的,所以这种统计特征虽然有,但并不是很明显,在中医的五行理论中,显然如上文中,所言心脏病是属火的,而冬季是属水的,火在水季是受克的,所以这也是心脏病加重的原因。同样如精神病,它本身是属于螣蛇的症状,是巳火症,所以在冬季同样是会出现加重。这个发现最大的意义是在于,初步确定了这些与免疫系统有关,那么这说明中医中很多治疗的方案都是针对于免疫系统调节的—这指出来了现代所谓中西医结合的一个问题,很多所谓的结合,是把中药西化,从药物杀菌搞病毒去尝试理解,这显然是一个不全面的认识,这也是为什么现代久久中医研究不能进步的原因。

关于Swiss Ephemeris中的坐标

2.4.4. Coordinate systems, degrees and radians SEFLG_EQUATORIAL              returns equatorial positions: rectascension and declination. SEFLG_XYZ                             returns x, y, z coordinates instead of longitude, latitude, and distance. SEFLG_RADIANS                    returns position in radians, not degrees.   E.g. to compute rectascension and declination, write: iflag = SEFLG_SWIEPH | SEFLG_SPEED | SEFLG_EQUATORIAL; 2.4.4  坐标系统,角度与弧度 使用SEFLG_EQUATORIAL时,返回的是赤道上的位置,返回值是赤经(rectascension)与赤纬(declination),赤经与时角是不同的,时角由天子午圈向西量,而赤经是由春分点向东量,两者方向相反。赤经的值是天球赤道自西向东由0小时至24小时来表达,返回值是一个double型的数字,它每15角分代表一时分,每15角秒代表一个时秒。 使用SEFLG_XYZ时,返回的是笛卡尔坐标系,其中包括X,Y,Z三个值,代表了经度(longitude),纬度(latitude)及距离。 使用SEFLG_RADIANS 时,返回的是弧度而不是角度。 6.12. swe_azalt(), … 阅读全文 关于Swiss Ephemeris中的坐标

由推论出错谈谈梅花易数起卦中的有趣现象

  上篇文章 本以为解决了计算机上以九取模的平均分布问题,但是经过实践,发现这样不但得不到平均分布,得到的反而是正态分布,原因是让两个随机数进行了相加。所以如何让九宫的概率严格平均分布暂时还没有解决。   连续的不同的单概率事件累加,总体上它就会出现正态分布,这个满足中心极限定理。   更通俗一点说,0~8中随机取一个数,这个是平均分布的,但是先在0~4个中取1个,再取0~4中取1个,它们累计的和,却是正态分布的,与直接在0~8中任意取一个数的概率分布并不一样。   这是因为0~8中一共是9个数字,而两次的0~4虽然看起来和还是0~8,实际上却是在两次是在10个数字中取了,于是概率就发生了叠加,这就导致了正态分布的出现。        比如按上述方式先取0~4中一个,然后再取,相加起来看是什么卦,进行1000次,结果会形成这样的分布:        乾 63        兑 112        离 178        震 235        巽 192        坎 124        艮 60        坤 36   那么在起卦中,比如梅花卦中,是否有这样的现象?具体来统计一下。   以报数起卦为例,报两个数字,比如1,2,得到乾与兑卦,然后1+2=3,表示三爻动,这样又产生一个变卦。   通过报数起卦出现的梅花卦,它是符合正态分布的,进行一万次随机报数模拟,因为每次出两个卦,进行随机统计会发现,对主卦来说,有如下的情况: 上卦:乾 1283 兑 1259 离 1216 震 1261 巽 1266 坎 1296 艮 1216 坤 1203 下卦:乾:1245 兑:1244 离:1268 震:1327 巽:1222 坎:1260 … 阅读全文 由推论出错谈谈梅花易数起卦中的有趣现象

解决起卦的九宫的同余的概率分布问题

  无论是采用九宫模拟还是八卦模拟,产生随机数都会遇到一个问题,即在9或8上不能平均分布,比如产生的随机数范围是0~65535,一共65536个数,而6+5+5+3+6 = 25,2+5=7,余下为7,这会导致生成的随机数分布概率并不均等,所以它们无法满足在9的空间上能够平均分布,这是不符合自然现状的。如果是对于8来说,已知65536为2的16次方,而2的15次方是可以被8整除的,所以分布下来就多了2个,同样会导致在8的空间分布上不平均。   有一种思路是取一个足够大的数,把误差降到最低,比如取值范围为2的64次方,那么多出来的2个不平均分布,只占1/264    的比重影响,可以说是微乎极微。   不过这样始终让人感觉不完美,所以为了追求完美,完全可以改进一下。   因为通常用八卦时不一定要用九宫,用九宫时一定要用到八卦,所以这个问题并不难解决。   需要构造出一个方法,让它都能整除,即存在一个数S        S%8=0  S%9=0   并且 S =2N (n=0,1,2,3,4….)   但这个是没有解的,所以是不现实的,那么就把问题改一下:   如果是2某个次方加上一个数满足这个条件的话,那就会大大减低计算量。     于是搜了一下解集,发现如下可以满足条件:        式  次方值   2^6+8  64   2^12+8 4096   2^18+8 262144   2^24+8 16777216   2^30+8 1073741824   2^36+8 68719476736   2^42+8 4398046511104   2^48+8 281474976710656   2^54+8 18014398509481984   2^60+8 1152921504606846976        最小的取值可以是2的6次方,而加上一个8后,64+8=72,它就可以除以9了。   那么这个应该如何进行?计算机是二进制的,这个是非常美妙的事情,因为这意味着它的随机数发生器,无论要表示什么数字,是由低位到高位来表达的。   比如1~8的表达,是000,111这样的数字,而更进一步简化来说,如果只需要取八卦起卦,直接用随机数,取最低三位即可表达(实际表达为0~7)。   如果取1~9来表达,必须要用64+8+72的表达方式,之所以能够这样,是因为计算机是二进制,无论它产生什么样的随机数,表达总是从低位到高位来的,已知72的二进制是1001000,然而按位操作是很难取出来的,所以最好的办法是通过位来取组合值,这样运算不但快,而且能分布均匀,先取出来0~7然后再取出来0~63,然后加起来除以9取余,这样分布就完全一样了。   可以先取最低6位值,然后右移6位,再取三位,把它们相加,这样就能在一个随机数上得到0~72的值。   ------------------   更新一下,以上移位操作取数相加不可行,因为会变成正态分布….         

解决了起卦使用真随机数的问题

  对于灵机起卦的术数来说,要做到术数上的准确预测,先要找到目前不可预测的数据,然后从这个数据才可推出可预测的结果,这是个颇为矛盾的逻辑。   而不可预测的数据,自然是真随机数了,至于真正的随机数到底是存在还是不存在,这个很难说,是个哲学问题,万物虽然都是概率的呈现,但是概率又是什么决定的?   回正题,一开始从淘宝上查有没有硬件的真随机数发生器,可惜万能的淘宝令人失望了,然后检查电脑的CPU是Inter的,Inter的CPU正好提供有真随机数的发生器,于是动念头想直接访问Inter的CPU,查了一下,需要下载Inter的数学库,于是就去慢慢下载。   下完后竟然发现不能运行,因为版本太老不支持XCode6,所以竟然连安装都不让安装,只好放弃。   于是又查有没有其它办法可以通过这种方式获取随机数,花了许久,运气不错发现篇文章表示Inter提供直接使用汇编指令来访问CPU。   然后麻烦就来了,这个是MAC的系统,编译出来是dylib库,然后尝试通过mono去调用,无论如何也提示调用不了,找不到文件。然后又继续翻网站,终于发现,原来编译时,只能编译成32位的,这样Mono才能调用,来回折腾了几次后,成功实现真随机数的调用了。   不得不说,国内的资料实在不好查,还是英文网站上的资料比较全一些,虽然折腾了一个晚上,但还是值得的,能够实现真随机数的调用,能够解决很多问题。   产生的真随机数图如下:      而相同绘图算法C#生成随机数如下:      比较奇怪的是,差异并不是很明显,是MAC底层的随机数算法做得极好的缘故?所以近似于真实随机数的效果了?   不过想来伪随机数与真随机数还是会有差别,这个需要用大量的卦例进一步检验了。      其它还有一些真随机数的生成办法,不过没有实现,这里也提一下:   在IPAD或是IPhone或是Android机上,是没有CPU能够支持随机数的,要做到能在这些上面更准确的起卦,尤其是梅花卦,应该考虑如下方案来生成熵池起卦:   1、通过访问重力感应,求测者随意摇晃手机,从中搜集精确的数据用来起卦,类似于真实的摇签或摇卦,据在下所知,现在还没有真正如此来实现的,大多的摇晃起卦,实际上是早就用伪随机数起好了,然后摇晃只是发个声而已。   2、求测者随意在屏幕上乱点乱划,然后搜集数据来综合起卦,这样得到的卦测算起来就更加方便,不过这种效果直觉上有略有折扣。   3、打开麦克风,通过麦克风搜集实际的噪音,动态调整振幅后,随机采集数据。这个还可以更加改进,让求测者念一句话,因为发音总有变化,通过提取变化,可以得到真实随机的采样。     4、对使用者用摄像头拍照,根据照片的色彩矩阵做一个运算,从而得到卦,这种起卦方式应该是比较灵验的,顺便还能让卦师结合面相也一起看了,不过有影响隐私的嫌疑。     以上四种起卦方式,可以在移动设备上进行。

计算机伪随机数会对起卦准确率造成影响

  计算机上的随机数是伪随机,它要么是固定的序列,要么是利用当前的时间来生成的一个随机器。测试了一下MONO在MAC上调用的随机器发生器:让它随机产生坐标,然后标记成白点,产生的结果如下:    如果是在Windows上,使用C#进行生成的300×300的随机图像值是这样:   然而,如果是根据真实的自然环境,由大气的运动(空气中的雷暴产生的噪声)而自然产生随机数应该是这样:   明显可以看出,在MAC上的mono的C#中代码所产生的随机数所形成的密度远远低于真实的随机数,不过唯一值得庆幸的是,如果见到php的随机数生成的样子是多么糟糕,就会更有感触了:    随机数的正确与否,直接关系到起卦的关联性,因为计算机上使用的虽然普遍是伪随机数,但是来的人时间却是不一定的,这样就在一定程度上模拟了随机,但是在出现生成随机比较紧密的时候,它对自然的模拟所体现出来的随机真实度就会大大降低。   术数最讲究的就是对自然的模拟,如果不能进行一个真实的模拟,也就谈不上预测。   典型的一种表现就是,在网上起卦,比如六爻卦,或随机梅花卦,其准确率都会降低,如果是手起摇的卦,大多看事一目了然,看是什么就是什么,但是换成网络起卦后,会出现信息不同程度偏移(注意是不同程度的,有时小有时大)。   信息偏移,比如看是收获当为一万块,网络用卦结果发现只有五千或八千,本来手卦经验很准的数,在网上起卦也就产生了模糊偏差。这就是因为同样的随机数发生器被频繁使用,而导致了整体上的真实度降低。   虽然大多数时候还是可以看事,也多能断得准,但其中难免会有不同程度的信息失真,准的时候就如同上面的点与自然随机点的分布密集恰好重合,不准的时候就是不符合真实随机的时候。   自然的随机性,正如清澈的海边,尽管水一直在波动,但并不会影响人通过清晰地看到水下的鱼。现在网上起卦的,从上面的自然分布来看,很容易明白,信息失真最大的便是php的网站,因为它用的随机数的分布可以说最不自然,所以在起卦上相对也就更加不准。   其次是asp,asp.net等网站,它们的随机数发生器,调用的是相同的低层,生成的随机数模拟度显然比真实的要淡得多,信息也有一定程度的失真。   要成功使用真正有效的随机器,有不少的办法,一种是动态监测系统运行状况或者其它方面搜集信息,然后汇总信息构成随机数生成器,这样产生的随机数值会更加准确,或者直接使用硬件通过USB接口之类的来传送信息,或者如果是使用的Inter的CPU的话,可以直接调用CPU的接口来生成随机数。   如此使用了真随机数,起卦才能有所保证。          

使用AForge.NET中的BP神经网络库实现异或逻辑

  调试神经网络时,感觉无论怎么测试数据,收敛都非常慢,总怀疑是不是AForge.Net的BP算法有问题,所以测试一下异或逻辑,代码如下:    private static void testXOR(){             var func = new AForge.Neuro.SigmoidFunction();             var network = new AForge.Neuro.ActivationNetwork(func,2,2,1);             AForge.Neuro.Learning.BackPropagationLearning bp = new AForge.Neuro.Learning.BackPropagationLearning (network);             double[][] input = new double[4][];             input [0] = new double[]{ 0, 0 };             input [1] = new double[]{ 0, 1 };             input [2] = new double[]{ 1, 0 };             input [3] = new double[]{ 1, 1 };             double[][] output = new double[4][];             output[0] = new double[]{0};             output[1] = new double[]{1};             output[2] = new double[]{1};             output[3] = new double[]{0};             double error=1;             while(error>0.01){                 error = bp.RunEpoch(input,output);                 Console.WriteLine(“error:“+error);             }             for (int i = 0; i 

单层感知器与哲学上简单思考

  无意间又翻回了单层的感知器,为了加深体会,所以又写码测试了一下,其运算速度确实很快,在使用 Threshold 激活函数的前提下,对手写的前一千个样本进行识别,识别速度极快,但是对于已经训练过的数据,效果也很一般,只有77%左右,但对于没有识别过的数据,就惨不忍睹了,几乎全错。这就是感知器的特点,它在低维的层面对进行线性可分,而遇到线性不可分的问题时,就会出现这样的情况。      这个也可以抽象到现实的哲学中,单层感知器,它就是如同在一个平面上,试图通过划线来对事物进行区域划分,并且这种划分是非此即彼的,如果有很多分类的东西混在一起时,必须要有符合目标特征的函数才能够更好的识别目标事物,而这种往往在现实中是不可能的。   如果只在极低的维度上对事情进行分类,也就是死硬派的认为,凡事非此即是彼,那么有再多的对客观事物有再正确认识,在进行教育后,也是会谬误百出,所以思考问题时只考虑某一种单一的划分条件,是不能成立的。   阴阳的认识也是如此,阴阳总是相对的,这种相对实际上就是在不同环境与条件下,对阴阳进行赋予了不同的权重,但是光仅仅是这样是不够的,如果局限在某一个单一的方面去划分,用阴阳来认识事物就难免会出现极大的问题。        像感知器这样的情况,直接根据已知事物的特征,然后判断相差多少,去不断调整认识,虽然这样有益于正确认识事物,但也会带来很强的经验主义,而经验主义的结果就是导致对于新事物难受接受,从而总是会判断错误。           大多数情况下,分类发生错误,不是说客观事物无法分类,而是分类的方法不对就会导致错误,这一点一定要明确。

简单看看MNIST训练正确率统计

6-layer NN 784-2500-2000-1500-1000-500-10 (on GPU) [elastic distortions] none 0.35 Ciresan et al. Neural Computation 10, 2010 and arXiv 1003.0358, 2010 committee of 25 NN 784-800-10 [elastic distortions] width normalization, deslanting 0.39 Meier et al. ICDAR 2011   人工神经网络中,错误率最低分别是0.35与0.39,但是可以看出错误率达到0.39的,中间仅仅用了800个神经元作为一个中间层,而0.35虽然结果更优,但是中间使用了6层结构,然后花费了2500、2000、1500、1000、500个神经元作为中间层,这个运算量极其恐怖,一般的电脑很难计算。所以相对来说,只用了800个神经元进行了width normalization及deslanting处理的数据,达到了0.39的成绩,似乎这个比较有实用价值。   normalizationy是正则化,而deslanting则是指将图片进行加反抗锯齿化,类似于在上面加噪点,或者应该叫毛边化或锯齿化。至于对原图进行elastic distortions,这个是再理所当然不过的事了,这个能增强网络的泛化能力。 large conv. net, unsup pretraining [elastic distortions] none 0.39 Ranzato et al., NIPS 2006 large … 阅读全文 简单看看MNIST训练正确率统计