由于中大型项目避免不了存在组件嵌套的状况而angular的变更检测机制默认为检测完根组件再向其叶(子)组件进行检测,叶组件检测完再向其叶(子)组件依次下去进行检测这样會导致每次变更检测都会进行所有组件的state检测,这样无疑增加了视图的渲染时间和增加服务器的负担
当启用OnPush变更检测策略后若非输入属性发生改变,否则变更检测将会跳过此子组件这里找到了一张浅显易懂的图示
由于中大型项目避免不了存在组件嵌套的状况而angular的变更检测机制默认为检测完根组件再向其叶(子)组件进行检测,叶组件检测完再向其叶(子)组件依次下去进行检测这样會导致每次变更检测都会进行所有组件的state检测,这样无疑增加了视图的渲染时间和增加服务器的负担
当启用OnPush变更检测策略后若非输入属性发生改变,否则变更检测将会跳过此子组件这里找到了一张浅显易懂的图示
此篇主要介绍以下内容:
基本思想: 首先该算法假设数据集服从高斯分布的,然后再分别计算训练集在空间中的重心, 和方差, 然后根据高斯概率密度估算每个点被分配到重心的概率进而完成异常檢测任务。
注: 该算法应用场景极其有限在此不做过多介绍。
在sklearn中实现了该算法
multivariate_normal
函数 即产生多維的高斯分布的数据,这个例子中生产生二维数据集
true_cov
即协方差;在随机生成多维正态分布的时候需要指定 mean
即平均值,cov
即协方差size
则是随機生成这些数的数目。
cov
即生成的模型;predict
返回 1
表示正常数据返回 -1
表示异常数据。
只是稍微提及一下该算法基于概率运算的算法的核心应該就是思考数学模型构建过程,但为了给后面的深度学习相关算法留更多时间就没有再去纠结数学模型相关推导与证明了。根据sklearn官网上嘚说明与此算法相关的论文(A Fast Algorithm for the Minimum Covariance Determinant Estimator) 在1999年提出的,希望能把重点放在其他算法上所以这里只能草草浏览一下,抱歉
map会根据key的值自动进行排序所以放进里面的序列不用考虑排序问题。
2.3添加一项的方式:
因为不用考虑排序问题所以不用像list那样那么复杂的判断。
思路:使用map的find函数查詢添加进来的deg,
在已有map是否存在:
有存在的deg,将他们的cof相加。
没有的话,说明是一个新的deg进行插入就好。
版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。