前言: 应出版社约稿,计划出个机器学习及深度学习通俗序列文章,不足之处还请多提建议。

4.1 机器学习简介

机器学习看似高深的术语,其实就在生活中,古语有云:“一叶落而知天下秋”,意思是从一片树叶的凋落,就可以知道秋天将要到来。这其中蕴含了朴素的机器学习的思想,揭示了可以通过学习对“落叶”特征的经验,预判秋天的到来。

机器学习作为人工智能领域的核心组成,是非显式的计算机程序学习数据经验以优化自身算法,以学习处理任务的过程。一个经典的机器学习的定义是:A computer program is said to learn from experience E with respect to some class of tasks T and performance measure P, if its performance at tasks in T, as measured by P, improves with experience E.(一个计算机程序在处理任务T上的指标表现P可以随着学习经验E积累而提高。)

如图4.1 ,任务T即是机器学习系统如何正确处理数据样本。指标表现P即是衡量任务正确处理的情况。经验E可以体现在模型学习处理任务后的自身的参数值。模型参数意义即如何对各特征的有效表达以处理任务。

进一步的,机器学习的过程一般可以概括为:计算机程序基于给定的、有限的学习数据出发(常基于每条数据样本是独立同分布的假设),选择某个的模型方法(即假设要学习的模型属于某个函数的集合,也称为假设空间),通过算法更新模型的参数值(经验),以优化处理任务的指标表现,最终学习出较优的模型,并运用模型对数据进行分析与预测以完成任务。由此可见,机器学习方法有四个要素:

  • 数据

  • 模型

  • 学习目标

  • 优化算法

我们通过将机器学习方法归纳为四个要素及其相应地介绍,便于更好地理解各种算法原理的共性所在,而不是独立去理解各式各样的机器学习方法。

4.1.1 数据

数据是机器学习方法的基础的原料,它通常由一条条数据(每一行)样本组成,样本由描述其各个维度信息的特征及目标值标签(或无)组成。如图4.2所示癌细胞分类任务的数据集:

4.1.2 模型

学习到“好”的模型是机器学习的直接目的。机器学习模型简单来说,即是学习数据特征与标签的关系或者学习数据特征内部的规律的一个函数。

机器学习模型可以看作是(如图4.3):首先选择某个的模型方法,再从数据样本(x,(y))中学习,优化模型参数w以调整各特征的有效表达,最终获得对应的决策函数f( x; w )。该函数将输入变量 x 在参数w作用下映射到输出预测Y,即Y= f(x; w)。

4.1.3 学习目标

学习到“好”的模型,“好”即是模型的学习目标。“好”对于模型也就是预测值与实际值之间的误差尽可能的低。具体衡量这种误差的函数称为代价函数 (Cost Function)或者损失函数(Loss Function),我们即通过以极大化降低损失函数为目标去学习模型。

对于不同的任务目标,往往也需要用不同损失函数衡量,经典的损失函数如:回归任务的均方误差损失函数及分类任务的交叉熵损失函数等。

  • 均方误差损失函数

衡量模型回归预测的误差情况,我们可以简单地用所有样本的预测值减去实际值求平方后的平均值,这也就是均方误差(Mean Squared Error)损失函数。

  • 交叉熵损失函数

衡量分类预测模型的误差情况,常用极大似然估计法推导出的交叉熵损失函数。通过极小化交叉熵损失,使得模型预测分布尽可能与实际数据经验分布一致。

4.1.4 优化算法

有了极大化降低损失函数为目标去学习“好”模型,而如何达到这目标?我们第一反应可能是直接求解损失函数最小值的解析解,获得最优的模型参数。遗憾的是,机器学习模型的损失函数通常较复杂,很难直接求最优解。幸运的是,我们可以通过优化算法(如梯度下降算法、牛顿法等)有限次迭代优化模型参数,以尽可能降低损失函数的值,得到较优的参数值(数值解)。梯度下降算法如图4.4,可以直观理解成一个下山的过程,将损失函数J(w)比喻成一座山,我们的目标是到达这座山的山脚(即求解最优模型参数w使得损失函数为最小值)。

要做的无非就是“往下坡的方向走,走一步算一步”,而下坡的方向也就是J(w)负梯度的方向,在每往下走到一个位置的时候,求解当前位置的梯度,向这一步所在位置沿着最陡峭最易下山的位置再走一步。这样一步步的走下去,一直走到觉得我们已经到了山脚。

当然这样走下去,有可能我们不是走到山脚(全局最优),而是到了某一个的小山谷(局部最优),这也后面梯度下降算法的调优的地方。

对应到算法步骤:

小结

本文我们首先介绍了机器学习的基本概念,并概括机器学习的一般过程:从数据出发,通过设定了任务的学习目标,使用算法优化模型参数去达到目标。由此,重点引出了机器学习的四个组成要素(数据、模型、学习目标及优化算法),接下来我们会进一步了解机器学习算法的类别。


文章首发于算法进阶,公众号阅读原文可访问[GitHub项目源码]


往期精彩回顾适合初学者入门人工智能的路线及资料下载机器学习及深度学习笔记等资料打印机器学习在线手册深度学习笔记专辑《统计学习方法》的代码复现专辑
AI基础下载机器学习的数学基础专辑黄海广老师《机器学习课程》课件合集
本站qq群851320808,加入微信群请扫码:

