0%

自机器学习重新火起来开始,深度强化学习就一直是科研的一大热点,也是最有可能实现通用人工智能的一个分支。然而对于没有强化学习基础的同学们,如果直接去学习深度强化学习,想必会碰到很多问题。本文尝试普及一下最基础的强化学习算法,并以一个小例子来辅助大家理解。

问题定义

强化学习究竟研究的是一个什么样的问题,让其具有实现通用人工智能的潜力?

这个问题与我们认识世界的方式相关。我们都知道这个世界时刻在变化着,而每件事物的变化,势必是由其他一系列事物导致的。这就是我们所普遍认识的世界,一个由因果律定义的世界。由于有因果律的存在,我们就有可能根据某个当前世界的状态,计算后一时刻世界的状态。

而我们人类,作为一个智能体,通过观察这个世界,并进行各种各样的自主行动,来在这个世界中生存,并影响这个世界。通用人工智能的实现,就是期望能通过计算机模拟人类这样的智能体进行各种各样的行动决策。

阅读全文 »

Elegant. Image from https://www.yezibizhi.com/Img-4/100422/111045.shtml

In the previous post, we talked about a new ETL language – Easy SQL. You may be very curious about how to write ETL in Easy SQL. Let’s take a peek at it today.

阅读全文 »

Easy SQL language features mind Mapping

Previous posts about Easy SQL

People like to use Scala because Scala provides powerful type inference and embraces various programming paradigms. People like to use Python because it’s clean, out-of-the-box, delicate and expressive. People like to use rust because rust provides modern language features and zero-cost abstract.

阅读全文 »

上周的某一天,我在浏览IT新闻的时候,无意间被一篇来自阿里团队的文章刷屏了。关注的好几个平台都转发了名为“阿里 & 蚂蚁自研 IDE 研发框架 OpenSumi 正式开源”的文章。

OpenSumi定位是垂直领域的IDE研发框架。请注意,它本身不是IDE,而是一个辅助开发IDE的框架。除了内置常用的开发工具,如资源管理器、编辑器、调试、Git 面板、搜索面板等模块,重要的是,它可以支持开发者通过简单配置就搭建属于自己的本地或云端IDE产品。

OpenSumi的思路竟和我之前分享的“开发者工作台”的思路如出一辙。

阅读全文 »

回顾数据平台建设整体思路

上一篇文章中,我们聊到了对数据平台的理解以及企业数据平台的建设思路。

经过分析,可以了解到,数据平台应该是一定程度的中心化的系统,是团队对于数据接入、数据建模、数据清洗、数据开发过程的工程化经验的沉淀。

它可以:

阅读全文 »

数据工作中有一类非常重要的角色,那就是数据分析师。为什么这个角色这么重要呢?因为要是没有这个角色,不管一个企业中的数据管理做得有多么好都没用,无法带来实际的价值。这些数据就像是藏在海底的石油,而数据分析师就是开采海底石油的油井设备。要想让石油用于汽车轮船,需要通过这些设备先将海底的石油抽取出来,经过加工处理,提纯。

阅读全文 »

我最近接触到不少传统行业的客户,他们都希望构建自己的数据平台。其目的大都是希望通过借鉴互联网公司积累的成熟的技术经验,构建自己的数据能力,最终实现数据驱动型企业。

数据平台早已不是什么新鲜事物,甚至在当前大家都在谈论数据中台的时候,还显得有点过时。在我看来,其实大家对于数据中台的认识还处于探索的阶段,并没有形成让行业信服的一致的观点。但一提到数据平台,大家对其应该包含的内容还相对比较清楚。所以,本文尝试选择“数据平台”这个可能有点过时但是相对务实一点的词语来组织内容。这里我不想在概念上谈论太多,无论这个东西是什么,它要解决的企业中的数据问题是明确而具体的。

阅读全文 »

在一个大型企业中做数据工作,难免要跟各种不同种类的数据库打交道。Oracle,凭借其优异的性能,曾经是很多大型企业标配商业数据库,自然也是我们要重点应对的一种数据库。

Oracle的数据导入导出是一项基本的技能,但是对于懂数据库却不熟悉Oracle的同学可能会有一定的障碍。正好在最近的一个项目中碰到了这样一个任务,于是研究了一下Oracle的数据导入导出,在这里跟大家分享一下。

阅读全文 »

随着市场的逐步成熟,要想保持企业的长期竞争力,运营和产品改进工作需要越来越精细化。

比如,在游戏行业,玩家留存率是一个关键指标,为提升留存率,需要精细化的分析玩家是哪一步流失的,根据游戏进程推进过程,按照先后顺序设置关键节点,分析各个节点流失情况数据,可以形成一个玩家流失漏斗。有了玩家流失漏斗,我们可以选择流失率高的环节进行进一步精细化分析,找到流失原因,比如机器适配问题,引导缺乏吸引力问题,数值设计问题等,根据这些原因就可以针对性的在产品和运营侧做改进了。

阅读全文 »

面向对象的程序设计思想多年来一直是我们进行软件设计的有效的指导思想。由于我们天生理解大自然的机制就是面向对象的(比如我们到了某一个商店,我们会看到门店、售货员、货架、货架上的货物等等,这些都是一个一个的对象,我们认识整个商店也就是去认识商店中的每个对象。),而面向对象程序设计思想恰好与这一机制相一致,所以一个面向对象设计做得好的系统就很容易为我们所理解。

对于一个机器学习平台,应该如何实践面向对象程序设计思想呢?

面向对象的抽象

回顾前面两篇文章的内容,机器学习平台具备这样的架构:

阅读全文 »