[IT技术] 什么是机器学习,专业的讲解?

[复制链接]
hhf203 发表于 2024-4-20 23:07:28|来自:北京 | 显示全部楼层 |阅读模式
什么是机器学习,专业的讲解?
全部回复5 显示全部楼层
lihao0522 发表于 2024-4-20 23:08:03|来自:北京 | 显示全部楼层
机器学习教程个人笔记(Nbiru)
参考课程地址:https://www.coursera.org/course/ml



machine learning

前面在AI技术专栏断断续续更新了很多AI算法介绍的文章,很多初学者可能觉得零散又难懂,从今天开始,笔者将自己学习机器学习时整理的一些感想和经验分享出来,供学习者参考,鉴于机器学习内容很多,将分十几个大章节几百篇小文章进行更新,希望能对机器学习初学者有所帮助,由于内容多持续周期长在更新过程中难免有所疏漏,望批评指正!
1、课程概述
Machine Learning(机器学习)是研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。它是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域,它主要使用归纳、综合而不是演绎。在过去的十年中,机器学习帮助我们自动驾驶汽车,有效的语音识别,有效的网络搜索,并极大地提高了人类基因组的认识。机器学习是当今非常普遍,你可能会使用这一天几十倍而不自知。很多研究者也认为这是最好的人工智能的取得方式。在本课中,您将学习最有效的机器学习技术,并获得实践,让它们为自己的工作。更重要的是,你会不仅得到理论基础的学习,而且获得那些需要快速和强大的应用技术解决问题的实用技术。最后,你会学到一些硅谷利用机器学习和人工智能的最佳实践创新。
本课程提供了一个广泛的介绍机器学习、数据挖掘、统计模式识别的课程。主题包括:
(一)监督学习(参数/非参数算法,支持向量机,核函数,神经网络)。
(二)无监督学习(聚类,降维,推荐系统,深入学习推荐)。
(三)在机器学习的最佳实践(偏差/方差理论;在机器学习和人工智能创新过程)。本课程还将使用大量的案例研究,您还将学习如何运用学习算法构建智能机器人(感知,控制),文本的理解(Web搜索,反垃圾邮件),计算机视觉,医疗信息,音频,数据挖掘,和其他领域。
本人水平有限,如有公式、算法错误,请及时指出,欢迎在评论区交流!
2、 引言(Introduction)
第一个视频主要讲了什么是机器学习,机器学习能做些什么事情。
机器学习是目前信息技术中最激动人心的方向之一。在这门课中,你将学习到这门技术的前沿,并可以自己实现学习机器学习的算法。
你或许每天都在不知不觉中使用了机器学习的算法每次,你打开谷歌、必应搜索到你需要的内容,正是因为他们有良好的学习算法。谷歌和微软实现了学习算法来排行网页每次,你用Facebook或苹果的图片分类程序他能认出你朋友的照片,这也是机器学习。每次您阅读您的电子邮件垃圾邮件筛选器,可以帮你过滤大量的垃圾邮件这也是一种学习算法。对我来说,我感到激动的原因之一是有一天做出一个和人类一样聪明的机器。实现这个想法任重而道远,许多AI研究者认为,实现这个目标最好的方法是通过让机器试着模仿人的大脑学习我会在这门课中介绍一点这方面的内容。
在这门课中,你还讲学习到关于机器学习的前沿状况。但事实上只了解算法、数学并不能解决你关心的实际的问题。所以,我们将花大量的时间做练习,从而你自己能实现每个这些算法,从而了解内部机理。
那么,为什么机器学习如此受欢迎呢?原因是,机器学习不只是用于人工智能领域。
我们创造智能的机器,有很多基础的知识。比如,我们可以让机器找到A与B之间的最短路径,但我们仍然不知道怎么让机器做更有趣的事情,如web搜索、照片标记、反垃圾邮件。我们发现,唯一方法是让机器自己学习怎么来解决问题。所以,机器学习已经成为计算机的一个能力。
现在它涉及到各个行业和基础科学中。这里有一些机器学习的案例。比如说,数据库挖掘。机器学习被用于数据挖掘的原因之一是网络和自动化技术的增长,这意味着,我们有史上最大的数据集比如说,大量的硅谷公司正在收集web上的单击数据,也称为点击流数据,并尝试使用机器学习算法来分析数据,更好的了解用户,并为用户提供更好的服务。这在硅谷有巨大的市场。再比如,医疗记录。随着自动化的出现,我们现在有了电子医疗记录。如果我们可以把医疗记录变成医学知识,我们就可以更好地理解疾病。再如,计算生物学。还是因为自动化技术,生物学家们收集的大量基因数据序列、DNA序列和等等,机器运行算法让我们更好地了解人类基因组,大家都知道这对人类意味着什么。再比如,工程方面,在工程的所有领域,我们有越来越大、越来越大的数据集,我们试图使用学习算法,来理解这些数据。
事实上,如果你看过自然语言处理或计算机视觉,这些语言理解或图像理解都是属于AI领域。大部分的自然语言处理和大部分的计算机视觉,都应用了机器学习。学习算法还广泛用于自定制程序。每次你去亚马逊或Netflix或iTunes Genius,它都会给出其他电影或产品或音乐的建议,这是一种学习算法。仔细想一想,他们有百万的用户;但他们没有办法为百万用户,编写百万个不同程序。软件能给这些自定制的建议的唯一方法是通过学习你的行为,来为你定制服务。最后学习算法被用来理解人类的学习和了解大脑。
在接下来的视频中,我们将开始给更正式的定义,什么是机器学习。然后我们会开始学习机器学习的主要问题和算法你会了解一些主要的机器学习的术语,并开始了解不同的算法,用哪种算法更合适。

下一篇我们介绍:【机器学习是什么?】
woaiyan 发表于 2024-4-20 23:08:43|来自:北京 | 显示全部楼层
1. 机器学习概述


1)什么是机器学习


人工智能(Artificial Intelligence)是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。它是一个笼统而宽泛的概念,人工智能的最终目标是使计算机能够模拟人的思维方式和行为。

大概在上世纪50年代,人工智能开始兴起,但是受限于数据和硬件设备等限制,当时发展缓慢。




机器学习(Machine Learning)是人工智能的子集,是实现人工智能的一种途径,但并不是唯一的途径。它是一门专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能的学科。大概在上世纪80年代开始蓬勃发展,诞生了一大批数学统计相关的机器学习模型。

深度学习(Deep Learning)是机器学习的子集,灵感来自人脑,由人工神经网络(ANN)组成,它模仿人脑中存在的相似结构。在深度学习中,学习是通过相互关联的「神经元」的一个深层的、多层的「网络」来进行的。「深度」一词通常指的是神经网络中隐藏层的数量。大概在2012年以后爆炸式增长,广泛应用在很多的场景中。

让我们看看国外知名学者对机器学习的定义:




机器学习研究的是计算机怎样模拟人类的学习行为,以获取新的知识或技能,并重新组织已有的知识结构,使之不断改善自身。

从实践的意义上来说,机器学习是在大数据的支撑下,通过各种算法让机器对数据进行深层次的统计分析以进行「自学」,使得人工智能系统获得了归纳推理和决策能力。




通过经典的 垃圾邮件过滤 应用,我们再来理解下机器学习的原理,以及定义中的T、E、P分别指代什么:




2)机器学习三要素


机器学习三要素包括数据、模型、算法。这三要素之间的关系,可以用下面这幅图来表示:




(1)数据


数据驱动:数据驱动指的是我们基于客观的量化数据,通过主动数据的采集分析以支持决策。与之相对的是经验驱动,比如我们常说的「拍脑袋」。




(2)模型&算法


模型:在AI数据驱动的范畴内,模型指的是基于数据X做决策Y的假设函数,可以有不同的形态,计算型和规则型等。

