网站首页

半岛彩票产品中心

半岛智能终端处理器 半岛智能云服务器 半岛软件开发环境

半岛彩票新闻中心

关于我们半岛彩票

公司概况 核心优势 核心团队 发展历程

联系我们半岛彩票·(中国)官方网站

官方微信 官方微博
半岛彩票·(中国)官方网站 > 半岛彩票产品中心 > 半岛智能终端处理器

半岛彩票人工智能・基本概念

发布时间:2023-09-01 12:25浏览次数: 来源于:网络

  半岛彩票在前面几篇文章中,本黄鸭向大家介绍了Python环境的搭建、与人工智能有关的Python语法和数学概念,等等。这些都是学习人工智能的基础。

  也就是说,从零基础的小白到人工智能的技术大牛确实只需要花费四个月的时间,但“零基础”的定义是:国内外重点大学毕业,专业是编程,现在的工作是程序员,喜欢阅读本黄鸭的文章。

  善良的本黄鸭打算再给宝宝们一周的时间来解决这些基础问题。在这篇文章中,本黄鸭先为大家介绍一些人工智能的基本概念。

  所谓“人工智能”,就是机器能像人一样地分析、解决问题。然而,以我们目前的科学技术水平,是造不出这样的机器的。现在的机器最多只能完成一些特定的任务,比如人脸识别、语音识别,等等。而这刚好就是我们经常听到的、“机器学习”的定义。

  本黄鸭曾经举过一个鸢尾花机器学习的例子。在开始机器学习之前,我们首先要从“sklearn.datasets”库中,把“iris.data”数据集导入进来。那么,这个数据集是从哪里来的呢?答案是从鸢尾花的样本中来。

  在世界上众多的鸢尾花中,我们只要挑选出一百五十朵作为样本就行了。这个挑选的过程被叫做“采样”。不仅能随机采样,而且可以根据具体的算法来挑选,比如在一片花田中,本黄鸭每隔五米就摘一朵花;还比如本黄鸭可以不把花摘下来,这样在采样的时候,可能会多次选到这朵花花。

  另外,在选择鸢尾花样本的时候,还必须注意一点,那就是三个品种的鸢尾花的数量应该差不多。如果A种鸢尾花的数目远多于其他两种,那么我们的模型无疑会倾向于把花花判定为A种鸢尾花。

  这个要求对于鸢尾花采样来说是比较简单的,但是对于行为日志的分析就不那么容易了。本黄鸭现在想要有一个模型,通过分析计算机系统的行为日志,就能预测哪些行为是黑客行为,哪些是正常行为。一般地,前者被称为“负例样本”,后者又被称为“正例样本”。

  鉴于本黄鸭上网的时候一直小心谨慎,电脑每隔三十年才被黑客入侵一次,即负例样本明显要比正例样本少很多,很难做到两种样本数量接近。在这种情况下,我们要做的是对样本进行加权,放大每一个负例样本对模型的影响。

  在找到了鸢尾花样本之后,我们进入了“人工标注”环节。先人工测量它们的花萼长度、花萼宽度、花瓣长度、花瓣宽度,并且人工地判断它们的种类。然后,把这些数据都录入到系统中。由此可见,人工标注是机器学习中最需要的human labor的一个环节,很多小伙伴在网上找到的兼职就属于这一类。

  在导入的“iris.data”数据集中,前四列是鸢尾花的四个特征,或者叫做“属性”,一般记作“X”;最后一列是鸢尾花的种类,或者叫做“目标”,通常记作“Y”。数据集中的每一列都有名称,这个名称又可以叫做“标签(label)”。单独拿一个特征出来是“特征向量”。这个概念既与标量有所不同,因为标量只有大小没有方向;也与序列有所不同,因为序列强调的是一组有序的数。

  在录入系统的数据与“iris.data”数据集之间,可能还差以下几个步骤:

  首先,如果数据在数值上的差距比较大,比如:很多的人的身高是一米七零,但体重是一百七十公斤的却很少。为了使得身高、体重在模型中具有大致相同的比例和权重,我们需要做的是“归一化”、“正则化”,例如用(数据的值 - 最小值)除以(最大值 - 最小值);还可以再研究一下“L1稀疏模型”和“惩罚项”,以减少极端值对于归一化的影响。

  其次,在人工标注过程中,我们有时需要做一些近似。比如:花瓣的长度的通常是一个精确度高、连续的数值。这时可以把测量值四舍五入,精确到一厘米,使之变成离散的数据。这样既能抹掉一些冗余的信息,节约数据占用的空间,也可以加快算法的运行。

  第三,我们还可以做的是“特征选择”,或者把多个特征compound在一起,投影到低维空间(降维)。前者是根据经验或者算法,直接删除一些多余的、没有用的特征。比如:计算两个特征向量之间的夹角,或者欧几里得距离,看两个特征向量的相似程度。如果相似程度高,那么可以删除其中的一个特征向量。

  后者可以先绘制数据的分布,如果分布是heavy-tailed,即有许多数据虽然每个都不起眼,但加在一起占了整体的很大一部分,那么可以考虑使用联合分布、累积分布函数,等等。

  最后,与在线技术相关的数据集很可能会因为缺少预测值,从而成为“待分类项”。比如:网站上一边有人在注册账户、上传身份证照片,一边在使用模型来识别身份证号。

  即便不缺少预测值,我们录入系统的数据就是数据集了吗?答案是否定的,因为可能还需要做聚类(cluster)操作,即把不同的样本划分为几个类别,这里的类别又叫做“簇”。

  典型的例子是推荐算法和协同过滤。前者是根据用户的喜好来推荐他们可能感兴趣的商品。比如:本黄鸭经常在当当网上购买编程类的书籍。如果店家想要提升销量,那么,在下次登录的时候,应该向本黄鸭推荐“编程类”这个类别中的另外一本书。

  协同过滤与前者略有不同,我们来看一个例子:不仅是本黄鸭,程序员也经常在当当网上购买编程类的书籍。所以,当当网判定本黄鸭和“程序员”是一类人。那么,在下次登录的时候,应该向本黄鸭推荐其他程序员曾经购买过的商品,比如键盘、鼠标、U盘、显示器,等等。

  在几何学中,把样本划分成簇的直线、曲线、平面,被叫做“决策边界”;一个簇的平均值又叫做“聚类中心”,还可以有从坐标原点指向聚类中心的向量,等等。

  在机器学习中,最重要的环节就是训练一个模型,或者说,一个分类器。这是因为模型可以完成的特定任务很多,但操作基本都是分类操作,比如:区分鸢尾花的类别,区分进程是黑客的还是正常的,区分身份证号的第一位是一还是二,等等。分类器可以是一个函数、决策树、神经网络,等等。如果分类器是一个神经网络,而且度很深,那么这种机器学习又被叫做“深度学习”。

  现在,本黄鸭假设模型是一元函数y = ax。其中,“x”是自变量,“y”是应变量,“a”是参数,参数的范围是从负一万到一万。训练模型的做法可以是:每次迭代都把a的值设定为范围中的一个,然后带入每一个训练集中的x的值,计算出对应的y值。接着,对比计算出来的y值与真实值之间的误差,比如:准确度,即(真实值-预测值)的平方;残差,即(真实值-预测值);自定义的损失函数,等等。最后,误差最小的a就是我们要找的a。

  当然,事情远远没有想象的这么简单。首先,把负一万到一万的每一个值都依次试验一遍的做法是低效的,我们可以采用线性搜索(a = a + 梯度的方向*学习率),或者解空间搜索,更快地逼近我们想要找的参数。

  现在是一个数据爆炸的时代,如果单个计算机无法容纳、计算那么多的数据,我们可以把数据分配给多个计算机来处理。请各位宝宝千万不要把这里说的“分布式”和“并行”搞混了,后者指的是把数据分配给同一台计算机的多个线程。

  分布式系统还有更多的问题需要解决。虽然有的数据处理是本地就能完成的,比如:筛选出含有字符“鸭”的句子;但还有更多的数据处理必须是跨节点的,比如:统计含有字符“鸭”的句子的个数,那么在每台计算机都完成筛选、统计之后,我们还要把每台计算机的数字累加在一起。

  另外,在分布式系统中,随时随地可能会出现机器死机、退出系统的情况。所以,我们需要系统有一定的容错性,即不论是否有机器退出,分布式系统都能正常地运行。

  其次,模型可能会存在过拟合(over-fitting),或者欠拟合(under-fitting)的问题。前者指的是模型对训练集的效果好,但对测试集的效果不好;后者说的是模型对训练集和测试集的效果都不好。遇到这两种情况,大量的交叉验证是不可避免的。

  最后,模型肯定会比y = ax复杂。有的时候是多个参数的线);有的时候是BP神经网络,最外面一排nodes是输入层,中间有各种隐藏层,最里面是输出层,每一层都有无数个参数;还有的时候误差还会被及时地反向传播,反馈给模型。

下一篇:AI·研究院李飞飞:现在半岛彩票只是人工智能起步点
上一篇:半岛彩票为中国青少年启蒙AI和编程腾讯与中国宋庆龄基金会发布“AI编程第一课”

咨询我们

输入您的疑问及需求发送邮箱给我们