监督学习

赛车游戏玩腻了,我训练个AI自己跑《赛道狂飙》

点点圈 提交于 2020-08-19 17:31:05
学过 AI 的码农,游戏都不亲自玩。 机器之心报道,编辑:张倩、蛋酱。 很多同学在学了 AI 之后,都会「支使」AI 去做各种事情,玩游戏也不例外。 《赛道狂飙》是一款经典的娱乐型竞速游戏,已经有着十几年的发展历史。赛车游戏大多比拼的是如何最快从起点抵达终点,但《赛道狂飙》的赛道设计更加多元,极其考验玩家的技术水平,这也是它的独特魅力所在。 Youtube 博主 yoshtm 是这一经典游戏的玩家之一。他一直在思考,能否让 AI 玩这个游戏? 最近,他成功将模型训练了出来,而且在《赛道狂飙》的新旧版本上都试了一下,效果还可以: 他用的是非常简单的监督学习模型,只有 2 个隐藏层(64+16 个神经元),包含 16 个输入(15 个赛道间距数据和 1 个车速数据)和 4 个输出(前、后、左、右)。 虽然技术上比较简单,但由于娱乐性较强而且容易上手,yoshtm 的项目还是在 Reddit 上收获了上千的点赞。 既然是监督学习,首先要解决的问题必然是标注数据。在第一版的视频中,yoshtm 介绍道,他创建了一个包含上百个转弯的训练地图,然后自己「驾驶」赛车在地图上跑。此外,他还创建了一个程序,用来逐帧检测赛车与墙之间的距离、车速以及自己的操作(上下左右)等信息。 收集到足够多的数据之后,yoshtm 创建了一个 AI 算法来学习地图环境与操作之间的对应关系。 在实际运行过程中

使用PyCaret构建机器学习模型

柔情痞子 提交于 2020-08-19 17:14:06
作者|LAKSHAY ARORA 编译|VK 来源|Analytics Vidhya 概述 PyCaret是一个超级有用的Python库,用于在短时间内执行多个机器学习任务 学习如何依赖PyCaret在几行代码中构建复杂的机器学习模型 介绍 我建立的第一个机器学习模型是一个相当麻烦的代码块。我仍然记得构建一个集成模型,它需要许多行代码,它十分需要一个向导来解开这些混乱的代码! 当涉及到构建可解释的机器学习模型时,尤其是在行业中,编写高效的代码是成功的关键。所以我强烈建议使用PyCaret库。 我希望PyCaret在我的刚学习机器学习的日子里出现!这是一个非常灵活和有用的库,我在最近几个月已经相当依赖。我坚信任何有志成为数据科学或分析专业人士的人都会从使用PyCaret中受益匪浅。 我们将看到PyCaret到底是什么,包括如何在你的机器上安装它,然后我们将深入研究如何使用PyCaret来构建可解释的机器学习模型,包括集成模型。 目录 什么是PyCaret?为什么要使用它? 安装PyCaret 熟悉PyCaret 使用PyCaret训练我们的机器学习模型 使用PyCaret构建集成模型 分析模型 做出预测 保存并加载模型 什么是PyCaret?为什么要使用它? PyCaret是Python中一个开源的机器学习库,它可以帮助你从数据准备到模型部署。它很容易使用

正式加入SCDN大家庭

僤鯓⒐⒋嵵緔 提交于 2020-08-19 02:56:57
怎么说呢,其实我一年前就已经了解到scdn这个编程人员专属的博客平台,我也注册了属于自己的账号;但是这一年以来,我一直是以一个借鉴者的身份来使用这个平台,主要是针对学校所布置的作业,我会在csdn上寻找相关博客学习。我觉着这么好的平台,要想更好的去利用,就必须融入其中,所以我今天写下属于我自己的第一篇博客,自我介绍以及未来规划。 自我介绍: 我是一名来自西安工业大学的学生,我学习的是软件工程这个专业。本人性格开朗,待人热情,对待事情专注度高,做事认真仔细,所以当初选择了软件工程这个专业,我比较喜欢团队做事,在日常活动比赛中最能体现,所以我对于以后的项目开发融入团队有很大的信心。我更喜欢共同进步,只有别人指出自己的问题,才能更好的提升我的技术水平,所以在今后我发表的技术文章中,欢迎大家监督学习,指出问题,万分感谢。 未来规划: 编程目标: 熟练掌握c/c++/Java等两种以上编程语言,学懂且会运用算法和数据结构的思想,学习数据库和计算机网络,以及操作系统的使用。 如何学习编程以及编程时间: 编程最重要的就是自己动手去做,敢于面对问题,发现问题不要急于求助他人,自己动手解决才能获得最大的收获。编程的知识最基本的来自于学校,学校的学习为你打下基础,但编程知识不仅局限于学校,应该多去学习课外书籍,有机会的话参加项目,会让自己最直观的发现自己的问题。由于自己是在校大学生

73岁Hinton老爷子构思下一代神经网络:属于无监督对比学习