算法:指学习模型的具体计算方法。统计学习基于训练数据集,根据学习策略,从假设空间中选择最优模型,最后需要考虑用什么样的计算方法求解最优模型。通常是一个最优化的问题。




3)机器学习发展历程


人工智能一词最早出现于1956年,用于探索一些问题的有效解决方案。1960年,美国国防部借助「神经网络」这一概念,训练计算机模仿人类的推理过程。

2010年之前,谷歌、微软等科技巨头改进了机器学习算法,将查询的准确度提升到了新的高度。而后,随着数据量的增加、先进的算法、计算和存储容量的提高,机器学习得到了更进一步的发展。

4)机器学习核心技术


分类:应用以分类数据进行模型训练,根据模型对新样本进行精准分类与预测。
聚类:从海量数据中识别数据的相似性与差异性,并按照最大共同点聚合为多个类别。
异常检测:对数据点的分布规律进行分析,识别与正常数据及差异较大的离群点。
回归:根据对已知属性值数据的训练,为模型寻找最佳拟合参数,基于模型预测新样本的输出值。

5)机器学习基本流程


机器学习工作流(WorkFlow)包含数据预处理(Processing)、模型学习(Learning)、模型评估(Evaluation)、新样本预测(Prediction)几个步骤。




数据预处理:输入(未处理的数据 + 标签)→处理过程(特征处理+幅度缩放、特征选择、维度约减、采样)→输出(测试集 + 训练集)。
模型学习:模型选择、交叉验证、结果评估、超参选择。
模型评估:了解模型对于数据集测试的得分。
新样本预测:预测测试集。

6)机器学习应用场景


作为一套数据驱动的方法,机器学习已广泛应用于数据挖掘、计算机视觉、自然语言处理、生物特征识别、搜索引擎、医学诊断、检测信用卡欺诈、证券市场分析、DNA序列测序、语音和手写识别和机器人等领域。




智能医疗:智能假肢、外骨骼、医疗保健机器人、手术机器人、智能健康管理等。
人脸识别:门禁系统、考勤系统、人脸识别防盗门、电子护照及身份证,还可以利用人脸识别系统和网络,在全国范围内搜捕逃犯。
机器人的控制领域:工业机器人、机械臂、多足机器人、扫地机器人、无人机等。

2.机器学习基本名词





监督学习(Supervised Learning):训练集有标记信息,学习方式有分类和回归。
无监督学习(Unsupervised Learning):训练集没有标记信息,学习方式有聚类和降维。
强化学习(Reinforcement Learning):有延迟和稀疏的反馈标签的学习方式。




示例/样本:上面一条数据集中的一条数据。
属性/特征:「色泽」「根蒂」等。
属性空间/样本空间/输入空间X:由全部属性张成的空间。
特征向量:空间中每个点对应的一个坐标向量。
标记:关于示例结果的信息,如((色泽=青绿,根蒂=蜷缩,敲声=浊响),好瓜),其中「好瓜」称为标记。
分类:若要预测的是离散值,如「好瓜」,「坏瓜」,此类学习任务称为分类。
假设:学得模型对应了关于数据的某种潜在规律。
真相:潜在规律自身。
学习过程:是为了找出或逼近真相。
泛化能力:学得模型适用于新样本的能力。一般来说,训练样本越大,越有可能通过学习来获得具有强泛化能力的模型。

3.机器学习算法分类


1)机器学习算法依托的问题场景


机器学习在近30多年已发展为一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、计算复杂性理论等多门学科。机器学习理论主要是设计和分析一些让计算机可以自动「学习」的算法。

机器学习算法从数据中自动分析获得规律,并利用规律对未知数据进行预测。

机器学习理论关注可以实现的、行之有效的学习算法。很多推论问题属于无程序可循难度,所以部分的机器学习研究是开发容易处理的近似算法。




机器学习最主要的类别有:监督学习、无监督学习和强化学习。




监督学习:从给定的训练数据集中学习出一个函数,当新的数据到来时,可以根据这个函数预测结果。监督学习的训练集要求是包括输入和输出,也可以说是特征和目标。训练集中的目标是由人标注的。常见的监督学习算法包括回归分析和统计分类。

无监督学习:与监督学习相比,训练集没有人为标注的结果。常见的无监督学习算法有生成对抗网络(GAN)、聚类。

强化学习:通过观察来学习做成如何的动作。每个动作都会对环境有所影响,学习对象根据观察到的周围环境的反馈来做出判断。

2)分类问题


分类问题是机器学习非常重要的一个组成部分。它的目标是根据已知样本的某些特征,判断一个新的样本属于哪种已知的样本类。分类问题可以细分如下:

二分类问题:表示分类任务中有两个类别新的样本属于哪种已知的样本类。
多类分类(Multiclass Classification)问题:表示分类任务中有多类别。
多标签分类(Multilabel Classification)问题:给每个样本一系列的目标标签。

3)回归问题





4)聚类问题





5)降维问题





4.机器学习模型评估与选择


1)机器学习与数据拟合


机器学习最典型的监督学习为分类与回归问题。分类问题中,我们学习出来一条「决策边界」完成数据区分;在回归问题中,我们学习出拟合样本分布的曲线。

2)训练集与数据集


我们以房价预估为例,讲述一下涉及的概念。

训练集(Training Set):帮助训练模型,简单的说就是通过训练集的数据让确定拟合曲线的参数。
测试集(Test Set):为了测试已经训练好的模型的精确度。

当然,Test Set这并不能保证模型的正确性,只是说相似的数据用此模型会得出相似的结果。因为在训练模型的时候,参数全是根据现有训练集里的数据进行修正、拟合,有可能会出现过拟合的情况,即这个参数仅对训练集里的数据拟合比较准确,这个时候再有一个数据需要利用模型预测结果,准确率可能就会很差。

3)经验误差


在训练集的数据上进行学习。模型在训练集上的误差称为「经验误差」(Empirical Error)。但是经验误差并不是越小越好,因为我们希望在新的没有见过的数据上,也能有好的预估结果。

4)过拟合


过拟合,指的是模型在训练集上表现的很好,但是在交叉验证集合测试集上表现一般,也就是说模型对未知样本的预测表现一般,泛化(Generalization)能力较差。




如何防止过拟合呢?一般的方法有Early Stopping、数据集扩增(Data Augmentation)、正则化、DropOut等。

正则化:指的是在目标函数后面添加一个正则化项,一般有L1正则化与L2正则化。L1正则是基于L1范数,即在目标函数后面加上参数的L1范数和项,即参数绝对值和与参数的积项。

数据集扩增:即需要得到更多的符合要求的数据,即和已有的数据是独立同分布的,或者近似独立同分布的。一般方法有:从数据源头采集更多数据、复制原有数据并加上随机噪声、重采样、根据当前数据集估计数据分布参数,使用该分布产生更多数据等。

DropOut:通过修改神经网络本身结构来实现的。

5)偏差


偏差(Bias),它通常指的是模型拟合的偏差程度。给定无数套训练集而期望拟合出来的模型就是平均模型。偏差就是真实模型和平均模型的差异。

简单模型是一组直线,平均之后得到的平均模型是一条直的虚线,与真实模型曲线的差别较大(灰色阴影部分较大)。因此,简单模型通常高偏差。




复杂模型是一组起伏很大波浪线,平均之后最大值和最小组都会相互抵消,和真实模型的曲线差别较小,因此复杂模型通常低偏差(见黄色曲线和绿色虚线几乎重合)。




6)方差

方差(Variance),它通常指的是模型的平稳程度(简单程度)。简单模型的对应的函数如出一辙,都是水平直线,而且平均模型的函数也是一条水平直线,因此简单模型的方差很小,并且对数据的变动不敏感。




