积木

【机器学习PAI实战】—— 玩转人工智能之综述

限于喜欢 提交于 2020-03-05 14:59:42
模型训练与在线预测服务、推荐算法四部曲、机器学习PAI实战、更多精彩,尽在 开发者分会场 【机器学习PAI实战】—— 玩转人工智能之商品价格预测 【机器学习PAI实战】—— 玩转人工智能之你最喜欢哪个男生? 【机器学习PAI实战】—— 玩转人工智能之美食推荐 【机器学习PAI实战】—— 玩转人工智能之利用GAN自动生成二次元头像 绪论 人工智能并非新的术语,这个概念由来已久,大约从80年代初开始,计算机科学家们开始设计可以学习和模仿人类行为的算法。人工智能的发展曲折向前,伴随着数据量的上涨、计算力的提升,机器学习的火热,以及深度学习的爆发,人工智能迎来快速发展,迅速席卷全球。 人工智能的研究领域也在不断扩大,已经涵盖专家系统、机器学习、进化计算、模糊逻辑、计算机视觉、自然语言处理、推荐系统等多个领域。可以毫不夸张地说,人工智能技术正在像100多年前的电力一样,即将改变每个行业。每个企业都不希望在这次浪潮中掉队,如何才能利用AI帮助自己的 企业进行转型 呢?AI领域著名学者吴恩达在前不久针对该问题,发表了《 AI转型指南 》。 机器学习,作为实现人工智能的一种方法,对于人工智能的发展起着 十分重要 的作用。而深度学习,作为机器学习中的一种技术,更是摧枯拉朽地实现了各种任务,极大推动了各个领域朝着人工智能的方向迈进。下面这张图,非常形象地概况了三者之间的关系。 总之,人工智能、机器学习

“入乡随俗,服务为主” 发明者量化兼容麦语言啦!

杀马特。学长 韩版系。学妹 提交于 2020-03-03 10:30:38
5年时光 我们裹挟前行。发明者量化从筚路蓝缕到步履蹒跚,从以“区块链资产交易”为阵地,再到以“内外盘商品期货”为依托。再到今天全面兼容“麦语言”。每一步,我们始终都在为建立一个优秀的量化交易平台而努力。 什么是麦语言? 所谓的麦语言就是从早期的股票技术指标延伸出来的一套程序化函数库。把算法封装到一个个函数里,用户只需要像“积木式”的调用这一行行函数,实现策略逻辑。 为什么要兼容麦语言? 我们相信,无论是 C++、Python、JavaScript 还是可视化语言,其承载的本质是一样的,那就是“唯策略为王”。市场如战场,策略就像排头兵,为的就是生存和获利,而不是比拼哪种编程语言更优雅,相信大多数人也会认同这个观点。 尽管我们已经支持很多主流语言开发策略,但还是选择再向后做进一步兼容,支持麦语言,后期可能还会支持 EasyLanguage 语言,为的就是能帮助更多的用户,实现跨平台快速开发和实盘交易。 能兼容百分之多少的麦语言? 我们兼容了:数据引用、统计函数、数学函数、逻辑循环、时间函数、绘图函数、控制函数、信号函数、头寸函数、指标函数、下单函数等等…… 支持跨合约引用 支持跨周期引用 支持跨合约跨周期引用 支持跨指标引用 支持盘口 Tick 数据 支持 REF 回溯数据引用 支持全部技术指标 支持一开一平模式、加仓模式 支持指数数据映射主力合约 支持自动移仓换月功能 …

怎么让代码不再臃肿,写的像诗一样优雅