断了今生、忘了曾经 提交于 2020-08-18 20:51:56
在近期举行的第 43 届国际信息检索年会 (ACM SIGIR2020) 上,Geoffrey Hinton 做了主题为《The Next Generation of Neural Networks》的报告。 机器之心报道,编辑:魔王、杜伟。 Geoffrey Hinton 是谷歌副总裁、工程研究员,也是 Vector Institute 的首席科学顾问、多伦多大学 Emeritus 荣誉教授。2018 年,他与 Yoshua Bengio、Yann LeCun 因对深度学习领域做出的巨大贡献而共同获得图灵奖。 自 20 世纪 80 年代开始,Geoffrey Hinton 就开始提倡使用机器学习方法进行人工智能研究,他希望通过人脑运作方式探索机器学习系统。受人脑的启发,他和其他研究者提出了「人工神经网络」(artificial neural network),为机器学习研究奠定了基石。 那么,30 多年过去,神经网络的未来发展方向在哪里呢? Hinton 在此次报告中 回顾了神经网络的发展历程,并表示下一代神经网络将属于无监督对比学习 。 https://v.qq.com/x/page/l3124haqfg8.html ​ v.qq.com Hinton 的报告主要内容如下: 人工神经网络最重要的待解难题是:如何像大脑一样高效执行无监督学习。 目前,无监督学习主要有两类方法。

从事python机器学习,这些三方库很重要!

随声附和 提交于 2020-08-18 14:35:58
  很多人之所以喜欢python,不仅仅因为简单易学、容易入门,更多是因为python有强大的第三方库,那么在机器学习中,python有哪些库可以使用呢?   1、Scikit-learn:最流行的ML库之一,支持很多监督学习和非监督学习算法。基于两个python库,Numpy 和 Scipy,为常见的机器学习和数据挖掘提供一组算法,聚类、回归和分类。   2、Tensorflow:当你使用python编写代码,你可以编译和运行在你的CPU或者GPU上,你不需要写C++或者CUDA的代码,可以运行在GPU集群上。   3、Theano:另一个用于数值计算的优秀类库,类似于Numpy。Theano允许你高效定义,优化和评估涉及多维数组的数学表达式。与众不同的是它利用计算机的GPU,能够比单独在CPU上运行时快100倍进行数据密集型计算。   4、Pandas:非常流行的一个库,提供简单易用且直观的高效数据结构,有许多内建的方法来分组、组合数据和过滤以及执行时间序列分析。可以轻松地从sql数据库、CSV、Excel、JSON文件等不同来源获取数据,并对数据进行操作。   5、Seaborn:一个流行的可视化库,建立在Matplotlib的基础之上,是一个高级库,意味着更容易生成某些类型的图,包含热图、时间序列等。 来源: oschina 链接: https://my.oschina

赛车游戏玩腻了,我训练个AI自己跑《赛道狂飙》

别来无恙 提交于 2020-08-18 11:54:12
  机器之心报道    编辑:张倩、蛋酱    学过 AI 的码农,游戏都不亲自玩。   很多同学在学了 AI 之后,都会「支使」AI 去做各种事情,玩游戏也不例外。   《赛道狂飙》是一款经典的娱乐型竞速游戏,已经有着十几年的发展历史。赛车游戏大多比拼的是如何最快从起点抵达终点,但《赛道狂飙》的赛道设计更加多元,极其考验玩家的技术水平,这也是它的独特魅力所在。   Youtube 博主 yoshtm 是这一经典游戏的玩家之一。他一直在思考,能否让 AI 玩这个游戏?   最近,他成功将模型训练了出来,而且在《赛道狂飙》的新旧版本上都试了一下,效果还可以:      他用的是非常简单的监督学习模型,只有 2 个隐藏层(64+16 个神经元),包含 16 个输入(15 个赛道间距数据和 1 个车速数据)和 4 个输出(前、后、左、右)。   虽然技术上比较简单,但由于娱乐性较强而且容易上手,yoshtm 的项目还是在 Reddit 上收获了上千的点赞。      既然是监督学习,首先要解决的问题必然是标注数据。在第一版的视频中,yoshtm 介绍道,他创建了一个包含上百个转弯的训练地图,然后自己「驾驶」赛车在地图上跑。此外,他还创建了一个程序,用来逐帧检测赛车与墙之间的距离、车速以及自己的操作(上下左右)等信息。   收集到足够多的数据之后,yoshtm 创建了一个 AI

机器学习西瓜书 | 第一章 绪论

╄→尐↘猪︶ㄣ 提交于 2020-08-18 04:53:17
绪论 1.1 引言 机器学习 machine learning 是一种“学习算法”(learning algorithm) 1.2 基本术语 数据集(data set):记录的集合 示例(instance)= 样本(sample)= 特征向量(feature vector):记录,关于一个事件或对象的描述 属性(attribute)= 特征(feature):反映事件在某方面的表现或性质的事项 属性值(attribute space):属性的取值 属性空间(attribute space)= 样本空间(sample space)= 输入空间:属性张成的空间 样本维数(dimensionality):样本属性/特征的个数 学习(learning)= 训练(training)过程:从数据中学得模型的过程,通过执行某个学习算法来完成 训练数据(training data):训练过程中使用的数据 训练样本(training sample)= 训练示例/训练例(training instance):训练数据中的样本 训练集(training set):训练样本组成的集合 假设(hypothesis):学得模型对应的关于数据的潜在的规律 真相/真实(ground-truth):潜在规律本身,学习过程就是在找出或逼近真相 学习器(learner):学习算法在给定数据和参数空间上的实例化 标记