复杂模型的对应的函数千奇百怪,毫无任何规则,但平均模型的函数也是一条平滑的曲线,因此复杂模型的方差很大,并且对数据的变动很敏感。




7)偏差与方差的平衡




8)性能度量指标


性能度量是衡量模型泛化能力的数值评价标准,反映了当前问题(任务需求)。使用不同的性能度量可能会导致不同的评判结果。

(1)回归问题


关于模型「好坏」的判断,不仅取决于算法和数据,还取决于当前任务需求。回归问题常用的性能度量指标有:平均绝对误差、均方误差、均方根误差、R²等。




平均绝对误差(Mean Absolute Error,MAE),又叫平均绝对离差,是所有标签值与回归模型预测值的偏差的绝对值的平均。

平均绝对百分误差(Mean Absolute Percentage Error,MAPE)是对MAE的一种改进,考虑了绝对误差相对真实值的比例。

均方误差(Mean Square Error,MSE)相对于平均绝对误差而言,均方误差求的是所有标签值与回归模型预测值的偏差的平方的平均。

均方根误差(Root-Mean-Square Error,RMSE),也称标准误差,是在均方误差的基础上进行开方运算。RMSE会被用来衡量观测值同真值之间的偏差。

R平方,决定系数,反映因变量的全部变异能通过目前的回归模型被模型中的自变量解释的比例。比例越接近于1,表示当前的回归模型对数据的解释越好,越能精确描述数据的真实分布。

(2)分类问题


分类问题常用的性能度量指标包括错误率(Error Rate)、精确率(Accuracy)、查准率(Precision)、查全率(Recall)、F1、ROC曲线、AUC曲线和R平方等。




错误率:分类错误的样本数占样本总数的比例。

精确率:分类正确的样本数占样本总数的比例。

查准率(也称准确率),即在检索后返回的结果中,真正正确的个数占你认为是正确的结果的比例。

查全率(也称召回率),即在检索结果中真正正确的个数,占整个数据集(检索到的和未检索到的)中真正正确个数的比例。

F1是一个综合考虑查准率与查全率的度量,其基于查准率与查全率的调和平均定义:即:F1度量的一般形式-Fβ,能让我们表达出对查准率、查全率的不同偏好。




ROC曲线(Receiver Operating Characteristic Curve)全称是「受试者工作特性曲线」。综合考虑了概率预测排序的质量,体现了学习器在不同任务下的「期望泛化性能」的好坏。ROC曲线的纵轴是「真正例率」(TPR),横轴是「假正例率」(FPR)。

AUC(Area Under ROC Curve)是ROC曲线下面积,代表了样本预测的排序质量。

从一个比较高的角度来认识AUC:仍然以异常用户的识别为例,高的AUC值意味着,模型在能够尽可能多地识别异常用户的情况下,仍然对正常用户有着一个较低的误判率(不会因为为了识别异常用户,而将大量的正常用户给误判为异常。)

9)评估方法


我们手上没有未知的样本,如何可靠地评估?关键是要获得可靠的「测试集数据」(Test Set),即测试集(用于评估)应该与训练集(用于模型学习)「互斥」。




常见的评估方法有:留出法(Hold-out)、交叉验证法( Cross Validation)、自助法(Bootstrap)。

留出法(Hold-out)是机器学习中最常见的评估方法之一,它会从训练数据中保留出验证样本集,这部分数据不用于训练,而用于模型评估。




机器学习中,另外一种比较常见的评估方法是交叉验证法(Cross Validation)。k 折交叉验证对 k 个不同分组训练的结果进行平均来减少方差,因此模型的性能对数据的划分就不那么敏感,对数据的使用也会更充分,模型评估结果更加稳定。




自助法(Bootstrap)是一种用小样本估计总体值的一种非参数方法,在进化和生态学研究中应用十分广泛。

Bootstrap通过有放回抽样生成大量的伪样本,通过对伪样本进行计算,获得统计量的分布,从而估计数据的整体分布。




10)模型调优与选择准则


我们希望找到对当前问题表达能力好,且模型复杂度较低的模型:


  • 表达力好的模型,可以较好地对训练数据中的规律和模式进行学习;
  • 复杂度低的模型,方差较小,不容易过拟合,有较好的泛化表达。




11)如何选择最优的模型


(1)验证集评估选择



  • 切分数据为训练集和验证集。
  • 对于准备好的候选超参数,在训练集上进行模型,在验证集上评估。



(2)网格搜索/随机搜索交叉验证



  • 通过网格搜索/随机搜索产出候选的超参数组。
  • 对参数组的每一组超参数,使用交叉验证评估效果。
  • 选出效果最好的超参数。



(3)贝叶斯优化



  • 基于贝叶斯优化的超参数调优。
wybt 发表于 2024-4-20 23:08:56|来自:北京 | 显示全部楼层
机器学习 (ML) 是人工智能的一个子集,是一个快速发展的领域,越来越多的制药公司利用它。将ML方法集成到药物开发过程中,帮助自动化重复的数据处理和分析任务。


机器学习——做出数据驱动的决策

ML 解决方案基于大数据建模和分析。数据可以来自不同来源(例如,数据存储库、内部实验和出版物)并且可以在格式有所不同,这使得数据的聚合、存储和准备具有挑战性。



图一基于ML建立抑郁症预测模型的思路框架

ML 训练系统在没有任何外部支持的情况下,自主地做出推理和决策。当系统从过去的经验中学习和改进时,就会做出决定——系统从所提供的数据中学习,并解读其中包含的相关模式。然后,通过模式识别和分析,系统交付“结果”,这可能是一个预测或分类。
机器学习任务大致可以分为三类:监督学习、非监督学习和顺序学习。ML 中的数据可以是两种类型——有标记的和无标记的。



图 2 人工智能算法模型

常见的机器学习算法包括决策树(decision tree)、 随机森林(random forest)、 支持向量机(support vector machine,SVM),k-最近邻算法(k-nearest neighbor model) 和朴素贝叶斯(Naïve Bayes)算法。
药物研发中,ML方法可应用于以下几个步骤:

  • 药物靶点识别:工具-决策树
  • 活性化合物筛选:工具-决策树、贝叶斯模型、k-最近邻算法
  • 化合物性质预测:工具-决策树、贝叶斯模型等
  • 分子生成:工具- RNN、CNN等
  • 蛋白结构及蛋白配体相互作用预测:工具- DNN、CNN等
机器学习已被用于药物研发的各个领域,但是人工智能在新药研发中的应用才刚刚起步,也面临着诸多挑战。在药物研发领域,数据是人工智能的关键。因此作为一种数据挖掘技术,人工智能模型依赖于大数据的积累,并不能无中生有。用来学习的数据很大程度上会影响模型的性能,因此模型是否有效往往取决于数据的质量。若是数据质量不高,即使使用可靠的算法,也不会获得良好的结果,反而会浪费大量的资源和时间。目前大多数预测模型来源于参差不齐的数据,因此如何获得高质量的数据是人工智能面临的一个主要问题。此外,如何学习训练数据得到泛化能力强的模型也是人工智能的难点及热点。
参考资料:

  • https://www.technologynetworks.com/drug-discovery/articles/automating-drug-discovery-with-machine-learning-347763
  • Hong Ming Chen, et al. The rise of deep learning in drug discovery, Drug Discovery Today.
  • Stephenson, Natalie,Survey of Machine Learning Techniques in Drug Discovery, Current Drug Metabolism.
  • Vamathevan, Jessica Clark, Dominic Czodrowski, Paul Dunham, Ian Ferran, Edgardo Lee, George Li, Bin Madabhushi, Anant Shah, Parantu Spitzer, Michaela Zhao, Shanrong, Applications of machine learning in drug discovery and development, Nature Reviews Drug Discovery, 2019
  • 参考书:图解机器学习
  • https://blog.csdn.net/by4_Luminous/article/details/53341334
  • 人工智能在药物发现中的应用与挑战