让人想犯罪 __ 提交于 2020-02-29 05:30:07
基本类型偏执 基本类型偏执(Primitive Obsession) 使用基本类型而不是小对象来实现简单任务(例如货币、范围、电话号码字符串等)。 使用常量编码信息(例如一个用于引用管理员权限的常量 USER_ADMIN_ROLE = 1 )。 使用字符串常量作为字段名在数组中使用。 问题原因 类似其他大部分坏味道,基本类型偏执诞生于类初建的时候。一开始,可能只是不多的字段,随着表示的特性越来越多,基本数据类型字段也越来越多。 基本类型常常被用于表示模型的类型。你有一组数字或字符串用来表示某个实体。 还有一个场景:在模拟场景,大量的字符串常量被用于数组的索引。 解决方法 大多数编程语言都支持基本数据类型和结构类型(类、结构体等)。结构类型允许程序员将基本数据类型组织起来,以代表某一事物的模型。 基本数据类型可以看成是机构类型的积木块。当基本数据类型数量成规模后,将它们有组织地结合起来,可以更方便的管理这些数据。 如果你有大量的基本数据类型字段,就有可能将其中部分存在逻辑联系的字段组织起来,形成一个类。更进一步的是,将与这些数据有关联的方法也一并移入类中。为了实现这个目标,可以尝试 以类取代类型码(Replace Type Code with Class) 。 如果基本数据类型字段的值是用于方法的参数,可以使用 引入参数对象(Introduce Parameter Object) 或

将数组元素从一个数组位置移动到另一数组位置

梦想与她 提交于 2020-02-27 16:01:21
我很难弄清楚如何移动数组元素。 例如,给出以下内容: var arr = [ 'a', 'b', 'c', 'd', 'e']; 我为什么能写入移动功能 'd' 之前, 'b' ? 或 'a' 后 'c' ? 移动之后,应更新其余元素的索引。 这意味着在第一个示例中,移动后arr [0] ='a',arr [1] ='d'arr [2] ='b',arr [3] ='c',arr [4] = 'e' 这看起来应该很简单,但是我无法将其包裹住。 #1楼 您可以实现一些基本的微积分,并创建通用函数以将数组元素从一个位置移动到另一位置。 对于JavaScript,它看起来像这样: function magicFunction (targetArray, indexFrom, indexTo) { targetElement = targetArray[indexFrom]; magicIncrement = (indexTo - indexFrom) / Math.abs (indexTo - indexFrom); for (Element = indexFrom; Element != indexTo; Element += magicIncrement){ targetArray[Element] = targetArray[Element + magicIncrement]; }

算法提高 盾神与积木游戏

谁说胖子不能爱 提交于 2020-02-27 03:57:39
算法提高 盾神与积木游戏 问题描述   最近的m天盾神都去幼儿园陪小朋友们玩去了~   每个小朋友都拿到了一些积木,他们各自需要不同数量的积木来拼一些他们想要的东西。但是有的小朋友拿得多,有的小朋友拿得少,有些小朋友需要拿到其他小朋友的积木才能完成他的大作。如果某个小朋友完成了他的作品,那么他就会把自己的作品推倒,而无私地把他的所有积木都奉献出来;但是,如果他还没有完成自己的作品,他是不会把积木让出去的哟~   盾神看到这么和谐的小朋友们感到非常开心,于是想帮助他们所有人都完成他们各自的作品。盾神现在在想,这个理想有没有可能实现呢?于是把这个问题交给了他最信赖的你。 输入格式   第一行为一个数m。   接下来有m组数据。每一组的第一行为n,表示这天有n个小朋友。接下来的n行每行两个数,分别表示他现在拥有的积木数和他一共需要的积木数。 输出格式   输出m行,如果第i天能顺利完成所有作品,输出YES,否则输出NO。 样例输入 2 2 2 2 1 3 3 1 5 3 3 0 4 样例输出 YES NO 数据规模和约定   1<=n<=10000,1<=m<=10。 思路:先让小朋友中“自给自足”完成,把他们的拥有积木给那些需要的小朋友。 为了使得完成的小朋友尽可能的多,决定先给那些缺积木少的小朋友,让他们先完成,然后把他们拥有的积木收集起来。再给那些缺的多的小朋友。

这一顿神操作!我把 3000 行代码重构成 15 行!

