智能的本质在于学习的能力。
仿生学的思路:
并行计算,群计算,基于相互作用的个体,利用其存在的竞争或者合作行为,最后能够在特定层次有新性质的涌现,如同微积分的无穷小量的累加,智能就是原函数。我们可以理解为一种图灵机,不是基于规则的如同数学分析式的思路,而是概率分布式的统计分析:个体之间有信息的交互,能够根据信息改变自身状态,这是分布式的,没有中央控制中心,如同ising模型/元胞自动机,能够表现出来特定复杂的模式,我们可以视为一种智能。智能的出现是必然的(二项分布式)。我们的社会机制也是一种智能,也有一定的算法。因此,我们可以通过数据的积累来建模,并不断逼近这种智能的算法。
蚁群算法,模拟蚂蚁觅食的路径搜索算法,首先是遍历所有的可能性即蚂蚁移动并且分泌信息素,然后根据各自指标来不断优化,即其他蚂蚁优先在这些路径运动并进一步分泌信息素,收敛于一定的最优解(信息素会自然衰减,最短路径的信息素浓度相对最高),这是能量最低定理的一种运用。而且还有小部分采取其他策略,从而使得最优解不至于停留在局部最优解。这是博弈论的一种应用。
群智能算法求解NP难问题(组合爆炸,所有可能性太多,不可能在n的多项式次时间求解,问题规模呈现指数增长),本质上如同傅立叶变换,是不同角度来解决问题。可以以网络的优先连接原则来理解,最后产生一定的幂律分布,从而能够产生一定的网络结构,能够对应于一定的输入产生特定的输出。其实就是利用不同的信息来剪枝,大大减少搜索的范围,在一个更有可能搜索到最优解的范围进行搜索。我们确信这些范围也存在幂律分布,即少部分区域具有更大的重要性。进化论的思想,遗传算法也是如此,能够通过迭代不断更新参数来找到最优解。算法的实现需要考虑不同指标的确定如适应度等等,以及更新的公式即各种策略。
其背后的数学原理和深度学习一样,各种参数的设置其实如同盲人摸象一样都是刻画某个宏观对象的不同层次,最后集合起来和微积分一样实现这种高维的结构。
计算智能,信息科技和生物科学的交叉,如神经网络算法,进化计算和人工生命等等领域。利用自然界已经进化出来的算法来计算如大脑的计算和进化。机器学习算法的思想。
神经网络:并行分布处理,非线性映射,能够通过训练进行学习,适应和集成,硬件实现
基本元件神经元f(X)=∑wixi+?j
神经网络:1递归反馈网络(神经元互相有连接)2前馈多层网络(分层结构,同层之间没有连接)
进化论:变异—选择—优胜劣汰。以基因等等争取更大的存在比例为基本动力(自私的基因)
遗传算法:1编码和解码(把问题结构变换为位串形式,是编码,这种编码的形式是染色体)2适应度函数(目标函数,度量的指标)3遗传操作(选择,交叉,变异)
人工生命,生命的定义很宽泛,我认为一个函数就是一个生命。以面向对象的思想来理解生命这个函数,我们可以利用分而治之的思路来分解为不同系统,继续分解为更细化的层次,直到基本的模块,然后再从底到顶构造出生命这个复杂的函数。
问题求解和搜索,首先需要将问题抽象为一定的数学模型,然后找到问题的答案,有很多手段,搜索是主要手段之一。理论上会存在问题的对应答案,我们需要构造出来,让机器自动求解。
状态空间法,将问题抽象为状态的转移,然后通过搜索算法如深度/广度优先搜索来找到能够实现最优解的状态序列,即在初始状态和目标状态之间的操作集合。状态:问题在某一时刻所处的位置,情况等等。这些因素可以以向量的形式表示,可以视为特征。算子(算符,操作符)是使得状态发生改变的操作。求解过程就转化为在状态空间图中搜索一条从初始状态到目标状态的路径问题。以图论来建模:1无信息搜索即深度/广度优先搜索;2有信息搜索,A算法和A*算法。启发性搜索,利用和问题相关的经验信息,引入估价函数来估计节点位于解路径的概率,然后优先选择估计函数值小的路径,然后排序。
搜索的优化思路:
1贪心算法式地根据当前最优解到下一个最优解的状态变化,以局部最优来逼近整体最优。
2网络的优先连接机制。深度/广度优先搜索。
3中间结果的记忆,减少重复计算。
模式识别,各种疾病的诊断其实就是一种分类,通过各种症状,实验室检查,影像学检查等等得到的数据映射于可能的疾病列表,根据不同疾病的可能性排序得到比较明确的结果。一开始是搜索的问题,根据数据库匹配信息(一个疾病对应于多种症状,一种症状存在于多种疾病,可以根据统计来量化这种关系,如感冒有xx概率发热,yy概率流鼻涕…发热有aa概率是肿瘤,bb概率是感染…),使用一定的算法来构建新病人的症状和诊断之间的映射。可能使用贝叶斯推断的机制,比如说某种症状的组合能够更加确定性地诊断,如同后验概率的变化。通过足够多的证据可以得到高概率成立的诊断,以此为基础可以制定医疗治疗方案。诊断,可以抽象为分类的问题。具体的机制可以参考机器学习算法,这是整个技术的黑箱。医生的学习和算法的训练是一致的,是典型的有监督学习,通过有标签的数据的学习,从而能够对于新输入映射于特定的输出即分类。
存在性假设:只要是疾病,都存在病因。如微生物感染。我们认为即使没有十分明确的病因,也可以通过构造找到,如环境+遗传。将不同的影响因素视为状态,以马尔可夫模型来理解,这些状态的转移对应于不同的疾病的症状,即不同因素的组合可能就是抽象层次的病因。
疾病的分类始于对疾病的建模,这一开始都是人为定义的结果。
病理诊断,是形态层次的对机体情况反映,能够具有更大的证据强度来做出诊断。我们可以根据多指标来进行分类如各种疾病标记物,阳性细胞/分子,细胞形态等等,只要指标/参数足够多,希尔伯特无限维空间,理论上可以对一切疾病建模分类。当然,我们采取有限的具有更大重要度的指标来建模就足够适用了,如同主成分分析PCA。这些关键的指标可以视为线性代数中的基底,可以通过线性组合构造出整个空间,只要其与真实情况误差小于一定程度,我们视为等价,这是分析数学的思路。当然,这些关键指标,是通过统计得出的结果。
疾病的治疗可以理解为对策略的选择,对症治疗就是靶定相关细化结构的处理,如发热就降温,疼痛就止痛,理论上将所有的症状都调节到正常情况就是治疗,但实际情况不可能采取这么多措施(资源有限),我们只能对具有更大重要性的对象进行处理。进一步的,就是对因治疗,抽象到更高层次,如同微积分的原函数层次。只有找到最优解才能给病人最好的治疗,但现实情况往往是见机行事,希望以局部最优逼近整体最优,因为医生注意力资源有限,很难马上得出最优解,只能是遵循经验快速处理。如各种临床指南,专家经验,各种临床试验的结果。这是一种策略,在有限的资源下做出最好的决策,不可能做到完美。