cyh123321 发表于 2024-4-20 23:09:49|来自:北京 | 显示全部楼层
先附上Scikit-learn中文文档: scikit-learn中文社区
在百度中输入“什么是机器学习?”并进行搜索后,就仿佛打开了一个潘多拉的魔盒,里面有各种网站,论坛,百度知道,视频,学术性研究等,当然还会这篇文章要讲的,那就是什么是机器学习等一系列相关的认知文章,和相关视频的推荐。而这篇文章的目的也就是为了简化机器学习的定义和方便人们理解什么是机器学习。
除了了解什么是机器学习(ML),机器学习的定义之外,我们还旨在简要概述机器学习的基本原理,让机器“思考”的挑战和局限性,以及今天深入了解的一些问题学习(机器学习的“前沿”),以及开发机器学习应用程序的关键要点。
本文将分为以下几个部分:

  • 什么是机器学习?
  • 我们是如何得出我们的定义的(也就是:专家研究人员的观点)
  • 机器学习的基本概念
  • ML模型的可视化表示
  • 我们如何让机器学习
  • ML的挑战和局限概述
  • 深度学习简介
无论你对机器学习是否有兴趣,我们都将把这些资源整合在一起,以帮助你解决有关机器学习的问题 - 所以你可以查看任何你感兴趣的话题,或者按照顺序阅读这篇文章都可以,那么我们就从下面的机器学习定义开始:
什么是机器学习?

“机器学习是让计算机像人类一样学习和行动的科学,通过以观察和与现实世界进行互动的形式向他们提供数据和信息,随着时间的推移,以自主的方式提高计算机的学习能力。”
上述定义包含了机器学习的理想目标或最终目标,正如该领域的许多研究人员所表达的那样。本文的目的是为具有商业头脑的读者提供有关机器学习的定义及其工作原理的专家观点。 机器学习和人工智能在许多人的脑海中具有相同的定义,但读者也应该认识到他们其中的一些明显的差异。
我们是如何得出我们的定义的:

(我们的整理的机器学习定义可以在本文开头找到)
与任何概念一样,机器学习的定义可能略有不同,具体取决于你向谁问机器学习的概念。我们梳理了在互联网中对机器学习的定义,从一些著名的来源中找到五个实用的定义:

  • “最基本的机器学习是使用算法解析数据,从中学习,然后对世界上的一些事情做出决定或者是预测。” - Nvidia
  • “机器学习是一门不需要明确编程就能让计算机运行的科学。” -  斯坦福大学
  • “机器学习基于算法,可以从数据中进行学习而不依赖于基于规则的编程。” - 麦肯锡公司
  • “机器学习算法可以通过例子从中挑选出执行最重要任务的方法。” - 华盛顿大学
  • “机器学习领域旨在回答这样一个问题:”我们如何建立能够根据经验自动改进的计算机系统,以及管理所有学习过程的基本法则是什么?“ - 卡内基梅隆大学
我们将这些定义发送给我们采访过和/或包含在我们之前的研究共识中的专家,并要求他们回答他们最喜欢的定义或提供他们自己的定义。我们的介绍性定义旨在反映不同的反应。以下是他们的一些回复:
蒙特利尔大学Yoshua Bengio博士:
ML不应由否定来定义(因此判定2和3)。而我的定义如下:
机器学习研究是人工智能研究的一部分,旨在通过数据,观察和与世界的互动为计算机提供知识。获得的知识允许计算机能够正确地推广到新设置。
Danko Nikolic博士,CSC和Max-Planck研究所:
(选择上面的数字2):“机器学习是让计算机在没有明确编程的情况下采取行动的科学,而是让他们自己学习一些技巧。”
路易斯维尔大学Roman Yampolskiy博士:
机器学习是一门让计算机学习和人类做得更好或更好的科学。
华盛顿大学Emily Fox博士:
我最喜欢的定义是第五个。
机器学的习基本概念

有许多不同类型的机器学习算法,每天都会有新发布数百种的算法,并且它们通常按学习风格(即监督学习,无监督学习,半监督学习)或通过形式或功能相似性(即分类,回归,决策树,聚类,深度学习等)。无论学习风格或功能如何,机器学习算法的所有组合都包含以下内容:

  • 表示(一组分类器或计算机理解的语言)
  • 评估(又名目标/评分功能)
  • 优化(搜索方法;通常是评分最高的分类器;使用现成的和自定义的优化方法)




图片来源:华盛顿大学Pedro Domingo博士
机器学习算法的基本目标是在训练样本的基础上进行泛化,即成功解释之前从未“见过”的数据。
机器学习模型的可视化表示

到目前为止,概念和要点只能走这么远。当人们问“什么是机器学习?”时,他们经常想看看它是什么以及它做了什么。以下是机器学习模型的一些可视化表示。

  • 决策树模型



  • 高斯混合模型



  • drop神经网络



  • 卷积神经网络合并色度和亮度


我们如何让机器去学习

有许多不同的方法让机器学习,从使用基本决策树到聚类再到人工神经网络层(后者已经让位于深度学习),这取决于你要完成的任务和类型以及你可用的数据量。这种动力在各种应用中发挥作用,如医疗诊断或自动驾驶汽车。
虽然重点通常放在选择最佳学习算法上,但研究人员发现,一些最有趣的问题没有可用的机器学习算法的执行标准。大多数情况下,这是训练数据的问题,但这也发生在使用机器学习在新领域上。
在处理实际应用程序时所做的研究通常会推动该领域的进展,原因有两个:1.发现现有方法的界限和局限性的趋势2.研究人员和开发人员与领域专家合作,利用时间和专业知识来提高系统性能。
有时这也是由“意外”发生的。我们可能会考虑模型集合或许多学习算法的组合来提高准确性,但有一个例子。2009年Netflix Price的团队发现,当他们将学习者与其他团队的学习者结合起来时,他们取得了最好的成绩,从而改进了推荐算法。
在商业和其他领域的应用方面,一个重要的观点(基于对该领域专家的访谈和对话)是,机器学习不仅仅是一个经常被误解的概念,甚至与自动化有关,这是一个经常被误解的概念。如果你这样想,你一定会错过机器学习可以提供的宝贵见解和由此产生的机会(重新思考整个商业模式,就像制造业和农业等所做的那样)。
学习的机器对人类很有用,因为它们具有所有的处理能力,能够更快地突出显示或找到人类可能错过的大数据(或其他)中的模式,否则人类就会错过这些模式。机器学习是一种工具,可用于增强人类解决问题的能力,并从广泛的问题中做出明智的推断,从帮助诊断疾病到提出全球气候变化的解决方案。
挑战与局限

“机器学习无法从无到有......它的作用是从更少的东西中获得更多。” - 华盛顿大学Pedro Domingo博士
机器学习中两个最大的,历史性的和持续的问题都涉及过度拟合(其中模型表现出对训练数据的偏见,并且不会推广到新数据,和/或变化,即在训练新数据时学习随机事物)和维度(具有更多特征的算法在更高/更多维度上工作,使得理解数据更加困难)。在某些情况下,访问足够大的数据集也是主要问题。
机器学习初学者中最常见的错误之一是成功地测试训练数据并产生成功的假象; Domingo(和其他人)强调在测试模型时保持一些数据集独立的重要性,并且仅使用该保留的数据来测试所选模型,然后对整个数据集进行学习。
当一个学习算法(即学习者)不起作用时,通常更快的成功之路是为机器提供更多的数据,其可用性现已成为近期机器学习和深度学习算法进步的主要驱动因素。 然而,这可能导致可扩展性问题,在可扩展性中,我们有更多的数据,但是否有时间了解数据仍然是一个问题。
就目的而言,机器学习本身并不是目的或解决方案。此外,尝试将其用作一揽子解决方案即“BLANK”并不是一项有用的做法; 相反,带着一个问题或目标来到谈判桌上往往最好由一个更具体的问题来驱动 - “BLANK”。
深度学习与神经网络的现代发展

