2019/11/2web
一、 表现层状态转换(REST, representational state transfer.)一种万维网软件架构风格,目的是便于不一样软件/程序在网络(例如互联网)中互相传递信息。表现层状态转换是根基于超文本传输协议(HTTP)之上而肯定的一组约束和属性,是一种设计提供万维网络服务的软件构建风格。符合或兼容于这种架构风格(简称为 REST 或 RESTful)的网络服务,容许客户端发出以统一资源标识符访问和操做网络资源的请求,而与预先定义好的无状态操做集一致化。所以表现层状态转换提供了在互联网络的计算系统之间,彼此资源可交互使用的协做性质(interoperability)。算法
REST是设计风格而不是标准。REST一般基于使用HTTP,URI,和XML以及HTML这些现有的普遍流行的协议和标准。数据库
REST架构风格最重要的架构约束有6个[2]:浏览器
客户端-服务器结构约束的目的是将客户端和服务器端的关注点分离. 将用户界面所关注的逻辑和数据存储所关注的逻辑分离开来有助于提升用户界面的跨平台的可移植性.经过简化服务器模块也有助于服务器模块的可扩展性.缓存
服务器不能保存客户端的信息, 每一次从客户端发送的请求中, 要包含全部的必须的状态信息, 会话信息由客户端保存, 服务器端根据这些状态信息来处理请求. 服务器能够将会话状态信息传递给其余服务, 好比数据库服务, 这样能够保持一段时间的状态信息, 从而实现认证功能. 当客户端能够切换到一个新状态的时候发送请求信息. 当一个或者多个请求被发送以后, 客户端就处于一个状态变迁过程当中. 每个应用的状态描述能够被客户端用来初始化下一次的状态变迁.安全
如同万维网同样, 客户端和中间的通信传递者能够将响应缓存起来. 响应必须明确的或者间接的代表自己是否能够进行缓存,这能够预防客户端在未来进行请求的时候获得陈旧的或者不恰当的数据. 管理良好的缓存机制能够 减小客户端-服务器之间的交互, 甚至彻底避免客户端-服务器交互, 这进一步提了高性能和可扩展性。服务器
统一接口是 RESTful 系统设计的基本出发点. 它简化了系统的架构, 减小了耦合性, 可让全部模块各自独立的进行改进. 对于统一接口的四个约束是:网络
请求中包含了各类独立资源的标识, 例如, 在 Web 服务中的 URIs. 资源自己和发送给客户端的标识是独立. 例如, 服务器能够将自身的数据库信息以 HTML XML 或者 JSON 的方式发送给客户端, 可是这些可能都不是服务器的内部记录方式.数据结构
当客户端拥有一个资源的标识, 包括附带的元数据, 则它就有足够的信息来删除这个资源.架构
每个消息都包含足够的信息来描述如何来处理这个信息. 例如, 媒体类型 (midia-type) 就能够肯定须要什么样的分析器来分析媒体数据.
同用户访问 Web 服务器的 Home 页面类似,当一个 REST 客户端访问了最初的 REST 应用的 URI 以后, REST 客户端应该可使用服务器端提供的连接,动态的发现全部的可用的资源和可执行的操做.随着访问的进行, 服务器在响应中提供文字超连接, 以便客户端能够获得当前可用的操做. 客户端无需用肯定的编码的方式记录下服务器端所提供的动态应用的结构信息.
客户端通常不知道是否直接链接到了最终的服务器, 或者是路径上的中间服务器. 中间服务器能够经过负载均衡和共享缓存的机制提升系统的可扩展性,这样可也便于安全策略的部署.
服务器能够经过发送可执行代码给客户端的方式临时性的扩展功能或者定制功能.例如Java Applet、Flash或JavaScript。
二、 Building an Ensemble Learning Model Using Scikit-learn. Ensemble learning uses multiple machine learning models to try to make better predictions on a dataset. An ensemble model works by training different models on a dataset and having each model make predictions individually.
三、 Gradient boosting is a machine learning technique for regression and classification problems, which produces a prediction model in the form of an ensemble of weak prediction models, typically decision trees. 梯度提高是一种针对回归和分类问题的机器学习技术,它以弱预测模型的集合(一般为决策树)的形式生成预测模型。像其余加强方法同样,它以分阶段的方式构建模型,并经过容许对任意可微分的损失函数进行优化来对其进行归纳。 梯度加强的思想源自Leo Breiman的观察,便可以将加强解释为针对适当成本函数的优化算法。
四、 提高方法(Boosting),是一种能够用来减少监督式学习中误差的机器学习算法。
五、 AdaBoost,是英文"Adaptive Boosting"(自适应加强)的缩写。AdaBoost方法的自适应在于:前一个分类器分错的样本会被用来训练下一个分类器。对于噪声数据和异常数据很敏感。AdaBoost方法是一种迭代算法,在每一轮中加入一个新的弱分类器,直到达到某个预约的足够小的错误率。
六、 因为递归引发一系列的函数调用,而且有可能会有一系列的重复计算,递归算法的执行效率相对较低. 迭代:利用变量的原值推算出变量的一个新值. 若是递归是本身调用本身的话,迭代就是A不停的调用B. 所谓递归,简而言之就是应用程序自身调用自身,以实现层次数据结构的查询和访问。
七、 枚举(enumeration),在数学和计算机科学理论中,一个集的枚举是列出某些有穷序列集的全部成员的程序,或者是一种特定类型对象的计数。这两种类型常常(但不老是)重叠。枚举是一个被命名的整型常数的集合!遍历(traversal),是树形结构的一种重要运算,指的是按照必定的规则访问树形结构中的每一个节点,并且每一个节点都只访问一次。迭代(iterate),指的是按照某种顺序逐个访问列表中的每一项。迭代是重复反馈过程的活动,其目的一般是为了接近并到达所需的目标或结果。 每一次对过程的重复被称为一次“迭代”,而每一次迭代获得的结果会被用来做为下一次迭代的初始值。循环(loop):指的是在知足条件的状况下,重复执行同一段代码。通常语言都会有三种类型的循环语句:for语句、while语句和do While语句。递归函数(Recursion function):是在一个函数经过名字调用自身的状况下构成的。递归(recursion)在数学与计算机科学中,是指在函数的定义中使用函数自身的方法。递归一词还较经常使用于描述以自类似方法重复事物的过程。
八、 递归:recursion,典型例子,阶乘,挪大小盘子的问题(河内塔?)