伊朗黑客借DoH“隐身”
|
你需要留意这些指标,因为它们往往决定了参赛者该如何构造方案。比如,使用一个与评估函数非常相似的特定损失函数,将提高模型在该指标下的性能。 以对数损失函数为例。对互联网进行深挖能够带来很多有用信息,而对数损失函数会惩罚自信且错误的预测。也就是说,在预测中,模型越自信,对其错误性的罚分也会上升的越快。关于这一点还有很多需要仔细斟酌: (1) 首先,如果系统性错误(即模型不能对数据进行理解)使得模型在对数损失方面非常糟糕,那么此时让模型变得更“迟钝”可能会有帮助。至少在即将要得出错误答案之前,它不会显得自信。 可以通过增加数据(依情况而定)或者降低模型的自信来完善模型。若是想偷懒,也可以只使用“目标裁剪”:如果预测小于1%或大于99%,那么只需要分别将其裁剪在1%和99%。这样就避免了任何过度自信的答案(当然了,还有另一个方向就是如何让模型的系统误差更小,更好的理解数据)。 (2) 其次,也许模型能够较好地理解数据。但是模型过于迟钝,那么与其说是有系统性错误,不如说是有精确性错误。这就提供了一个新思路:可以尝试套袋法或其他集成方法,稳定预测的可信度,增强预测自信。 这些思维方式使得数学知识能够转化为实际的技术,并给数据科学带来无限的创造性与趣味性。 4. 接下来是建模的相关策略 建模单调乏味,是因为我们通常把建模过程视为完成任务:
看起来似乎只有有限的建模顺序,特别是在你经验有限且不习惯使用低层代码的情况下。其实建模艺术中也有很多乐趣和学问。下面是一些可行建议:
最后,还有些方法值得一试:将集合中的预测结果创造性地结合在一起;除ReLU以外的激活函数(比如,Leaky ReLU,Swish);对非树形模型的‘boosting’(将对一个模型的预测输入到另一个模型中用以学习错误)等等。
每个人都能建模,不会写TensorFlow的源代码也能开发出复杂且成功的模型,开发模型只需要拥有创造力和实现想法的意愿。 1) 写入关系数据库 在以ETL方式处理数据时,最终需要将此数据加载到某个集中位置。尽管可以利用Python中的多线程功能,将数据更快地写入某些关系数据库中(通过使用更多线程),但并行写入操作次数的增加可能会使数据库的CPU容量使用最大化。 事实上,我在AWS上使用多线程加速RDS Aurora数据库的写入操作的时候,这种情况就发生过一次了。我注意到写入节点的CPU利用率非常高,以至于我不得不通过使用更少的线程来刻意降低代码的速度,以确保不会破坏数据库实例。 这意味着Python具有并行化并加快许多操作的机制,但关系数据库(受CPU核数量的限制)有其局限性,仅通过使用更快的编程语言不太可能解决这个问题。 (2) 调用外部的API
使用外部REST API,你可能是想从中提取数据来满足数据分析需求,这同样证明了语言本身似乎不是瓶颈。虽然我们可以通过利用并行性来加速数据提取,但这可能是徒劳的,因为外部API限制了我们在特定时间段内可以发出的请求数量。因此,你可能会刻意让脚本变慢,来确保不超出API的请求限制: (编辑:孝感站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |

