关于机器学习,不可不知的15个概念
作者:布奇·昆托(Butch Quinto)
来源:大数据DT(ID:hzdashuju)
有监督学习
有监督学习是利用训练数据集进行预测的机器学习任务。有监督学习可以分为分类和回归。回归用于预测“价格”“温度”或“距离”等连续值,而分类用于预测“是”或“否”、“垃圾邮件”或“非垃圾邮件”、“恶性”或“良性”等类别。
分类包含三种类型的分类任务:二元分类、多类别分类和多标签分类。回归中包含线性回归和生存回归。
无监督学习
无监督学习是一种机器学习任务,它在不需要标记响应的情况下发现数据集中隐藏的模式和结构。当你只能访问输入数据,而训练数据不可用或难以获取时,无监督学习是理想的选择。常用的方法包括聚类、主题建模、异常检测、推荐和主成分分析。
半监督学习
在某些情况下,获取标记数据是昂贵且耗时的。在响应标记很少的情况下,半监督学习结合有监督和无监督学习技术进行预测。在半监督学习中,利用未标记数据对标记数据进行扩充以提高模型准确率。
强化学习
强化学习试图通过不断从尝试的过程和错误的结果来进行学习,确定哪种行为能带来最大的回报。强化学习有三个组成部分:智能体(决策者或学习者)、环境(智能体与之交互的内容)和行为(智能体可以执行的内容)。这类学习通常用于游戏、导航和机器人技术。
深度学习
深度学习是机器学习和人工智能的一个分支,它使用深度的、多层的人工神经网络。最近人工智能领域的许多突破都归功于深度学习。
神经网络
神经网络是一类类似于人脑中相互连接的神经元的算法。一个神经网络包含多层结构,每一层由相互连接的节点组成。通常有一个输入层、一个或多个隐藏层和一个输出层。
卷积神经网络
卷积神经网络(convnet或CNN)是一种特别擅长分析图的神经网络(尽管它们也可以应用于音频和文本数据)。卷积神经网络各层中的神经元按高度、宽度和深度三个维度排列。我将在第7章更详细地介绍深度学习和深度卷积神经网络。
模型评估
在分类中,每个数据点都有一个已知的标签和一个模型生成的预测类别。通过比较已知的标签和预测类别为每个数据点进行划分,结果可以分为四个类别:
真阳性(TP),预测类别和标签均为阳性;
真阴性(TN),预测类别和标签均为阴性;
假阳性(FP),预测类别为阳性但标签为阴性;
假阴性(FN),预测类别为阴性但标签为阳性。
这四个值构成了大多数分类任务评估指标的基础。它们通常在一个叫作混淆矩阵的表格中呈现(如表1-1)。
▼表1-1 混淆矩阵
准确率
准确率是分类模型的一个评估指标。它定义为正确预测数除以预测总数。
在数据集不平衡的情况下,准确率不是理想的指标。举例说明,假设一个分类任务有90个阴性和10个阳性样本;将所有样本分类为阴性会得到0.90的准确率分数。精度和召回率是评估用例不平衡数据的训练模型的较好指标。
精度
精度定义为真阳性数除以真阳性数加上假阳性数的和。精度表明当模型的预测为阳性时,模型正确的概率。例如,如果你的模型预测了100个癌症的发生,但是其中10个是错误的预测,那么你的模型的精度是90%。在假阳性较高的情况下,精度是一个很好的指标。
召回率
召回率是一个很好的指标,可用于假阴性较高的情况。召回率的定义是真阳性数除以真阳性数加上假阴性数的和。
F1度量
F1度量或F1分数是精度和召回率的调和平均值或加权平均值。它是评估多类别分类器的常用性能指标。在类别分布不均的情况下,这也是一个很好的度量。最好的F1分数是1,而最差的分数是0。一个好的F1度量意味着你有较低的假阴性和较低的假阳性。F1度量定义如下:
AUROC
接收者操作特征曲线下面积(AUROC)是评估二元分类器性能的常用指标。接收者操作特征曲线(ROC)是依据真阳性率与假阳性率绘制的图。曲线下面积(AUC)是ROC曲线下的面积。
在对随机阳性样本和随机阴性样本进行预测时,将阳性样本预测为阳性的概率假设为P0,将阴性样本预测为阳性的概率假设为P1,AUC就是P0大于P1的概率。曲线下的面积越大(AUROC越接近1.0),模型的性能越好。AUROC为0.5的模型是无用的,因为它的预测准确率和随机猜测的准确率一样。
过拟合与欠拟合
模型性能差是由过拟合或欠拟合引起的。
过拟合是指一个模型太适合训练数据。过拟合的模型在训练数据上表现良好,但在新的、看不见的数据上表现较差。
过拟合的反面是欠拟合。由于拟合不足,模型过于简单,没有学习训练数据集中的相关模式,这可能是因为模型被过度规范化或需要更长时间的训练。
模型能够很好地适应新的、看不见的数据,这种能力被称为泛化。这是每个模型优化练习的目标。
防止过拟合的几种方法包括使用更多的数据或特征子集、交叉验证、删除、修剪、提前停止和正则化。对于深度学习,数据增强是一种常见的正则化形式。
为了减少欠拟合,建议选择添加更多相关的特征。对于深度学习,考虑在一个层中添加更多的节点或在神经网络中添加更多的层,以增加模型的容量。
模型选择
模型选择包括评估拟合的机器学习模型,并尝试用用户指定的超参数组合来拟合底层估计器,再输出最佳模型。通过使用Spark MLlib,模型选择由CrossValidator和TrainValidationSplit估计器执行。
CrossValidator对超参数调整和模型选择执行k-fold交叉验证和网格搜索。它将数据集分割成一组随机的、不重叠的分区,作为训练和测试数据集。例如,如果k=3,k-fold交叉验证将生成3对训练和测试数据集(每一对仅用作一次测试数据集),其中每一对使用2/3作为训练数据,1/3用于测试。
TrainValidationSplit是用于超参数组合的另一种估计器。与k-fold交叉验证(这是一个昂贵的操作)相反,TrainValidationSplit只对每个参数组合求值一次,而不是k次。
关于作者:布奇·昆托(Butch Quinto),在银行与金融、电信、政府部门、公共事业、交通运输、电子商务、零售业、制造业和生物信息学等多个行业拥有20多年的技术和领导经验。他是Next-Generation Big Data(Apress,2018)的作者,也是人工智能促进协会(AAAI)和美国科学促进会(AAAS)的成员。
本文摘编自《基于Spark的下一代机器学习》。
推荐阅读
后疫情时代,RTC期待新的场景大爆
蓝色起源载人火箭7月首飞,贝索斯即将实现儿时愿望
干货!机器学习中,如何优化数据性
你的 AI 算法模型安全吗?来 AI 安全测试基准平台测试
点个“在看”,宠我一下
相关文章:

