01_机器学习介绍

1. 概述

本文主要是了解机器学习的一些相关概念,并且明确机器学习的相关技术和相关流程。

1.1 什么是机器学习

机器学习是一门能够让编程计算机从数据中学习的计算机科学。
一个计算机程序在完成任务T之后,获得经验E,其表现效果为P,如果任务T的性能表现,也就是用以衡量的P,随着E增加而增加,那么这样计算机程序就被称为机器学习系统。是一个自我完善,自我增进,自我适应的学习系统。

1.2 机器学习相关概念

机器学习(Machine learning,简称ML):通过分析和计算数据来归纳出数据中普遍规律,从而改善系统性能,让机器拥有“学习”的能力。

深度学习(Deep Learning,简称DL):是深度学习的一个领域分支,通过复杂的人工神经网络,对更复杂的数据进行训练(包括图片、语音、文字等非结构化数据)。

人工智能(Artificial Intelligence,简称AI):这是机器学习最初的目标,希望机器通过机器学习模型,在训练过程中优化算法,从而获得稳定准确的输出。

模型(model):需要学习的决策函数或者条件概率分布。

算法(algorithm):不同于传统的数据结构与算法,也不是平常所指的机器学习算法(实际上指的是模型),机器学习中的算法指的是最优化方法,如随机梯度下降法(Stochastic Gradient Descent,简称SGD),牛顿法、拟牛顿法等。

数据集(data set):在机器学习模型中,需要使用到的相关数据,包括特征(自变量,是影响输出的相关因素)以及标签(特征对应的结果,可能是连续值,也可能是离散值)

训练集(train set):用于学习模型训练的数据集

测试集(test set):用于验证模型在未知数据上的效果(有别于验证集(validation set))

过拟合(over-fitting):模型对已知数据预测效果很好但对未知数据预测效果很差

1.3 机器学习的种类

可以类比参考学习试题有无答案的关系

  1. 有监督学习(supervised learning):用已知输出评估模型的性能。需要大量的 training data,通过数据告诉我们要找的的输入和输出之间的关系。
  2. 无监督学习(unsupervised learning):在没有已知输出的情况下,仅仅根据输入信息的相关性,进行类别的划分。
  3. 半监督学习(semi-supervised learning):先通过无监督学习划分类别,再根据人工标记通过有监督学习预测输出。少量的具有label的数据和大量unlabeled 的数据
  4. 强化学习(reinforcement learning):通过对不同决策结果的奖励和惩罚,使机器学习系统在经过足够长时间的训练以后,越来越倾向于给出接近期望结果的输出。

批量学习和增量学习

  1. 批量学习:将学习的过程和应用的过程截然分开,用全部的训练数据训练模型,然后再在应用场景中实现预测,当预测结果不够理想时,重新回到学习过程,如此循环。
  2. 增量学习:将学习的过程和应用的过程统一起来,在应用的同时以增量的方式,不断学习新的内容,边训练边预测。

1.4 机器学习的一般过程

1.4.1 需求分析
  • 明确机器学习目标
  • 输入输出
  • 任务类型
  • 关键性能指标
1.4.2 数据预处理
  • 数据采集(数据库 mysql hadoop、数据挖掘、爬虫、购买、公开数据集)
  • 数据清洗(pandas numpy)
  • 数据分析/可视化(EDA探索性数据分析 缺失值&异常值处理)
1.4.2 机器学习/深度学习
  • 选择模型 (算法种类)
  • 训练模型 (算法 调参 特征工程 sklearn等包)
  • 测试模型 (调优)
  • 评估模型 (评估方法、算法知识)
1.4.3 业务运维
  • 应用模型(部署上线)
  • 维护模型(收集反馈,迭代优化)

1.5 机器学习过程中的问题

1.5.1 建模问题

所谓机器学习,在形式上可这样理解:在数据对象中通过统计或推理的方法,寻找一个接受特定输入X,并给出预期输出Y的功能函数f,即Y=f(X)。

1.5.2 评估问题

针对已知的输入,函数给出的输出(预测值)与实际输出(目标值)之间存在一定的误差,因此需要构建一个评估体系,根据误差的大小判定函数的优劣。

1.5.3 优化问题

学习的核心在于改善性能,通过数据对算法的反复锤炼,不断提升函数预测的准确性,直至获得能够满足实际需求的最优解,这个过程就是机器学习。

1.6 机器学习解决的问题

  1. 回归问题:根据已知的输入和输出寻找某种性能最佳的模型,将未知输出的输入代入模型,得到连续的输出(数值)
  2. 分类问题:根据已知的输入和输出寻找某种性能最佳的模型,将未知输出的输入代入模型,得到离散的输出(概率)
  3. 聚类问题:根据已知输入的相似程度,将其划分为不同的群落
  4. 降维问题:在性能损失尽可能小的前提下,降低数据的复杂度

1.7 机器学习的典型应用

股价预测、推荐引擎、自然语言识别、语音识别、图像识别、人脸识别

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