机器学习 大数据 数据挖掘
机器学习是人工智能的一个分支,其中包括用于自动根据数据创建模型的方法或算法。 与通过遵循明确的规则执行任务的系统不同,机器学习系统从经验中学习。 基于规则的系统每次都会(无论好坏)以相同的方式执行任务,而通过将算法暴露给更多数据,可以通过训练来提高机器学习系统的性能。
机器学习算法通常分为有监督的 (训练数据用答案标记)和无监督的 (可能存在的标签未显示在训练算法中)。 监督式机器学习问题又分为分类 (预测非数字答案,例如错过抵押贷款的可能性)和回归 (预测数字答案,例如下个月在曼哈顿商店出售的小部件的数量)。
无监督学习可进一步分为聚类 (查找相似对象的组,例如跑鞋,步行鞋和正装鞋), 关联 (查找对象的常见序列,例如咖啡和奶油)和降维 (投影,特征选择) ,以及特征提取)。
我们每天都听到有关机器学习的应用的信息,尽管并非所有的应用都是非合金的成功。 无人驾驶汽车就是一个很好的例子,其任务范围从简单而成功(停车辅助和高速公路车道跟踪)到复杂多变(在城市环境中全面控制车辆,导致多人死亡)。
击败跳棋世界冠军的跳棋,象棋,将棋和围棋游戏机学习非常成功。 自动语言翻译在很大程度上取得了成功,尽管某些语言对的效果要好于其他语言对,而且人工翻译仍然可以改善许多自动翻译。
自动语音翻译对具有主流口音的人来说效果很好,但对具有较强区域或民族口音的人效果不佳; 性能取决于供应商使用的培训集。 社交媒体的自动情绪分析具有相当不错的成功率,这可能是因为训练集(例如,亚马逊产品评分,该评分将评论与数字评分结合在一起)非常大且易于访问。
自动筛选简历是一个有争议的领域。 亚马逊不得不撤回内部系统,原因是培训样本偏见导致亚马逊将所有女性的求职申请降级。
当前使用的其他简历筛选系统可能存在培训偏见,导致他们以法律上不应有的方式升级与“当前”员工相似的候选人(例如,来自高级英语社区的年轻,白人,男性候选人团体运动更有可能通过审查。 微软和其他公司的研究工作集中在消除机器学习中的隐性偏差 。
病理学和放射学图像的自动分类已经发展到可以协助(但不能代替)病理学家和放射学家检测某种异常的程度。 同时,面部识别系统在工作良好时(由于隐私考虑)既有争议,又对妇女和有色人种不如白人男性准确(由于培训人群的偏见)。
机器学习取决于将数据集转换为模型的多种算法。 哪种算法效果最好取决于您要解决的问题类型,可用的计算资源以及数据的性质。 无论使用哪种算法,都首先需要清理和处理数据。
让我们讨论每种问题的最常用算法。
分类问题是有监督的学习问题,要求在两个或多个班级之间进行选择,通常为每个班级提供概率。 除了需要大量计算资源的神经网络和深度学习外,最常见的算法是朴素贝叶斯,决策树,逻辑回归,K最近邻和支持向量机(SVM)。 您还可以使用集成方法(模型的组合),例如,Random Forest,其他装袋方法以及增强方法(例如,AdaBoost和XGBoost)。
回归问题是有监督的学习问题,要求模型预测数字。 最简单,最快的算法是线性(最小二乘)回归,但您不应止步于此,因为它通常会给您带来中等的结果。 其他常见的机器学习回归算法(缺少神经网络)包括朴素贝叶斯,决策树,K最近邻,LVQ(学习矢量量化),LARS套索,弹性网,随机森林,AdaBoost和XGBoost。 您会注意到,用于回归和分类的机器学习算法之间存在一些重叠。
聚类问题是一种无监督的学习问题,它要求模型查找相似数据点的组。 最受欢迎的算法是K-Means聚类; 其他包括均值漂移聚类,DBSCAN(基于噪声的应用程序基于空间的聚类),GMM(高斯混合模型)和HAC(分层聚类)。
降维是一个无监督的学习问题,它要求模型删除或组合对结果影响很小或没有影响的变量。 这通常与分类或回归结合使用。 降维算法包括删除具有许多缺失值的变量,删除具有低方差的变量,决策树,随机森林,删除或组合具有高相关性的变量,后向特征消除,前向特征选择,因子分析和PCA(主成分分析)。
训练和评估可以通过优化参数加权来找到有监督的学习算法,从而找到最符合您数据真实性的一组值。 这些算法的优化程序通常依赖于最速下降的变体,例如随机梯度下降(SGD),它实际上是从随机起始点执行多次的最速下降。
对SGD的常见改进增加了一些因素,这些因素可以根据动量来校正梯度的方向,或者根据从一次遍历数据(称为历元或一批)到下一次遍历的进度来调整学习率。
神经网络的灵感来自生物视觉皮层的结构。 深度学习是用于在神经网络中进行学习的一组技术,其中涉及大量的“隐藏”层来识别特征。 隐藏层位于输入和输出层之间。 每层由人工神经元组成,通常具有S型或ReLU(整流线性单位)激活功能。
在前馈网络中,神经元被组织为不同的层:一个输入层,任意数量的隐藏处理层和一个输出层,并且每一层的输出仅进入下一层。
在具有快捷连接的前馈网络中,某些连接可以跳过一个或多个中间层。 在递归神经网络中,神经元可以直接或通过下一层间接影响自己。
与其他任何机器学习一样,可以进行神经网络的监督学习:向网络展示训练数据组,将网络输出与所需输出进行比较,生成误差向量,并根据误差向量对网络进行校正,通常使用反向传播算法。 在应用校正之前一起运行的一批训练数据称为时期。
与所有机器学习一样,您需要对照单独的测试数据集检查神经网络的预测。 否则,您可能会冒险创建仅记住其输入而不学习成为广义预测器的神经网络。
视觉神经网络领域的突破是Yann LeCun的1998 LeNet-5 ,这是一个七级卷积神经网络 (CNN),用于识别32x32像素图像中数字化的手写数字。 为了分析更高分辨率的图像,网络将需要更多的神经元和更多的层。
卷积神经网络通常使用卷积,池化,ReLU,完全连接和丢失层来模拟视觉皮层。 卷积层基本上采用许多小的重叠区域的积分。 池化层执行非线性下采样的形式。 我前面提到的ReLU层应用了非饱和激活函数f(x) = max(0,x)
。
在完全连接的层中,神经元与上一层中的所有激活都具有完全的连接。 损失层使用Softmax或交叉熵损失进行分类,或使用欧几里得损失进行回归,计算网络训练如何惩罚预测标签与真实标签之间的偏差。
自然语言处理(NLP)是深度学习的另一个主要应用领域。 除了Google Translate解决的机器翻译问题外,主要的NLP任务还包括自动摘要,共参考解析,语篇分析,形态学分割,命名实体识别,自然语言生成,自然语言理解,词性标注,情感分析和语音识别。
除了CNN,NLP任务通常通过递归神经网络(RNN)进行处理,其中包括长短期记忆(LSTM)模型。
深度神经网络中的层越多,在CPU上训练模型所需的计算就越多。 神经网络的硬件加速器包括GPU,TPU和FPGA。
强化学习训练的演员或代理人回应中,通常通过试验和错误最大化一定的价值 ,这是一种环境 。 这不同于有监督的学习和无监督的学习,但通常与它们结合在一起。
例如, DeepMind的AlphaGo为了学习玩(动作)围棋(环境)游戏,首先学会了从大量历史游戏数据中模拟人类围棋玩家(徒弟学习)。 然后,通过与自己的独立实例进行大量的围棋游戏,通过反复试验(强化学习)来改善其玩法。
机器人控制是用深度强化学习方法(即强化学习和深度神经网络)攻击的另一个问题,深度神经网络通常是经过训练的CNN,可以从视频帧中提取特征。
如何创建机器学习模型? 您首先需要清理和整理数据,然后继续进行特征工程,然后尝试每种有意义的机器学习算法。 对于某些类别的问题,例如视觉和自然语言处理,可能有效的算法涉及深度学习。
野外没有干净的数据。 为了对机器学习有用,必须积极过滤数据。 例如,您将要:
您可以做更多的事情,但这取决于收集的数据。 这可能很乏味,但是如果您在机器学习管道中设置了数据清理步骤,则可以随意修改并重复进行。
要将分类数据用于机器分类,您需要将文本标签编码为另一种形式。 有两种常见的编码。
一种是标签编码 ,这意味着每个文本标签值都用数字代替。 另一种是一键编码 ,这意味着每个文本标签值都将变成具有二进制值(1或0)的列。 大多数机器学习框架都具有为您进行转换的功能。 通常,单热编码是首选,因为标签编码有时会使机器学习算法混淆,以为编码列是有序的。
翻译自: https://www.infoworld.com/article/3214424/what-is-machine-learning-intelligence-derived-from-data.html
机器学习 大数据 数据挖掘