用「最好的语言」PHP,做一个机器学习数据集

2022-12-23 0 781

电脑之心报导

撰稿:朱锐

采用 PHP 为电脑自学预备统计数据集。

电脑自学是两门透过统计数据来教计算机系统补救的自然科学,而并非撰写字符串演算法,让命令逐一继续执行。

一般而言,统计数据预备是电脑自学的重中之重目标,一般而言主要包括三个子关键步骤:建立统计数据集和切换统计数据。

假如想构筑三个类似于人类文明的 AI 中国象棋格斗游戏,重中之重难题是建立三个统计资料库,因此该统计资料库须要尽量多的包涵中国象棋巨匠玩格斗游戏的统计数据。一般而言情况下,绝大多数人采用 Python 构筑统计数据集,并且在很大某种程度上指出 Python 是统计数据自然科学的惟一C词汇。

但,工程项目译者 Jordi Bassaganas 冲破盛行看法(该看法指出 Python 是当今世界上惟一用作统计数据自然科学的C词汇),不采用 Python,而要在构筑统计数据中采用了 MySQL、PHP 和 Rubix ML,当中 Rubix ML 是三个高阶电脑自学库,可构筑采用 PHP 词汇从统计数据中自学的流程。

用「最好的语言」PHP,做一个机器学习数据集

工程项目如是说

该工程项目是几组配置文件介面(Command-Line Interface,CLI)辅助工具,可协助管理工作 PGN 格斗游戏中的中国象棋统计资料库,除此之外,该辅助工具还能展开统计数据预备、建模统计数据和采用 Rubix ML 体能训练监督管理工作数学模型。

用「最好的语言」PHP,做一个机器学习数据集

所谓的 PGN 是「可移植式棋局记号法」(Portable Game Notation),是一种以 ASCII 文本文件表示国际中国象棋棋局统计数据的标准设定。PGN 设计成使人们很容易展开阅读和撰写,电脑流程很容易展开解析和产生。定义和传播 PGN 的目的,是为了促进公开对局统计数据的共享交流,主要包括来自全当今世界的棋手 (不管有无组织)、出版人和电脑国际中国象棋研究的。

接下来真正的难题是:应该给计算机系统提供哪些示例以使电脑自学变得更容易?

这个统计数据预备存储库主要任务是将数百万个中国象棋格斗游戏加载到 SQL 统计资料库中。译者从 PGN Mentor 中下载了 PGN 文件,PGN Mentor 是三个用作国际中国象棋研究的软件应用流程,同时还提供了三个包涵数百万个格斗游戏的文件集合,并将这些文件复制到 programarivm/chess-data/data/players 文件夹中。

其实采用 PHP 为电脑自学预备统计数据集并没有什么简单方法。但实现过程涉及到不同的技术,这是关于对处理难题的理解、收集和过滤统计数据的最合适实践过程。

例如,当涉及国际中国象棋时,首先你须要过滤和验证格斗游戏,这意味着要删除那些语法上无效或包涵错误的格斗游戏。cli/pgn-validate.php 命令查找 PGN 文件中错误,这条命令在将信息加载到统计资料库时会被广泛采用。

示例展示

下面展示了采用该工程项目设置和运行 MySQL 国际中国象棋统计资料库,第一步是创建如下所示的中国象棋统计资料库:

$ php cli/db-create.php

然后,按照下面的描述,games 表将被植入有效统计数据。

$ time php cli/db-seed.php data/players✗ 15 games did not pass the validation.✓ 3234 games out of a total of 3249 are OK.✓ 1353 games out of a total of 1353 are OK.✓ 1900 games out of a total of 1900 are OK.✓ 776 games out of a total of 776 are OK.✗ 1 games did not pass the validation.✓ 1660 games out of a total of 1661 are OK.✗ 4 games did not pass the validation….✓ 1124 games out of a total of 1124 are OK.✓ 265 games out of a total of 265 are OK.✗ 1 games did not pass the validation.✓ 2099 games out of a total of 2100 are OK.

cli/db-seed.php 命令须要大约 40 分钟才能加载大约 400,000 个格斗游戏。

mysql> select count(*) from games;+———-+| count(*) |+———-+| 402658 |+———-+1 row in set (0,23 sec)

值得一提的是,所有这些都是用 PHP 词汇实现的!

建立好国际中国象棋统计资料库后,就能为电脑自学演算法预备统计数据。在接下来的文章中,工程项目译者将详细说明如何透过采用多层感知器分类器和该统计资料库,展开国际中国象棋防守、战术等的开发。

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务