【机器学习】一篇白话机器学习概念相关推荐

  1. 【阶段三】Python机器学习30篇:机器学习项目实战:智能推荐系统的基本原理与计算相似度的常用方法

    本篇的思维导图: 智能推荐系统模型 智能推荐系统属于非监督式学习,是机器学习一个非常重要的应用领域,它能带来的经济价值往往是直接且非常可观的. 智能推荐系统的基本原理 智能推荐系统的应用场景 互联网每 ...

  2. 白话机器学习算法理论+实战番外篇之LightGBM

    1. 写在前面 如果想从事数据挖掘或者机器学习的工作,掌握常用的机器学习算法是非常有必要的,在这简单的先捋一捋, 常见的机器学习算法: 监督学习算法:逻辑回归,线性回归,决策树,朴素贝叶斯,K近邻,支 ...

  3. 【白话机器学习】算法理论+实战之LightGBM算法

    1. 写在前面 如果想从事数据挖掘或者机器学习的工作,掌握常用的机器学习算法是非常有必要的,在这简单的先捋一捋, 常见的机器学习算法: 监督学习算法:逻辑回归,线性回归,决策树,朴素贝叶斯,K近邻,支 ...

  4. 【白话机器学习】算法理论+实战之PageRank算法

    1. 写在前面 如果想从事数据挖掘或者机器学习的工作,掌握常用的机器学习算法是非常有必要的,常见的机器学习算法: 监督学习算法:逻辑回归,线性回归,决策树,朴素贝叶斯,K近邻,支持向量机,集成算法Ad ...

  5. 【白话机器学习】算法理论+实战之关联规则

    1. 写在前面 如果想从事数据挖掘或者机器学习的工作,掌握常用的机器学习算法是非常有必要的,常见的机器学习算法: 监督学习算法:逻辑回归,线性回归,决策树,朴素贝叶斯,K近邻,支持向量机,集成算法Ad ...

  6. 【白话机器学习】算法理论+实战之EM聚类

    1. 写在前面 如果想从事数据挖掘或者机器学习的工作,掌握常用的机器学习算法是非常有必要的,常见的机器学习算法: 监督学习算法:逻辑回归,线性回归,决策树,朴素贝叶斯,K近邻,支持向量机,集成算法Ad ...

  7. 【白话机器学习】算法理论+实战之朴素贝叶斯

    1. 写在前面 如果想从事数据挖掘或者机器学习的工作,掌握常用的机器学习算法是非常有必要的,常见的机器学习算法: 监督学习算法:逻辑回归,线性回归,决策树,朴素贝叶斯,K近邻,支持向量机,集成算法Ad ...

  8. 【白话机器学习】算法理论+实战之支持向量机(SVM)

    1. 写在前面 如果想从事数据挖掘或者机器学习的工作,掌握常用的机器学习算法是非常有必要的, 常见的机器学习算法: 监督学习算法:逻辑回归,线性回归,决策树,朴素贝叶斯,K近邻,支持向量机,集成算法A ...

  9. 【白话机器学习】算法理论+实战之决策树

    1. 写在前面 如果想从事数据挖掘或者机器学习的工作,掌握常用的机器学习算法是非常有必要的, 常见的机器学习算法: 监督学习算法:逻辑回归,线性回归,决策树,朴素贝叶斯,K近邻,支持向量机,集成算法A ...

最新文章

  1. virt-v2v 使用指南
  2. 改变select元素原来的事件属性,并加快捷键
  3. Linux学习笔记-匿名和命名管道读写的相同点及不同点
  4. 图鸭科技重金揽才-深度学习优化研究员
  5. centos php 5.2,CentOS服务器单独升级 php5.1 到 5.2版本
  6. c++builder 代码格式化工具 AStyle
  7. JAVA调用U盾进行客户认证实例
  8. 微信小程序开发:微信小程序里面集成百度地图的步骤
  9. readxmls r语言_R语言批量爬取NCBI基因注释数据
  10. html中文字不自动换行 white-space style
  11. Clion 调教记录
  12. Redis过期键的删除策略
  13. java项目日志打印总结
  14. 楷书书法规则_硬笔书法中楷书结构八条原则
  15. 查看ssh和防火墙的状态 开启ssh服务 关闭防火墙
  16. 抖音seo源码,抖音seo矩阵系统源码技术搭建
  17. 汇编语言程序设计——仿win7计算器(功能部分)
  18. 30支队伍将在阿布扎比角逐奖金达500万美元的2020年穆罕默德-本-扎耶德国际机器人挑战赛
  19. ValueError: [E030] Sentence boundaries unset. You can add the 'sentencizer' component to the pipelin
  20. 身份证验证信息15位或18位

热门文章

  1. 树莓派-语音聊天机器人+语音控制引脚电平高低
  2. 在Spring Controller中将数据缓存到session
  3. 【Wicket是个什么鬼】wicket框架URL路由规则
  4. Apache URL重写的配置 及其 apache500错误
  5. 内联函数与普通函数、成员函数与静态函数的区别(知识整理)
  6. dos批处理命令详解
  7. Sublime Text编辑工具带有 PEP 8 格式检测插件
  8. python学习之 字符串前'r'的用法
  9. obj.toSource()
  10. 【牢骚】360,你怎么对待别人,别人就怎么对待你。