常用API(Object、String、StringBuffer、用户登陆注册)
常用API 今日内容介绍 u Object u String u StringBuilder 第1章 Java的API及Object类 在以前的学习过程中,我们都在学习对象基本特征、对象的使用以及对象的关系。接下来我们开始使用对象做事情,那么在使用对象做事情之前,我们要学习一些API…

WMI列出磁盘配额
using System; using System.Management; namespace DiskQuota { /// <summary> /// Class1 的摘要说明。 /// </summary> class Class1 { /// <summary> /// 应用程序的主入口点。 /// </summary> [STAThread] static void Main(string[] args) { try…

VS2013 编译使用 stlport
1. 下载stlport. 下载地址:http://sourceforge.net/projects/stlport/ 2. 解压到一个目录下面, 我的是解压到D:\project_kuku\program\library\STLport-5.2.1 3. 打开vs2013的命令行工具, 在目录:C:\Program Files\Microsoft Visual Studio 12.0\Common7\Tools\Shortcuts\ 下…

盛夏海边,用Python分析青岛哪些景点性价比高
作者 | 志斌来源 | 志斌的python笔记头图 | 付费下载于 IC Photo在经过几年的热潮之后,人工智能AI算法已经在各行各业广泛使用了。例如在工业制造中,利用人工智能监测仪器仪表、人员的违规与高危行为;利用图形AI算法进行材料质检;…

EnterLib PIAB又一个BUG?
在《这是EnterLib PIAB的BUG吗?》一文中我们讨论了PIAB关于抽象基类的BUG,今天又发现了一个新的问题。问题的起因源于《IoCAOP的简单实现》这篇文章,因为文中给出的解决方案仅仅支持构造器注入(Constructor Injection)…

【SQL Server】系统学习之一:表表达式
本节讨论的相关内容包括:视图、派生表、CTE、内联表值函数 场景:如果要查询一组数据(例如聚合数据,也就是几个表聚合在一起的数据),这些数据并未在数据库中以表的形式存在。 1、视图:通常用来分…

C语言中字符数组和字符串指针分析
写下面的测试程序:#include <stdio.h> int main(int argc, char *argv[]){char day[15] "abcdefghijklmn"; char* strTmp "opqrstuvwxyz";printf("&day is %x\n",&day); printf("&day[0] is %x\n",&…

这篇论文,透露谷歌团队构想的“未来搜索”
作者 | 青苹果来源 | 数据实战派头图 | 付费下载于 IC Photo传统的信息检索(IR, Information Retrieval)系统,并不直接回应信息需求,而仅提供对内容的参考。排序(Ranking)是该范式的关键组成部分。这样的检…

selenium+python自动化81-html报告优化(饼图+失败重跑+兼容python23)
优化html报告 为了满足小伙伴的各种变态需求,为了装逼提升逼格,为了让报告更加高大上,测试报告做了以下优化: 测试报告中文显示,优化一些断言失败正文乱码问题新增错误和失败截图,展示到html报告里优化点击…

C#的多线程机制
一.多线程的概念 Windows是一个多任务的系统,如果你使用的是windows 2000及其以上版本,你可以通过任务管理器查看当前系统运行的程序和进程。什么是进程呢?当一个程序开始运行时,它就是一个进程,进程所指包括运行中…

知乎 CTO 李大海:创业公司如何拥抱开源
由计算机学会主办的 CCF C 活动近日走进知乎。知乎合伙人兼 CTO 李大海、搜狗 CEO 王小川、华东师范大学教授王伟在内的企业界、学界技术代表齐聚,带来一场精彩的技术分享盛宴。 围绕「创业公司如何拥抱开源」的分享主题,知乎合伙人兼 CTO 李大海首次披…

如何居中一个浮动元素?
2019独角兽企业重金招聘Python工程师标准>>> 1.<!DOCTYPE html> <html> <head> <meta charset"UTF-8"> <title>center</title> <style type"text/css"> .p{ position:relative; float:left; left:50…

javascript promise编程
在loop中使用promise: https://stackoverflow.com/questions/17217736/while-loop-with-promises 转载于:https://www.cnblogs.com/kidsitcn/p/7745973.html

bzoj1295
考虑到这道题n,m都很小,我们考虑先穷举起点i 下面我们要做的是找出移走k个障碍后,点i所能到的最大距离 我们可以把这个问题转化为判定性问题 对于一对点i,j,如果他们之间存在一条路径,障碍数(包括起点终点)…

C#程序可将文本文件藏于位图中,也可导出
//使用方法: // BmpSafe.exe /file2bmp (input BMP) (input file to hide) [output file] //BmpSafe.exe /bmp2file (data BMP) [output file] using System; using System.IO; using System.Drawing; public class Bitmap24Writer { protected Bitmap bmp; …

溢价 5 倍欲将 SiFive 收入麾下,英特尔的绝地反击战
作者 | 马超责编 | 张红月出品 | CSDN(ID:CSDNnews)受任于败军之际,奉命于危难之间。近几年硅谷史上的传奇、英特尔几位掌门葛洛夫与欧德宁相继离世,虽然他们早已脱离一线多年,但是他们的离去可能还是让英特…
教你用Vue渐进式搭建聊天室,从JavaScript=TypeScript
前言 VueSocket.io这个轮子已经有很多人造过了,为了不重复造轮子,我将本项目以三阶段实现(大家可以在github中的Releases查看): 纯前端(Vuex)后端前端(JavaScript)后端前…

如何学习linux编程
如果想学习UNIX/LINUX的编程,《APUE》绝对经典的教材,加深一下功底,学习《UNP》的第二卷。这样基本上系统方面的就可以掌握了。如果继续网络编程,建议看《TCP/IP进行网际互连》的第三卷,里面有很多关于应用协议telnet、…

HTML中的form表单有一个关键属性 enctype
HTML中的form表单有一个关键属性 enctype=application/x-www-form-urlencoded 或multipart/form-data。 1、enctype"application/x-www-form-urlencoded"是默认的编码方式,当以这种方式提交数据时,HTTP报文中的内容是: …

赠书 | JavaScript 武力值飙升!用 TensorFlow.js 轻松在浏览器里搞深度学习
近年来,AI 与人类的生活越来越紧密,慢慢变得无处不在。那么提到 AI ,我们会想到什么?小编最先想到的是机器人。早在小学作文中,我就写到 2021 年到处都是机器人,机器人汽车到处飞。结果 2021 年到来&#x…

[译] JWT 与 Spring Cloud 微服务
keyholesoftware.com/2016/06/20/…作者:THOMAS KENDALL译者:oopsguy.com 微服务安全是架构的一个重要部分。具体来说,就是认证和授权模式。 微服务认证和授权处理方式有几种选择,但本文只介绍 JSON Web Token 的使用。 JSON Web …

20步打造最安全的Nginx Web服务器
Nginx是一个轻量级的,高性能的Web服务器以及反向代理和邮箱(IMAP/POP3)代理服务器。它运行在UNIX,GNU/Linux,BSD各种版本,Mac OS X,Solaris和Windows。根据调查统计,6%的网站使用Nginx Web服务器。Nginx是少数能处理C10K问题的服务器之一。跟…

C#创建和调用DLL
一、写在前面 C# 语言是一种简单但功能强大的编程语言,用于编写企业应用程序。 C# 语言从C和 C语言演化而来,在语句、表达式和运算符方面使用了许多 C 功能。 C# 语言在类型安全性、版本转换、事件和垃圾回收等方面进行了相当大的改进和创新。 C# 语言提…

死磕算法!35 篇算法设计实例+6 本必读书打包送你
算法为什么难学?算法在程序中扮演着非常重要的角色,有人将数据结构比喻为程序的骨架,将算法比喻为程序的灵魂,这一点也不为过,正是因为这一点,很多朋友都立志要学好算法,但是我常常看到各种抱怨…

EXCHANGE证书
证书: CA(证书颁发机构)和证书有什么区别? CA:是服务器中的一个服务,主要是用来为计算机(用户)来颁发证书,安装CA的服务器称为证书服务器, 证书:从…

C#2.0模拟List和内置算法
C#中的范型对于很多从C转过来的程序员来说,可以说是一个天大的喜讯。hehe,至少笔者对于这个新特性是充满了敬仰之情。 在C#2.0中,匿名方法、IEnumerable接口和匿名方法的合作,使很多的编程任务变得非常的简单,而且写出…

横扫六大权威榜单后,达摩院开源深度语言模型体系 AliceMind
整理 | AI 科技大本营(ID:rgznai100)自然语言处理(NLP)被誉为 AI 皇冠上的明珠,传统 NLP 模型制作复杂,耗时耗力,且用途单一,难以复用。预训练语言模型是 NLP 领域的研究热点之一&am…

WP8:Unity3D之间的值传递
原地址:http://www.cnblogs.com/zhxilin/p/3799210.html 在前面的讨论中,我们介绍了如何在Unity3D for WP8中使用高于.Net 3.5的第三方库,传送门:http://www.cnblogs.com/zhxilin/p/3311240.html 在Unity3D和WP8的交互当中,如果要…

未来的程序员面临着怎样的职业变化
作为程序员,我们总是身处于如万花筒般变化无常的技术世界里。我们可能也是那群能够最早感知到科技变化所带来巨大影响的人。然而,面对这一波又一波向我们袭来的技术变革,我们是否也能从中窥见一丝规律,从而使自己更好地应对未来呢…

C#中使用Win32和其他库
C# 用户经常提出两个问题:“我为什么要另外编写代码来使用内置于 Windows 中的功能?在框架中为什么没有相应的内容可以为我完成这一任务?”当框架小组构建他们的 .NET 部分时,他们评估了为使 .NET 程序员可以使用 Win32 而需要完成…