深度学习涉及机器算法的研究和设计,用于在多个抽象级别(安排计算机系统的方式)学习数据的良好表示。最近通过DeepMind,Facebook和其他机构进行深度学习进行了宣传,突显了它作为机器学习的“下一个前沿”。
机器学习国际会议(ICML)被广泛认为是世界上最重要的会议之一。该会议在今年6月在纽约市举行,汇集了来自世界各地的研究人员齐聚一堂,他们致力于解决当前深度学习中的挑战:

  • 小数据集中的无监督学习
  • 基于模拟的学习和对现实世界的可转移性
深度学习系统在过去十年中在诸如对象检测和识别,文本到语音,信息检索等领域取得了巨大的进步。研究现在专注于开发数据高效的机器学习,也就是在个性化医疗、机器人强化学习、情绪分析等前沿领域,开发更搞笑的深度学习系统,在更短的时间和更少的数据下,以同样的性能进行跟高效的学习。
应用机器学习的关键

下面是一系列应用机器学习的最佳实践和概念,我们已经从我们对播客系列的采访以及本文末尾引用的选择来源进行了整理。我们希望这些原则中的一些将阐明如何使用ML,以及如何避免公司和研究人员在启动ML相关项目时可能容易受到的一些常见陷阱。

  • 可以说,在成功的机器学习项目中最重要的因素是用来描述数据(特定于领域)的特性,并具有足够的数据来训练你的模型
  • 大多数情况下,当算法表现不佳时,这是由于训练数据存在问题(即数据量不足/数据偏差;数据噪声较大;或者描述数据的功能不足以做出决策
  • “简单并不意味着准确性” - 根据多明戈的说法,模型的参数数量和过度拟合的趋势之间没有特定的联系
  • 如果可能的话,应该尽可能的获得实验数据(而不是我们无法控制的观察数据)(例如,从向随机观众进行抽样发送不同的电子邮件中收集的数据)
  • 无论我们是否标记数据因果关系或相关性,更重要的都是预测我们行为的影响
  • 始终留出一部分训练数据集进行交叉验证; 你希望你选择的分类器或学习算法在新数据上表现良好
轻雨风飘 发表于 2024-4-20 23:10:12|来自:北京 | 显示全部楼层
  机器学习好比高中时代的性——人人都在谈论,但除了老师们知根知底外,只有很少的人能说清楚怎么回事。如果阅读网上关于机器学习的文章,你很可能会遇到两种情况:充斥各种定理的厚重学术三部曲(我搞定半个定理都够呛),或是关于人工智能、数据科学魔法以及未来工作的天花乱坠的故事。

学习大数据分析多久可以找到工作-AAA教育  我决定写一篇酝酿已久的文章,对那些想了解机器学习的人做一个简单的介绍。不涉及高级原理,只用简单的语言来谈现实世界的问题和实际的解决方案。不管你是一名程序员还是管理者,都能看懂。





  为什么我们想要机器去学习?

  假如你想买辆车,你就要算出每月要存多少钱才付得起。浏览了网上的几十个广告之后,他了解到新车价格在2万美元左右,用过1年的二手车价格是1.9万美元,2年车就是1.8万美元,依此类推。




  作为聪明的分析师,你会发现一种规律:车的价格取决于车龄,每增加1年价格下降1000美元,但不会低于10000美元。

  用机器学习的术语来说,你发明了“回归”(regression)——基于已知的历史数据预测了一个数值(价格)。当人们试图估算eBay上一部二手iPhone的合理价格或是计算一场烧烤聚会需要准备多少肋排时,他们一直在用类似Billy的方法——每人200g? 500?

  是的,如果能有一个简单的公式来解决世界上所有的问题就好了——尤其是对于烧烤派对来说——不幸的是,这是不可能的。

  让我们回到买车的情形,现在的问题是,除了车龄外,它们还有不同的生产日期、数十种配件、技术条件、季节性需求波动……等等多种因素……普通人没法在计算价格的时候把这些数据都考虑进去,换任何人也同样搞不定。

  人们又懒又笨——我们需要机器人来帮他们做数学。因此,这里我们采用计算机的方法——给机器提供一些数据,让它找出所有和价格有关的潜在规律。

  这样非常有效果。最令人兴奋的是,相比于真人在头脑中仔细分析所有的依赖因素,机器处理起来要好得多。

  就这样,机器学习诞生了。

  机器学习的3个组成部分

  抛开所有和人工智能(AI)有关的扯淡成分,机器学习唯一的目标是基于输入的数据来预测结果,就这样。所有的机器学习任务都可以用这种方式来表示,否则从一开始它就不是个机器学习问题。

  样本越是多样化,越容易找到相关联的模式以及预测出结果。因此,我们需要3个部分来训练机器:

  数据

  想检测垃圾邮件?获取垃圾信息的样本。想预测股票?找到历史价格信息。想找出用户偏好?分析他们在Facebook上的活动记录(不,Mark,停止收集数据~已经够了)。数据越多样化,结果越好。对于拼命运转的机器而言,至少也得几十万行数据才够吧。

  获取数据有两种主要途径——手动或者自动。手动采集的数据混杂的错误少,但要耗费更多的时间——通常花费也更多。自动化的方法相对便宜,你可以搜集一切能找到的数据(但愿数据质量够好)。

  一些像Google这样聪明的家伙利用自己的用户来为他们免费标注数据,还记得ReCaptcha(人机验证)强制你去“选择所有的路标”么?他们就是这样获取数据的,还是免费劳动!干得漂亮。如果我是他们,我会更频繁地展示这些验证图片,不过,等等……



  好的数据集真的很难获取,它们是如此重要,以至于有的公司甚至可能开放自己的算法,但很少公布数据集。

  特征

  也可以称为“参数”或者“变量”,比如汽车行驶公里数、用户性别、股票价格、文档中的词频等。换句话说,这些都是机器需要考虑的因素。

  如果数据是以表格的形式存储,特征就对应着列名,这种情形比较简单。但如果是100GB的猫的图片呢?我们不能把每个像素都当做特征。这就是为什么选择适当的特征通常比机器学习的其他步骤花更多时间的原因,特征选择也是误差的主要来源。人性中的主观倾向,会让人去选择自己喜欢或者感觉“更重要”的特征——这是需要避免的。

  算法

  最显而易见的部分。任何问题都可以用不同的方式解决。你选择的方法会影响到最终模型的准确性、性能以及大小。需要注意一点:如果数据质量差,即使采用最好的算法也无济于事。这被称为“垃圾进,垃圾出”(garbae in - garbage out,GIGO)。所以,在把大量心思花到正确率之前,应该获取更多的数据。



  学习 V.S. 智能

  我曾经在一些流行媒体网站上看到一篇题为“神经网络是否会取代机器学习?”的文章。这些媒体人总是莫名其妙地把线性回归这样的技术夸大为“人工智能”,就差称之为“天网”了。下图展示了几个容易混淆的概念之间的关系。




  1)“人工智能”是整个学科的名称,类似于“生物学”或“化学”。
  2)“机器学习”是“人工智能”的重要组成部分,但不是唯一的部分。
  3)“神经网络”是机器学习的一种分支方法,这种方法很受欢迎,不过机器学习大家庭下还有其他分支。
  4)“深度学习”是关于构建、训练和使用神经网络的一种现代方法。本质上来讲,它是一种新的架构。在当前实践中,没人会将深度学习和“普通网络”区分开来,使用它们时需要调用的库也相同。为了不让自己看起来像个傻瓜,你最好直接说具体网络类型,避免使用流行语。

  一般原则是在同一水平上比较事物。这就是为什么“神经网络将取代机器学习”听起来就像“车轮将取代汽车”。亲爱的媒体们,这会折损一大截你们的声誉哦。




  机器学习世界的版图

  如果你懒得阅读大段文字,下面这张图有助于获得一些认识。




  在机器学习的世界里,解决问题的方法从来不是唯一的——记住这点很重要——因为你总会发现好几个算法都可以用来解决某个问题,你需要从中选择最适合的那个。当然,所有的问题都可以用“神经网络”来处理,但是背后承载算力的硬件成本谁来负担呢?

  我们先从一些基础的概述开始。目前机器学习主要有4个方向。





  Part 1  经典机器学习算法

  经典机器学习算法源自1950年代的纯统计学。统计学家们解决的是诸如寻找数字中的模式、估计数据点间的距离以及计算向量方向这样的形式数学(formal math)问题。

  今天,一半的互联网都在研究这些算法。当你看到一列“继续阅读”的文章,或者在某个偏僻的加油站发现自己的银行卡被锁定而无法使用时,很可能是其中的一个小家伙干的。

  大型科技公司是神经网络的忠实拥趸。原因显而易见,对于这些大型企业而言,2%的准确率提升意味着增加20亿的收入。但是公司业务体量小时,就没那么重要了。我听说有团队花了1年时间来为他们的电商网站开发新的推荐算法,事后才发现网站上99%的流量都来自搜索引擎——他们搞出来的算法毫无用处,毕竟大部分用户甚至都不会打开主页。

  尽管经典算法被广泛使用,其实原理很简单,你可以很容易地解释给一个蹒跚学步的孩子听。它们就像是基本的算术——我们每天都在用,甚至连想都不想。




  1.1 有监督学习

  经典机器学习通常分为两类:有监督学习(Supervised Learning)和无监督学习(Unsupervised Learning)。

  在“有监督学习”中,有一个“监督者”或者“老师”提供给机器所有的答案来辅助学习,比如图片中是猫还是狗。“老师”已经完成数据集的划分——标注“猫”或“狗”,机器就使用这些示例数据来学习,逐个学习区分猫或狗。

  无监督学习就意味着机器在一堆动物图片中独自完成区分谁是谁的任务。数据没有事先标注,也没有“老师”,机器要自行找出所有可能的模式。后文再讨论这些。

  很明显,有“老师”在场时,机器学的更快,因此现实生活中有监督学习更常用到。有监督学习分为两类:

  1)分类(classification),预测一个对象所属的类别;
  2)回归(regression),预测数轴上的一个特定点;

  分类(Classification)

  “基于事先知道的一种属性来对物体划分类别,比如根据颜色来对袜子归类,根据语言对文档分类,根据风格来划分音乐。”



  分类算法常用于:

  1)过滤垃圾邮件;
  2)语言检测;
  3)查找相似文档;
  4)情感分析
  5)识别手写字母或数字
  6)欺诈侦测

  常用的算法:

  1)朴素贝叶斯(Naive Bayes)
  2)决策树(Decision Tree)
  3)Logistic回归(Logistic Regression)
  4)K近邻(K-Nearest Neighbours)
  5)支持向量机(Support Vector Machine)

  机器学习主要解决“分类”问题。这台机器好比在学习对玩具分类的婴儿一样:这是“机器人”,这是“汽车”,这是“机器-车”……额,等下,错误!错误!

  在分类任务中,你需要一名“老师”。数据需要事先标注好,这样机器才能基于这些标签来学会归类。一切皆可分类——基于兴趣对用户分类,基于语言和主题对文章分类(这对搜索引擎很重要),基于类型对音乐分类(Spotify播放列表),你的邮件也不例外。

  朴素贝叶斯算法广泛应用于垃圾邮件过滤。机器分别统计垃圾邮件和正常邮件中出现的“伟哥”等字样出现的频次,然后套用贝叶斯方程乘以各自的概率,再对结果求和——哈,机器就完成学习了。




  后来,垃圾邮件制造者学会了如何应对贝叶斯过滤器——在邮件内容后面添加很多“好”词——这种方法被讽称为“贝叶斯中毒”(Bayesian poisoning)。朴素贝叶斯作为最优雅且是第一个实用的算法而载入历史,不过现在有其他算法来处理垃圾邮件过滤问题。

  再举一个分类算法的例子。

  假如现在你需要借一笔钱,那银行怎么知道你将来是否会还钱呢?没法确定。但是银行有很多历史借款人的档案,他们拥有诸如“年龄”、“受教育程度”、“职业”、“薪水”以及——最重要的——“是否还钱”这些数据。

  利用这些数据,我们可以训练机器找到其中的模式并得出答案。找出答案并不成问题,问题在于银行不能盲目相信机器给出的答案。如果系统出现故障、遭遇黑客攻击或者喝高了的毕业生刚给系统打了个应急补丁,该怎么办?

  要处理这个问题,我们需要用到决策树(Decision Trees),所有数据自动划分为“是/否”式提问——比如“借款人收入是否超过128.12美元?”——听起来有点反人类。不过,机器生成这样的问题是为了在每个步骤中对数据进行最优划分。



  “树”就是这样产生的。分支越高(接近根节点),问题的范围就越广。所有分析师都能接受这种做法并在事后给出解释,即使他并不清楚算法是怎么回事,照样可以很容易地解释结果(典型的分析师啊)!

  决策树广泛应用于高责任场景:诊断、医药以及金融领域。

  最广为人知的两种决策树算法是 CART 和 C4.5.

  如今,很少用到纯粹的决策树算法。不过,它们是大型系统的基石,决策树集成之后的效果甚至比神经网络还要好。这个我们后面再说。

  当你在Google上搜索时,正是一堆笨拙的“树”在帮你寻找答案。搜索引擎喜欢这类算法,因为它们运行速度够快。

  按理说,支持向量机(SVM) 应该是最流行的分类方法。只要是存在的事物都可以用它来分类:对图片中的植物按形状归类,对文档按类别归类等。

  SVM背后的思想很简单——它试图在数据点之间绘制两条线,并尽可能最大化两条线之间的距离。如下图示:



  分类算法有一个非常有用的场景——异常检测(anomaly detection),如果某个特征无法分配到所有类别上,我们就把它标出来。现在这种方法已经用于医学领域——MRI(磁共振成像)中,计算机会标记检测范围内所有的可疑区域或者偏差。股票市场使用它来检测交易人的异常行为以此来找到内鬼。在训练计算机分辨哪些事物是正确时,我们也自动教会其识别哪些事物是错误的。

  经验法则(rule of thumb)表明,数据越复杂,算法就越复杂。对于文本、数字、表格这样的数据,我会选择经典方法来操作。这些模型较小,学习速度更快,工作流程也更清晰。对于图片、视频以及其他复杂的大数据,我肯定会研究神经网络。

  就在5年前,你还可以找到基于SVM的人脸分类器。现在,从数百个预训练好的神经网络模型中挑选一个模型反而更容易。不过,垃圾邮件过滤器没什么变化,它们还是用SVM编写的,没什么理由去改变它。甚至我的网站也是用基于SVM来过滤评论中的垃圾信息的。

  回归(Regression)

  画一条线穿过这些点,嗯~这就是机器学习




  回归算法目前用于:

  1)股票价格预测
  2)供应和销售量分析
  3)医学诊断
  4)计算时间序列相关性

  常见的回归算法有:

  1)线性回归(Linear Regression)
  2)多项式回归(Polynomial Regression)

  “回归”算法本质上也是“分类”算法,只不过预测的是不是类别而是一个数值。比如根据行驶里程来预测车的价格,估算一天中不同时间的交通量,以及预测随着公司发展供应量的变化幅度等。处理和时间相关的任务时,回归算法可谓不二之选。

  回归算法备受金融或者分析行业从业人员青睐。它甚至成了Excel的内置功能,整个过程十分顺畅——机器只是简单地尝试画出一条代表平均相关的线。不过,不同于一个拿着笔和白板的人,机器是通过计算每个点与线的平均间隔这样的数学精确度来完成的这件事。




  如果画出来的是直线,那就是“线性回归”,如果线是弯曲的,则是“多项式回归”。它们是回归的两种主要类型。其他类型就比较少见了。不要被Logistics回归这个“害群之马”忽悠了,它是分类算法,不是回归。

  不过,把“回归”和“分类”搞混也没关系。一些分类器调整参数后就变成回归了。除了定义对象的类别外,还要记住对象有多么的接近该类别,这就引出了回归问题。

  1.2 无监督学习

  无监督学习比有监督学习出现得稍晚——在上世纪90年代,这类算法用的相对较少,有时候仅仅是因为没得选才找上它们。

  有标注的数据是很奢侈的。假设现在我要创建一个——比如说“公共汽车分类器”,那我是不是要亲自去街上拍上几百万张该死的公共汽车的照片,然后还得把这些图片一一标注出来?没门,这会花费我毕生时间,我在Steam上还有很多游戏没玩呢。

  这种情况下还是要对资本主义抱一点希望,得益于社会众包机制,我们可以得到数百万便宜的劳动力和服务。比如Mechanical Turk[2],背后是一群随时准备为了获得0.05美元报酬来帮你完成任务的人。事情通常就是这么搞定的。

  或者,你可以尝试使用无监督学习。但是印象中,我不记得有什么关于它的最佳实践。无监督学习通常用于探索性数据分析(exploratory data analysis),而不是作为主要的算法。那些拥有牛津大学学位且经过特殊训练的人给机器投喂了一大堆垃圾然后开始观察:有没有聚类呢?没有。可以看到一些联系吗?没有。好吧,接下来,你还是想从事数据科学工作的,对吧?

  聚类(Clustering)

  机器会选择最好的方式,基于一些未知的特征将事物区分开来。




  聚类算法目前用于:

  1)市场细分(顾客类型,忠诚度)
  2)合并地图上邻近的点
  3)图像压缩
  4)分析和标注新的数据
  5)检测异常行为

  常见算法:

  1)K均值聚类
  2)Mean-Shift
  3)DBSCAN

  聚类是在没有事先标注类别的前提下来进行类别划分。好比你记不住所有袜子的颜色时照样可以对袜子进行分类。聚类算法试图找出相似的事物(基于某些特征),然后将它们聚集成簇。那些具有很多相似特征的对象聚在一起并划分到同一个类别。有的算法甚至支持设定每个簇中数据点的确切数量。

  这里有个示范聚类的好例子——在线地图上的标记。当你寻找周围的素食餐厅时,聚类引擎将它们分组后用带数字的气泡展示出来。不这么做的话,浏览器会卡住——因为它试图将这个时尚都市里所有的300家素食餐厅绘制到地图上。

  Apple Photos和Google Photos用的是更复杂的聚类方式。通过搜索照片中的人脸来创建你朋友们的相册。应用程序并不知道你有多少朋友以及他们的长相,但是仍可以从中找到共有的面部特征。这是很典型的聚类。

  另一个常见的应用场景是图片压缩。当图片保存为PNG格式时,可以将色彩设置为32色。这就意味着聚类算法要找出所有的“红色”像素,然后计算出“平均红色”,再将这个均值赋给所有的红色像素点上。颜色更少,文件更小——划算!

  但是,遇到诸如 蓝绿 这样的颜色时就麻烦了。这是绿色还是蓝色?此时就需要K-Means算法出场啦。

  先随机从色彩中选出32个色点作为“簇心”,剩余的点按照最近的簇心进行标记。这样我们就得到了围绕着32个色点的“星团”。接着我们把簇心移动到“星团”的中心,然后重复上述步骤知道簇心不再移动为止。

  完工。刚好聚成32个稳定的簇形。

  给大家看一个现实生活中的例子:

  寻找簇心这种方法很方便,不过,现实中的簇并不总是圆形的。假如你是一名地质学家,现在需要在地图上找出一些类似的矿石。这种情形下,簇的形状会很奇怪,甚至是嵌套的。甚至你都不知道会有多少个簇,10个?100个?

  K-means算法在这里就派不上用场了,但是DBSCAN算法用得上。我们把数据点比作广场上的人,找到任何相互靠近的3个人请他们手拉手。接下来告诉他们抓住能够到的邻居的手(整个过程人的站立位置不能动),重复这个步骤,直到新的邻居加入进来。这样我们就得到了第一个簇,重复上述过程直到每个人都被分配到簇,搞定。

  一个意外收获:一个没有人牵手的人——异常数据点。

  整个过程看起来很酷。



  有兴趣继续了解下聚类算法?

  就像分类算法一样,聚类可以用来检测异常。用户登陆之后的有不正常的操作?让机器暂时禁用他的账户,然后创建一个工单让技术支持人员检查下是什么情况。说不定对方是个“机器人”。我们甚至不必知道“正常的行为”是什么样,只需把用户的行为数据传给模型,让机器来决定对方是否是个“典型的”用户。

  这种方法虽然效果不如分类算法那样好,但仍值得一试。

  降维(Dimensionality Reduction)

  “将特定的特征组装成更高级的特征 ”




  “降维”算法目前用于:

  1)推荐系统
  2)漂亮的可视化
  3)主题建模和查找相似文档
  4)假图识别
  5)风险管理

  常用的“降维”算法:

  1)主成分分析(Principal Component Analysis ,PCA)
  2)奇异值分解(Singular Value Decomposition ,SVD)
  3)潜在狄里克雷特分配( Latent Dirichlet allocation, LDA)
  4)潜在语义分析( Latent Semantic Analysis ,LSA, pLSA, GLSA),
  5)t-SNE (用于可视化)

  早年间,“硬核”的数据科学家会使用这些方法,他们决心在一大堆数字中发现“有趣的东西”。Excel图表不起作用时,他们迫使机器来做模式查找的工作。于是他们发明了降维或者特征学习的方法。



  将2D数据投影到直线上(PCA)

  对人们来说,相对于一大堆碎片化的特征,抽象化的概念更加方便。举个例子,我们把拥有三角形的耳朵、长长的鼻子以及大尾巴的狗组合出“牧羊犬”这个抽象的概念。相比于特定的牧羊犬,我们的确丢失了一些信息,但是新的抽象概念对于需要命名和解释的场景时更加有用。作为奖励,这类“抽象的”模型学习速度更快,训练时用到的特征数量也更少,同时还减少了过拟合。

  这些算法在“主题建模”的任务中能大显身手。我们可以从特定的词组中抽象出他们的含义。潜在语义分析(LSA)就是搞这个事情的,LSA基于在某个主题上你能看到的特定单词的频次。比如说,科技文章中出现的科技相关的词汇肯定更多些,或者政治家的名字大多是在政治相关的新闻上出现,诸如此类。

  我们可以直接从所有文章的全部单词中来创建聚类,但是这么做就会丢失所有重要的连接(比如,在不同的文章中battery 和 accumulator的含义是一样的),LSA可以很好地处理这个问题,所以才会被叫做“潜在语义”(latent semantic)。

  因此,需要把单词和文档连接组合成一个特征,从而保持其中的潜在联系——人们发现奇异值分解(SVD)能解决这个问题。那些有用的主题簇很容易从聚在一起的词组中看出来。



  推荐系统和协同过滤是另一个高频使用降维算法的领域。如果你用它从用户的评分中提炼信息,你就会得到一个很棒的系统来推荐电影、音乐、游戏或者你想要的任何东西。

  要完全理解这种机器上的抽象几乎不可能,但可以留心观察一些相关性:有些抽象概念和用户年龄相关——小孩子玩“我的世界”或者观看卡通节目更多,其他则可能和电影风格或者用户爱好有关。

  仅仅基于用户评分这样的信息,机器就能找出这些高等级的概念,甚至不用去理解它们。

  关联规则学习(Association rule learning)

  “在订单流水中查找模式”



  “关联规则”目前用于:

  1)预测销售和折扣
  2)分析“一起购买”的商品
  3)规划商品陈列
  4)分析网页浏览模式

  常用的算法:

  1)Apriori
  2)Euclat
  3)FP-growth

  用来分析购物车、自动化营销策略以及其他事件相关任务的算法都在这儿了。如果你想从某个物品序列中发现一些模式,试试它们吧。

  比如说,一位顾客拿着一提六瓶装的啤酒去收银台。我们应该在结账的路上摆放花生吗?人们同时购买啤酒和花生的频次如何?是的,关联规则很可能适用于啤酒和花生的情形,但是我们还可以用它来预测其他哪些序列? 能否做到在商品布局上的作出微小改变就能带来利润的大幅增长?

  这个思路同样适用电子商务,那里的任务更加有趣——顾客下次要买什么?

  不知道为啥规则学习在机器学习的范畴内似乎很少提及。经典方法是在对所有购买的商品进行正面检查的基础上套用树或者集合方法。算法只能搜索模式,但没法在新的例子上泛化或再现这些模式。

  现实世界中,每个大型零售商都会建立了自己专属的解决方案,所以这里不会为你带来革命。机器学习是什么提及的最高水平的技术就是推荐系统。


  第2部分。强化学习

  “将机器人扔进迷宫,让它找到出口”




  如今用于:

  1)自动驾驶汽车
  2)机器人吸尘器
  3)游戏类
  4)自动交易
  5)企业资源管理

  流行算法:Q-Learning,SARSA,DQN,A3C

  遗传算法最后,我们得到了看起来像真正的人工智能的东西。在很多文章中,强化学习被置于有监督和无监督学习之间。他们没有共同点!是因为名字吗如果您的问题根本与数据无关,但您有居住的环境,则可以使用强化学习。例如,视频游戏世界或无人驾驶汽车城市。世界上所有道路规则的知识都不会教自动驾驶仪如何在道路上行驶。

  无论我们收集了多少数据,我们仍然无法预见所有可能的情况。这就是为什么其目标是最大程度地减少错误,而不是预测所有动作。在环境中生存是强化学习的核心思想。将可怜的小机器人扔进现实生活中,对它的错误进行惩罚,并为正确的行为予以奖励。我们教孩子的方式也一样吧?这是更有效的方法-建立虚拟城市,让自动驾驶汽车首先从那里学习所有技巧。这就是我们现在训练自动驾驶仪的方式。

  根据真实地图创建虚拟城市,并挤满行人,让汽车学会杀死尽可能少的人。当机器人对这种人工GTA充满信心时,就可以在真实街道上进行测试了。好玩!可能有两种不同的方法-基于模型的方法和无模型的方法。基于模型的意思是汽车需要记住地图或其零件。这是一种非常过时的方法,因为可怜的自动驾驶汽车不可能记住整个星球。

  在无模型学习中,汽车不会记住所有动作,而是试图概括情况并理性地行动,同时获得最大的回报。





  还记得有关AI在围棋比赛中击败顶级玩家的新闻吗?尽管不久之前,事实证明该游戏中组合的数量大于宇宙中原子的数量。这意味着机器无法记住所有组合,因此赢得了围棋(就像国际象棋一样)。在每个转弯处,它只是简单地为每种情况选择了最佳举动,并且其表现足以胜过人类的肉袋。这种方法是Q学习及其衍生产品(SARSA和DQN)背后的核心概念。名称中的“ Q”代表“质量”,因为机器人学会了在每种情况下执行最“定性”的动作,并且所有情况都被记忆为简单的马尔可夫过程。



  这样的机器可以在虚拟环境中测试数十亿种情况,并记住哪些解决方案可以带来更大的回报。但是,如何将以前看到的情况与全新的情况区分开呢?如果无人驾驶汽车位于道路交叉口且交通信号灯变为绿色,这是否意味着它现在可以行驶了?如果有一辆救护车冲过附近的街道怎么办?今天的答案是“没人知道”。没有简单的答案。研究人员一直在寻找它,但同时只能找到解决方法。有些人会手动对所有情况进行硬编码,以使它们解决特殊情况,例如手推车问题。其他人会更深入,让神经网络来解决这个问题。这引导我们发展了称为深度Q网络(DQN)的Q学习。但是它们也不是灵丹妙药。强化学习对于一个普通人来说就像一个真正的人工智能。因为它使您感到哇,所以该机器可以在现实生活中做出决策!这个话题现在被大肆宣传,它以惊人的速度前进,并且与神经网络相交以更精确地清洁地板。惊人的技术世界!

  题外话。当我还是一个学生时,遗传算法(链接具有很酷的可视化效果)真的很流行。这是关于将一​​堆机器人扔到一个环境中,并使其尝试达到目标直至死亡。然后,我们选择最佳基因,进行杂交,突变一些基因,然后重新运行模拟。经过数十亿年,我们将得到一个智能生物。大概。最好的进化。遗传算法被认为是强化学习的一部分,并且其最重要的特征已通过十年的实践证明:没有人对此表示怀疑。人类仍然无法提出比其他方法更有效的任务。但是它们非常适合学生实验,让人们无需过多的工作就可以使他们的大学主管对“人工智能”感到兴奋。youtube也会喜欢它。

  第3部分。集合方法

  “一群愚蠢的树,学习彼此纠正错误”如今用于:




  1)符合经典算法方法的所有内容(但效果更好)
  2)搜索系统(★)
  3)计算机视觉
  4)物体检测

  流行算法:随机森林,梯度提升第4部分。神经网络和深度学习“我们有一个千层网络,数十个视频卡,但仍然不知道在哪里使用它。让我们生成猫的照片!”今天用于:

  1)替换以上所有算法
  2)照片和视频上的物体识别
  3)语音识别与合成
  4)图像处理,样式转换
  5)机器翻译

  流行的体系结构:Perceptron,卷积网络(CNN),递归网络(RNN)

  自动编码器结局:什么时候与机器打仗?这里的主要问题是“何时机器会比我们更智能并奴役所有人?”这一问题。最初是错误的。其中有太多隐藏的条件。我们说“变得比我们聪明”,就好像我们有一定的统一智力规模。它的顶部是人类,狗的位置略低,愚蠢的鸽子在底部徘徊。错了如果是这种情况,每个人都必须在所有事物中击败动物,但事实并非如此。普通的松鼠可以记住一千个带螺母的隐藏地方-我什至不记得我的钥匙在哪里。

机器学习是什么-AAA教育  那么,智力是一组不同的技能,而不是一个可衡量的价值吗?还是记得在智能中不包括那些藏匿坚果的地点?对我来说,一个更有趣的问题-我们为什么认为人脑的可能性有限?互联网上有许多流行的图形,其中的技术进步是指数式的,人类的可能性是不变的。但是吗?好的,您现在就可以将1680乘以950。我知道你什至不会尝试,懒蛋。但是给您一个计算器-您将在两秒钟内完成。这是否意味着计算器只是扩展了您的大脑功能?如果是,我可以继续使用其他计算机进行扩展吗?例如,在手机中使用笔记以不记得大量的数据吗?哦,好像我现在正在做。

相关推荐
数据分析知识分享:数据分析Excel必备技能有哪些数据分析知识分享:大数据分析常用pandas函数有哪些

快速回帖

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

联系客服 关注微信 下载APP 返回顶部 返回列表