我怕爱的太早我们不能终老 提交于 2020-02-27 02:43:40
作者:马非码 博客园: https://www.cnblogs.com/marvin/p/4133973.html 如果你认为这是一个标题党,那么我真诚的恳请你耐心的把文章的第一部分读完,然后再下结论。如果你认为能够戳中您的 G 点,那么请随手点个赞。 把三千行代码重构为 15 行 那年我刚毕业,进了现在这个公司。公司是搞数据中心环境监控的,里面充斥着嵌入式、精密空调、总线、RFID的概念,我一个都不懂。还好,公司之前用Delphi写的老客户端因为太慢,然后就搞了个Webform的替代,恰好我对Asp.Net还算了解,我对业务的不了解并不妨碍我称成为这个公司的一个程序员。小公司也有小公司的好,人少,进去很快负责代码开发。我当然也就搞这个数据中心智能管理系统啦。 这个系统非常的庞大,尤其牛逼的是支持客户端组态,然后动态生成网页,数据还能通过Socket实时监控(那时我还真就不懂网络编程)。这个对于当时的我来说,真真是高、大、上呐!!当时跟着了解整个系统大半个月才算能够调试,写一些简单的页面。 在维护系统的过程中,时不时要扩展一些功能,也就接触了下面这个类: 看到没有,就是当年最最流行的三层架构的产物,对于刚出茅庐的毛头小子来说,这是多么专业的文件头注释,还有反射也就算了,这构造函数还能静态的,还能私有的?那时刚接触这么高大上的代码的我,瞬间给跪了! 但是,类写多了,我就感觉越来越别扭

迭代器,可迭代和迭代到底是什么?

六眼飞鱼酱① 提交于 2020-02-26 02:56:25
Python中“可迭代”,“迭代器”和“迭代”的最基本定义是什么? 我已经阅读了多个定义,但是我无法确定确切的含义,因为它仍然不会陷入。 有人可以在外行方面为我提供3个定义的帮助吗? #1楼 上面的答案很不错,但是正如我所见到的大多数一样,对于像我这样的人来说,不要过于强调 区别 。 同样,人们倾向于通过在 __foo__() “ X是具有 __foo__() 方法的对象”这样的定义来获得“ Python __foo__() ”。 这样的定义是正确的-它们基于鸭子式的哲学,但是当试图以简单的方式理解概念时,对方法的关注往往会介于两者之间。 因此,我添加了我的版本。 用自然语言 迭代 是在一行元素中一次获取一个元素的过程。 在Python中, Iterable 是一个很好的可迭代对象,简单地说,意味着可以在迭代中使用它,例如,使用 for 循环。 怎么样? 通过使用 迭代器 。 我会在下面解释。 ...,而 迭代器 是一个对象,它定义了 如何实际执行 迭代-特别 是下一个 元素 是什么 。 这就是为什么它必须具有 next() 方法的原因。 迭代器本身也是可迭代的,区别在于其 __iter__() 方法返回相同的对象( self ),而不管其先前调用 next() 是否已消耗其对象。 那么,Python解释器 for x in obj: 语句中看到 for x in obj:

EOJ 3338 双塔问题

