原理

数据库的一致性

1.事务和代办事项表把戏(预写日志记录)

1.代办事项表把戏:先把要执行的的操作写入硬件,即写日志。即使数据库操作错误,也可根据日志来纠正。对日志的操作具有等幂性,即日志中的每项操作不管执行一次或多次,都会有相同的效果。

2.事务:以事务作为一个整体,要么全部完成,要么中途失败则根据日志取消之前的操作(即逆向操作,之前加,现在就减),使数据库回到事务之前的状态(回滚事务)。即事务具备原子性,不可分割,避免出现事务中有些执行了,有些没执行的情况。

2.预备提交把戏(两段提交协议)

1.在有复制数据库时,对于主数据库的将要执行的事务,预备阶段:先由主数据库锁定对应数据行,将新数据写入预写日志,然后将新数据发给各备份数据库,各备份数据库也锁定对应数据行,在日志中写入新数据。第二阶段:各备份数据库返回是否执行成功,任何一个失败,都会让主数据库回滚事务,同时通知其他个备份数据库回滚,否则主数据会发信息让各数据库执行事务。

3.关系数据库与虚表把戏

1.原理:每张表都存储不同的信息集,但不同的表的个体通常以某种方式相连。即让用户把信息以表的形式保存,然后把表中重复的信息分离出去以新表放置,原表和新表通过各自保存的同一重复来匹配(类似于程序中把经常出现的代码分离出去做成函数或类),即用少量重复代替戴良重复,从而节省大量存储空间,而且也具备了一处改动到处收益的优点。

2.虚表把戏:查询时,先把用到的表通过各自保存的重复来匹配(即合并)从而形成一个用完即删的虚表,抛射操作来移除部分不必要的栏(如不是要展示的栏也不是作为查询条件的栏),接着根据查询条件选定部分行抛弃掉其他得到新的虚表,再把不是要展示的栏抛弃掉得到一张回答原始查询的虚表。

图像识别(即分类)

学习通过两种方式:1.他人的详尽教授   2.观看用来教授自己的例子 。第一种对于计算机难以实现,只能第二种。所以计算机学习的过程即是让计算机自动"学习"如何分类样本。基本策略是:给计算机大量标记数据(已分类的样本),让计算机找出各种类的特征,从而根据这些特征对未分类的样本分类。

原理:分类即为把待分类样本大概定位到某个学习样本上去

1.最近邻分类把戏

把要分类的样本和学习样例比较,最接近的样本的类别即是该样本的类别。

无需训练,并未知道分类规则,但分类需要大量实现比对

情况:1.若是地理位置,则是距离待分类样本最近的一个或k个学习样本

2.若是图像,则为与待分类样本区别度最小的学习样本

2.决策树

即使用二分法,通过合适的条件,最终把待分类样本定位到某个学习样本上。而这些问题由计算机通过学习样本训练得出,经过了不断的优化。

需训练,但得出了分类规则,分类时间极短

3.神经网络

事物的决策即是根据各种条件综合得出结论的过程,结论取决于各条件(即变量)

实际中个变量的结论的影响不仅相同,而且很多条件会共同对结论做出影响,需综合起来看,符合这些条件的模型只有神经网络。如对结论的影响是必须综合起来的指向同一神经元(得出该部分变量所占综合权重的节点,之后该节点代表该部分节点去和其他综合计算的模型),然后把带分析样本分块,每块根据神经网络得出最终权值,从而得出结论。

训练过程,先随机预设网络和个节点的权重值,在用实习样本来测试,然后调整网络和权值来使结果接近样本应该的结论,当学习用例足够多,神经网络得到足够的调整,那么神经网络对样本的分类就越准确 。

问题:即使准确度足够高,神经网络部分节点看起来仍似随机的,然而就像神经元的绝大部分连接看起来很随机,但作为整体行动时,这些连接强度松散的集合产生了人类的智能行为。

<改变未来的九大算法>读书笔记二的更多相关文章

  1. 深入理解Java虚拟机 -- 读书笔记(1):JVM运行时数据区域

    深入理解Java虚拟机 -- 读书笔记:JVM运行时数据区域 本文转载:http://blog.csdn.net/jubincn/article/details/8607790 本系列为<深入理 ...

  2. 【Todo】深入理解Java虚拟机 读书笔记

    有一个在线系列地址 <深入理解Java虚拟机:JVM高级特性与最佳实践(第2版)> http://book.2cto.com/201306/25426.html 已经下载了这本书(60多M ...

  3. 深入理解Java虚拟机读书笔记5----虚拟机字节码执行引擎

    五 虚拟机字节码执行引擎   1 运行时栈帧结构     ---栈帧是用于支持虚拟机进行方法调用和方法执行的数据结构,是虚拟机运行时数据区中的虚拟机栈的栈元素.     ---栈帧中存储了方法的局部变 ...

  4. 深入理解Java虚拟机--阅读笔记二

    垃圾收集器与内存分配策略 一.判断对象是否已死 1.垃圾收集器在对堆进行回收前,要先判断对象是否已死.而判断的算法有引用计数算法和可达性分析算法: 2.引用计数算法是给对象添加引用计数器,有地方引用就 ...

  5. 深入理解Java虚拟机读书笔记8----Java内存模型与线程

    八 Java内存模型与线程   1 Java内存模型     ---主要目标:定义程序中各个变量的访问规则,即在虚拟机中将变量存储到内存和从内存中取出变量这样的底层细节.     ---此处的变量和J ...

  6. 深入理解Java虚拟机读书笔记7----晚期(运行期)优化

    七 晚期(运行期)优化 1 即时编译器(JIT编译器)     ---当虚拟机发现某个方法或代码块的运行特别频繁时,就会把这些代码认定为“热点代码”,包括被多次调用的方法和被多次执行的循环体.     ...

  7. 深入理解Java虚拟机读书笔记4----虚拟机类加载机制

    四 虚拟机类加载机制 1 类加载机制     ---概念:虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验.转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型.     -- ...

  8. 深入理解Java虚拟机读书笔记3----类文件结构

    三 类文件结构 1 Java虚拟机的两种中立特性     · 平台无关性     · 语言无关性     实现平台无关性和语言无关性的基础是虚拟机和字节码存储格式(Class文件).   2 Clas ...

  9. 深入理解Java虚拟机读书笔记1----Java内存区域与HotSpot虚拟机对象

    一 Java内存区域与HotSpot虚拟机对象 1 Java技术体系.JDK.JRE?     Java技术体系包括:         · Java程序设计语言:         · 各种硬件平台上的 ...

  10. 深入理解java虚拟机读书笔记--java内存区域和管理

    第二章:Java内存区域和内存溢出异常 2.2运行时数据区域 运行时数据区分为方法区,堆,虚拟机栈,本地方法栈,程序计数器 方法区和堆是线程共享的区域 虚拟机栈,本地方法栈,程序计数器是数据隔离的数据 ...

随机推荐

  1. Arch命令行与安装包

    >>mkfs.vfat                                                                     # pacman -S do ...

  2. [VB.NET]取消按钮按下的默认事件响应

    大家应该有过这样的经历:有两个文本框a,b.通过编程,当我们在A中回车后,光标会移动到B文本框. 但是,不可避免的会听到一声“铛”的声音. 解决办法: 在Keydown或者KeyUp事件中,设置e.S ...

  3. 华为OJ题目:刷题

    题目描述: 新入职华为的小伙伴们都有在oj上面刷题的任务,共需要刷100道初级题,45道中级题,5道高级题,其中,做出来的高级题如果超标可以当初级或者中级题,做出来的中级题如果超标可以当初级题.每天, ...

  4. 解决GBK字符转UTF-8乱码问题

    通过以下方法将GBK字符转成UTF-8编码格式的byte[]数组 package test; import java.io.UnsupportedEncodingException; public c ...

  5. location.href跳转不正确

    今天写这个随笔的用意是为了记录我遇到的一种情况,导致我页面无法正确跳转 location.href跳转页面其实很简单,只要附上url就可以了,但是今天我在测试一个跳转时是这么写的: location. ...

  6. C++中的RTTI机制解析

    RTTI RTTI概念 RTTI(Run Time Type Identification)即通过运行时类型识别,程序能够使用基类的指针或引用来检查着这些指针或引用所指的对象的实际派生类型. RTTI ...

  7. 【转】用C#调用Windows API向指定窗口发送

    一.调用Windows API. C#下调用Windows API方法如下: 1.引入命名空间:using System.Runtime.InteropServices; 2.引用需要使用的方法,格式 ...

  8. 苹果刷机相关开源代码(如iRecovery等)收集汇总(不断更新中...)

    下面截图是在下面开源代码下使用VS2015修改部分代码后适配而成,可以在Windows平台上运行, 下载连接: http://pan.baidu.com/s/1i4zKGx3.

  9. SQLSERVER | 查询数据库中所有的表的名字 | 查询数据库中的所有数据库名

    SQLSERVER 1.查询某个数据库中所有的表名:  SELECT Name FROM SysObjects Where XType='U' ORDER BY Name 2.查询数据库中的所有数据库 ...

  10. FORM触发器执行顺序

    触发器执行顺序: 1. 当打开FORM时: (1) PRE-FORM (2) PRE-BLOCK(BLOCK级) (3) WHEN-NEW-FORM-INSTANCE (4) WHEN-NEW-BLO ...