谷歌联手伯克利给机器人上网课!观看8位医生手术视频学缝合

巧了我就是萌 提交于 2020-08-16 23:59:34
      大数据文摘出品    来源:Techxplore    编译:张睿毅、Andy   前段时间,文摘菌曾提过价值53万一只的波士顿动力机器狗,也有进行太空探索的昆虫机器人,万万没想到的是,这次来了一个和大家一样上网课的机器人。   不知道你有没有想过这种场景,去医院做手术时,医生助手已经不是可爱的护士小姐姐,而是 两只冷冰冰的机械臂,以快准狠的手法帮你缝合伤口 。   最近在Google Brain,英特尔还有UC伯克利的合作研究中,研究人员通过用手术教学视频来对机器人进行“训练”,让其能模仿手术过程。      之前,UC伯克利的教授有用过YouTube视频指导机器人学习各种动作(比如跳跃和跳舞), 而Google则是有训练机器人理解场景中的深度还有动作。   于是这次的团队,决定 将之前的研究成果结合起来,应用于最新项目Motion2Vec。   Motion2Vec:机器人也要上网课   Motion2Vec算法,能用真实手术视频来指导机器人学习相关手术动作。   在最近发布的论文里,研究人员简单介绍了他们如何用YouTube视频来训练 两臂达芬奇(da Vinci)机器人在针刺机上进行缝合操作。   它从模仿学习的视频演示中,获得以运动为中心的操作技能。其中表示的算法一致性、可解释性和监督学习的负担是该项目模仿学习中的关键问题

两种方式识别“传统”图片验证码

不羁岁月 提交于 2020-08-16 13:59:11
目前,很多网站为了反爬都会采取各种各样的策略,比较简单粗暴的一种做法就是图片验证码,随着爬虫技术与反爬技术的演变,目前验证码也越来越复杂,比较高端的如Google的I‘m not a robot,极验等等。这些新的反爬方式大多都基于用户行为分析用户点击前的鼠标轨迹来判断是访问者是程序还是人。 基于图像处理的图片验证码识别 这篇文章介绍的是破解一般“传统”的图片验证码的步骤。上面提到的极验(目前应用比较广)也已经可以被破解,知乎上有相关的专栏,这里就不重复了。 即便是传统的图片验证码,也是有难度区分的(图一是我母校研究生院官网上的验证码,基本形同虚设;图二则是某网站的会员登录时的验证码增加了一些干扰信息,字符也有所粘连),但是破解的流程大致是一样的。 图1 图2 ▐ 识别步骤 获取样本 从目标网站获取了5000个验证码图片到本地,作为样本。因为后期需要进行监督学习样本量要足够大。 样本去噪 ✎ 先二值化图片 这一步是为了增强图片的对比度,利于后期图片图像处理,代码如下: # 二值化图片 @staticmethod def two_value_img(img_path, threshold): img = Image.open(img_path).convert('L') # setup a converting table with constant threshold tables

LDA数据压缩原理及python应用(葡萄酒案例分析)

孤街醉人 提交于 2020-08-16 13:58:43
目录 线性判别分析(LDA)数据降维及案例实战 一、LDA是什么 二、计算散布矩阵 三、线性判别式及特征选择 四、样本数据降维投影 五、完整代码 结语 线性判别分析(LDA)数据降维及案例实战 一、LDA是什么 LDA概念及与PCA区别 LDA线性判别分析 (Linear Discriminant Analysis)也是一种特征提取、数据压缩技术。在模型训练时候进行LDA数据处理可以提高计算效率以及避免过拟合。它是一种有监督学习算法。 与 PCA主成分分析 (Principal Component Analysis)相比,LDA是有监督数据压缩方法,而PCA是有监督数据压缩及特征提取方法。PCA目标是寻找数据集最大方差方向作为主成分,LDA目标是寻找和优化具有可分性特征子空间。其实两者各有优势,更深入详细的区分和应用等待之后的学习,这里我仍然以葡萄酒数据集分类为案例记录原理知识的学习和具体实现步骤。 对比我之前记录的PCA请看: PCA数据降维原理及python应用(葡萄酒案例分析) LDA内部逻辑实现步骤 标准化d维数据集。 计算每个类别的d维均值向量。 计算跨类散布矩阵 和类内散布矩阵 . 线性判别式及特征计算。 按特征值降序排列,与对应的特征向量成对排序。 选择最具线性判别性的前k个特征,构建变换矩阵 . 通过变换矩阵将原数据投影至k维子空间。 二、计算散布矩阵 1