混江龙づ霸主 提交于 2020-01-23 02:45:12
单点时限: 1.0 sec 内存限制: 256 MB Alice 和 Bob 在玩积木游戏。 他们找到了 n 块积木,这些积木都是正方体,棱长分别为 a1,a2,…,an。现在 Alice 和 Bob 要用这些积木垒两座高塔。他们想要这两座高塔的高度相等。问最大高度可能是多少? 摆放积木的顺序没有要求。两座高塔不能公用积木。 输入格式 第一行一个整数 n 。 第二行 n 个整数,用空格隔开,分别是 a1,a2,…,an (ai≥1,∑ni=1ai≤10 000)。 数据点规模约定: 对于 30% 的数据,1≤n≤15。 对于 100% 的数据,1≤n≤100。 输出格式 输出一个整数,表示最大高度。 如果不能完成任务,输出 0。 样例 input 6 2 3 3 3 6 8 output 11 提示 样例选择 2,3,3,6,8 这五块积木,搭出 8+3=11 和 6+3+2=11 这两座塔。所以答案是 11。 思路:dp,一开始想用dp[i][j]表示使用前i个能否铺成j高的塔,0代表不能铺,1代表铺成一个塔,2代表铺成两个塔,然而这样无法解决两个塔不能共用一块积木的问题,所以这种方法不可行。 正确思路是用dp[i][j][k]表示使用前i块积木,当两个塔的高差距为j时的塔的最大高度,k为0代表第一个塔高,k为1代表第二个塔高。 考虑状态转移,对于第i个积木,可以选择放或者不放

用直播APP源码进行平台搭建的过程

时光毁灭记忆、已成空白 提交于 2019-12-27 09:56:44
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 直播 app 源码作为直播平台的脊柱,需要投资者不断的去了解它,熟悉它,而明确它的开发步骤就是其中必不可少的环节之一。那么利用直播 app 源码搭建直播间需要经历哪几个步骤?下面以市面上的大多数直播 app 为例,来随拓幻科技梳理下。 一、分解直播 app 的基本功能 视频直播功能:这是直播 app 最基本的功能,要能支持视频直播 RTMP 推流,使画面传输流畅、清晰。 聊天功能:用于用户之间的互动聊天功能,包含文字和表情。 互动功能:用于与主播之间的互动,如点灯,送花等。 支付 & 体现功能:用户用现金购买礼物送给心仪的主播,主播收到礼物后可再兑换成现金取出。 视频回放功能:在直播过程中同时录像,使得没能看到直播的粉丝能有机会再看。 分享功能:将正在直播的房间号分享到微信、微博、 QQ 或其他第三方社交软件上。 二、寻找合适的 SDK 进行嵌入 在确认直播 app 源码的基本功能后,接下来就是根据实际需求接入第三方的扩展功能,一般为用于短信验证的云服务、用于定位的地图服务、用于推送信息的云服务、用于视频存储的云服务等。在 APIcloud 的聚合 API 中可以轻易的找到以上功能模块,从中挑选出合适的模块封装到自己的直播 app 中就可以。 三、正式进行搭建 1 、 app 框架搭建:在 APICloud

分布式事务 GTS 的价值和原理浅析

情到浓时终转凉″ 提交于 2019-12-16 14:50:29
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> GTS 今年双 11 的成绩 今年 2684 亿的背后,有一个默默支撑,低调到几乎被遗忘的中间件云产品——GTS(全局事务服务,Global Transaction Service),稳稳地通过了自 2014 年诞生以来的第 5 次“大考”。 2019 年 11 月 1 日至 12 日,GTS 日均处理分布式事务数量达 亿级 ,每天峰值 TPS 达 万级 。 这背后最重要意义在于:成绩是在给业务应用的设计和开发带来 0 负担 的前提下得到的。 GTS 带来的价值 随着企业的发展,企业业务架构面临数据、服务的分布化,几乎无可避免地要遇到分布式架构带来的数据一致性问题。 GTS 开创性地把分布式事务问题从业务中剥离出来,作为一个独立的技术切面来单独管理,以服务的形式给构建在云上的应用提供简单、易用、高效的分布式事务解决方案。 GTS 给业务应用带来的价值体现在以下几个方面: 架构复杂度降低:分布式事务这个 切面 的技术问题,全部 收敛 到 GTS 提供的服务来解决。 设计和开发成本减轻:业务逻辑的设计和开发,完全不需要针对是否涉及分布式事务而做任何额外的事情,对业务 0 侵入 。 项目交付、迭代速度加快:归因于上述两点,项目得以很快交付和迭代。GTS 赋予业务应用 快速试错 的能力,在这个商业机会瞬息万变的时代