【机器学习基础】机器学习介绍
机器学习介绍
机器学习是一个跟“大数据”一样近几年格外火的词汇。而机器学习究竟是一个什么过程或者行为呢?接下来,让我们来看看什么是机器学习。
1.什么是机器学习
谈到机器学习,我们先想想人类学习的目的是什么?是掌握知识、掌握能力、掌握技巧,最终能够进行比较复杂或者高要求的工作。那么类比一下机器,我们让机器学习,不管学习什么,最终的目的都是让它独立或至少半独立地进行相对复杂或者高要求的工作。我们在这里提到地机器学习更多是让机器帮助人类做一些大规模地数据识别、分拣、规律总结等人类做起来比较花时间的事情。这个就是机器学习的本质性目的。
机器学习是人工智能的一个分支。人工智能的研究是从以“推理”为重点到以“知识”为重点,再到以“学习”为重点,一条自然、清晰的脉络。机器学习是实现人工智能的一个途径,即以机器学习为手段解决人工智能中的问题。机器学习算法是一类从数据中自动分析获得规律(模型),并利用规律对未知数据进行预测的算法
2.机器学习的分类
目前,机器学习主要分为三大类:监督学习,无监督学习,强化学习。
监督学习
每一个样本都有着明确地标签,我们需要总结出这些训练样本向量与标签的映射关系。简单来说,监督学习可以理解为对未来事件进行预测。监督学习可分为“回归”和“分类”两类问题。
分类(classification):分类是机器学习中使用地最多的一大类算法,可以将实例数据划分到合适的类别中。
应用实例:判断网站是否被黑客入侵(二分类 ),手写数字的自动识别(多分类)
回归(regression):回归是一种解题方法,或者说“学习”方法,是机器学习中比较重要的内容,主要用于预测数值型数据。
应用实例:股票价格波动的预测,房屋价格的预测等。
无监督学习
指人们在获得训练的向量数据后在没有标签的情况下尝试找出其内部蕴含关系的一种挖掘工作,这个过程中使用者除了可能要设置一些必要的超参数以外,不用对这些样本做任何的标记甚至是过程干预。简单来说,无监督学习可以理解为发现数据本身潜在的结构。
通过无监督学习,可以在没有已知输出变量(有别于监督学习)和反馈函数(有别于强化学习)指导的情况下,提取有效信息,从而探索数据的整体结构。
无监督学习包含“聚类”和“降维”两类问题。
聚类(clustering):聚类是一种典型的“无监督学习”,是把物理对象或抽象对象的集合分组为由彼此类似的对象组成的多个类的分析国产。
降维(Dimensionality reduction):降维在数据特征预处理时经常使用,可以清除数据中的噪声,能在最大程度保留相关信息的情况下将数据压缩到一个维度较小的子空间,但可能会降低某些算法在准确方面的性能。
强化学习
所谓强化学习就是智能系统从环境到行为映射的学习,以使奖励信号(强化信号)函数值最大,强化学习不同于监督学习,主要表现在教师信号上,强化学习中由环境提供的强化信号是对产生动作的好坏作一种评价(通常为标量信号),而不是告诉强化学习系统RLS(reinforcement learning system)如何去产生正确的动作。由于外部环境提供的信息很少,RLS必须靠自身的经历进行学习。通过这种方式,RLS在行动-评价的环境中获得知识,改进行动方案以适应环境。
Alphago就是强化学习在现实应用的成功案例之一,通过“深度学习”的训练,Alphago击败了多位围棋世界冠军
3.机器学习常见算法
1.线性回归 (Linear Regression)
2.逻辑回归 (Logistic Regression)
3.决策树 (Decision Tree)
4.支持向量机(SVM)
5.朴素贝叶斯 (Naive Bayes)
6.K邻近算法(KNN)
7.K-均值算法(K-means)
8.随机森林 (Random Forest)
9.降低维度算法(DimensionalityReduction Algorithms)
10.GradientBoost和Adaboost算法
4.机器学习流程及应用
机器学习的流程大致可以分为以下七个步骤:
1.实际问题抽象成数学问题
这里的抽象成数学问题,指的我们明确我们可以获得什么样的数据,目标是一个分类还是回归或者是聚类的问题,如果都不是的话,如果划归为其中的某类问题。
2.获取数据
获取数据包括获取原始数据以及从原始数据中经过特征工程从原始数据中提取训练、测试数据。机器学习比赛中原始数据都是直接提供的,但是实际问题需要自己获得原始数据。“ 数据决定机器学习结果的上限,而算法只是尽可能的逼近这个上限”,可见数据在机器学习中的作用。总的来说数据要有具有“代表性”,对于分类问题,数据偏斜不能过于严重,不同类别的数据数量不要有数个数量级的差距。不仅如此还要对评估数据的量级,样本数量、特征数量,估算训练模型对内存的消耗。如果数据量太大可以考虑减少训练样本、降维或者使用分布式机器学习系统。
3.特征工程
特征工程包括从原始数据中特征构建、特征提取、特征选择。特征工程做的好能发挥原始数据的最大效力,往往能够使得算法的效果和性能得到显著的提升,有时能使简单的模型的效果比复杂的模型效果好。数据挖掘的大部分时间就花在特征工程上面,是机器学习非常基础而又必备的步骤。数据预处理、数据清洗、筛选显著特征、摒弃非显著特征等等都非常重要。
4.训练模型、诊断、调优
模型诊断中至关重要的是判断过拟合、欠拟合,常见的方法是绘制学习曲线,交叉验证。通过增加训练的数据量、降低模型复杂度来降低过拟合的风险,提高特征的数量和质量、增加模型复杂来防止欠拟合。诊断后的模型需要进行进一步调优,调优后的新模型需要重新诊断,这是一个反复迭代不断逼近的过程,需要不断的尝试,进而达到最优的状态。
5.模型验证、误差分析
通过测试数据,验证模型的有效性,观察误差样本,分析误差产生的原因,往往能使得我们找到提升算法性能的突破点。误差分析主要是分析出误差来源与数据、特征、算法。
6.模型融合
提升算法的准确度主要方法是模型的前端(特征工程、清洗、预处理、采样)和后端的模型融合。在机器学习比赛中模型融合非常常见,基本都能使得效果有一定的提升。
7.上线运行
这一部分内容主要跟工程实现的相关性比较大。工程上是结果导向,模型在线上运行的效果直接决定模型的成败。 不单纯包括其准确程度、误差等情况,还包括其运行的速度(时间复杂度)、资源消耗程度(空间复杂度)、稳定性是否可接受。
机器学习的应用:
语音识别
自动驾驶
语言翻译
计算机视觉
推荐系统
无人机
识别垃圾邮件
- 点赞
- 收藏
- 关注作者
评论(0)