机器学习概论

2016-07-24  本文已影响4人  JuneHsia

[TOC]

## 开篇背景

目前,工作中的事情相对少一点,富余时间比较足,因此,可以拿出一部分时间用来学习下机器学习方面的理论知识与实践知识。这样做主要出于两个方面的目的,一方面是想通过本次整理的系列来增强与梳理自己在机器学习领域中的理解,梳理出自己在机器学习领域中的方法论,另一方面,提升自己的实际工作效率。

-------

好了,以上说明了本次系列的背景,接下来将主要阐述本系列的主要内容:

* 希望能够以自己的理解阐述什么是机器学习,机器学习的框架,机器学习可以用来解决什么样的问题等等

* 阐述机器学习中常用的优化方法

* 从模型的角度出发,深入阐述不同模型,主要从以下几个方面来阐述模型:a. 模型是什么(这种阐述是一种通用型的表述);b.模型产生的背景与原因(通常是为了解决另一个模型中的缺点,而产生的一种新的模型);c.模型的应用场景限制或者说是前提条件以及常见的应用场景;d.模型涉及的梳理理论背景知识;e.阐述模型的理论推导

* 最后,尽可能地能够输出一份相对完整的模型间的整合对比

以上就是本系列希望能够实现的一个目标,希望接下来会有系列2,系列3...,接下来将正式进入本系列的内容当中。

## 什么是机器学习?

"机器学习"顾名思义,就是让机器来学习,如果将机器和人进行类比的话,可以认为机器的学习过程和人的学习过程在一定程度上是具有相似性的。通常,人在学习的过程中,都需要确定以下信息:1、学习什么领域的知识?2、学习的内容或者目标是什么?3、通过什么学习方法来进行学习,使得自己能够快速掌握这些知识点?4、同时,还有一个重要的点,就是我们应该将习得的知识应用于我们的日常生活中,通过知识来丰富与提升个人的生活品质嘛。

同理,机器学习也会遇到人在学习过程中所遇到的问题,比如:1、机器学习也是学习特定领域中的知识或者规律的,这里的特定领域通常就是指我们在实际的工作中所遇到的**业务问题**,而这个”业务问题“就是机器学习中所涉及到的知识背景;2、那么机器需要学习什么呢?这个学习的内容通常需要我们人类参与设计,为什么呢,当下机器学习终究还是为了我们人类而服务的,因此,为了让机器能够更好地服务于人类,那么我们自己就要扮演者"出题者"的决策,即你告诉机器学习什么内容,这个过程实际上就是**建模**的过程,通常这也是在我们实际的工作生活中最重要的一部;3、当人类给了机器设定了学习目标(通常这个目标是能够用数学等相对抽象的方式进行表达)后,机器就需要能够通过自己的方法论来学习以及人类所提供的材料(**数据**)来掌握目标中的知识点,通常机器用来进行学习的方法论被称为**优化算法**,但是在这个学习过程中,我们怎么来判断它知识点掌握得牢靠呢,同时我们还需要判断它到底有没有提升的空间呢,最可靠的方式就是制定标准化考试的评分机制(**损失函数**),来计算在该评分机制下的得分,从而判断机器对知识点掌握的程度如何,如果达到令人满意的程度,那么我们就可以给机器放假啦,但是,如果没有达到令人满意的程度,我们就需要想方设法地让机器优化其习得的结果(通常有以下做法:一、给机器提供更多的材料及数据;二、让机器不断地投入精力(不断迭代优化);三、也许这个机器偏科,那么我们可以重新制定学习目标;四、既然一个人考试的结果不好,那么我们让大家一起协同起来,各自发挥自己的长处);4、最好,当机器很好地掌握了知识点后,我们就可以放心地让其来提升我们的业务啦。

以上通过相对形象的方式阐述了机器学习的过程到底是一个什么样的情况,具体的如下图:

![27f2aca802123ae25400b58246c496eb.png](evernotecid://E11A976C-FE50-42B3-8153-FCE0B3CB8878/appyinxiangcom/8981348/ENResource/p837)

## 机器学习可以解决什么问题?

机器学习的应用面非常广,但凡是所有能够通过数学模型抽象出来的问题,理论上都是能够应用机器学习的,目前,主流的应用有:推荐系统,广告TA,金融风控等。在不同的应用环境中,会有不同的业务问题,因此,通常会出现不同的模型,当然有些模型也是能够跨行业,跨问题的,在实际过程中,还是需要具体问题具体分析,设计出最佳的业务数学模型。

## 机器学习有哪些常见的模型?

目前常见的模型有:线性回归模型,logistics回归模型,EM模型,朴素贝叶斯模型,决策树,Boosting模型,Bagging模型,KNN模型,SVM模型,神经网络模型,HMM模型,时间序列模型、等等,每经典的模型都值得我们花时间去深入分析与理解,本系列的后续文章中将逐一来阐述这些模型。

## 机器学习中有哪些常见的优化算法?

在数学史上,数学大师们已经提出很多的优化算法来解决数学中的优化问题,经典有:最小二乘法、梯度下降法(随机梯度下降法、Mini-batch随机梯度下降法)、最大似然估计法、牛顿法、拟牛顿法等,除此之外,还有一些在计算机领域中常用的优化算法,例如:SMO算法(后续补充...)等。在接下来的文章中,我们也将逐一来理解这些优化算法

## 思考:如何建模

在上文也提到过,建模的过程通常是需要我们人来参与设计的,那么在遇到一个实际的业务问题的时候,我们应该如何建模呢?

(后续补充...)

好了,本文作为这个系列的第一篇,有点匆忙,后续将逐步来深入理解机器学习中的重要的知识点。

晚安,2018.3.15~

上一篇下一篇

猜你喜欢

热点阅读