第二章 机器学习中的数学基础

 

第二章 机器学习中的数学基础

教程目录 机器学习入门 | 苦练本文 3 次

在机器学习的开头,因为机器学习涉及到很多数学的东西,很多基础的理论都来至于数学的推导,很多人都会在问,需不需要很高的数学基础,在这里我想说一下我对这个问题的看法。

在我看来,在机器学习领域中有这三部分人,第一部分是对机器学习有了较多的了解,知道机器学习中所用到的各种算法,并能很清楚的知道这些算法用在哪个领域下,例如文章分类可以使用贝叶斯算法,流量点击可以使用逻辑分类,等等。现在又有着非常多的关于机器学习的各种使用库,能够轻松的驾驭他们,我们不需要自己编写更多的算法和代码,只要能够知道这些算法的使用场景和机器学习库的使用方法,就能胜任大部分关于机器学习的工作任务,这一部分的人,完全可以对机器学习的数学基础可以完全不在乎,有什么样的问题,就采用什么样的算法库,属于实用派的人。

第二部分的人员对算法有较高的兴趣,想知道算法到底是怎样工作的,算法的理论基础在哪里,是如何通过一步一步的推导出来这一套计算过程的,这部分人员在了解公式推导的过程中,就必须对数学有较深的底子,才能看懂过程的每一步。通过对过程的推导了解了算法的原理,想对算法的过程进行参数的优化,提高算法。

第三部分人,对数学本来就非常的精通,对算法也非常的精通,自己就能够创建算法的人。

如果你对数学并不是太了解,或者对一大堆的数学公式非常的惧怕,你可以跳过数学相关的内容,直接看如何使用这些结果来解决相关的问题。

在这里也不会使用太多数学的专有名词,希望能够对问题一个一个进行相应的解决,这里我们看一些在机器学习公式推导的过程中,经常碰到的几个相通的问题。

评价函数

评价函数 是最优化理论里面的专业名词,我们可以这样来理解他,对于一件事情,如何去做,做得好不好,我们总有一个理论一个检验的标准,这个标准就是 评价函数 。在现实生活问题,经常需要把它转换为数学问题,需要使用数学公式对问题进行描述,综合出问题的一个表达形式,是 评价函数 的表现形式。

比如,开车去某个地方,需要评价怎么样的路径最为省油,这时需要需要得出油耗的评价函数 ,这个函数描述了油耗和哪些参数有关系,比如选择的道路距离,道路拥挤程度等。

得到了评价函数 以后,能够通过函数求导, 得出极值这可能是我们要的解了。如果对求导 还没有印象的话,这里给出一个简单的例子。

求解:
x³-x²-x+1

的极值情况:

先画出这个函数的图形来:

import matplotlib.pyplot as plt
import numpy as np
#显示中文配置

plt.rcParams['font.sans-serif'] = ['SimHei']

plt.style.use("ggplot")

x1 = np.arange(-3,4,0.01)
y = [x*x*x - x*x - x + 1 for x in x1]
y1 = [0]*700
plt.plot(x1,y)
plt.plot(x1,y1)
plt.annotate(u"极值", xy=(1, 0), xytext=(1.5, 15),arrowprops=dict(facecolor='black', shrink=0.05),)
plt.savefig('a.png')

如图:

可以简单的理解为,极值点为 和曲线相切的切线的斜率为0的,也就是对曲线求导,导数为0的时候。

在概率分布中,有一种管用的关于评价函数的一般形式,而且这种评价函数较为常见,在预估统计参数时,基本使用的就是它,它就是 极大似然估计。

极大似然估计

极大似然估计 是统计学的一个概率,讲的是我们做出的估计需要满足我们所观察的现象,比如一个同学和一个超有经验的猎人出去打猎,在森林里看到了一只兔子,而后听到了三声枪声,兔子倒下了,这里让你估计这是谁开的枪,是你同学还是这位猎人。

我们的估计要最大条件的满足我们所观察到的现象,也就是三声枪声,兔子倒下了,这里假设如果是猎人开的枪,猎人是一个超有经验的枪手,只要开始一枪估计就能打中这只兔子,而现在开了 三枪,比较有可能的是你这位同学开的枪。

这就是极大似然估计的思想,在以后我们会用具体的数学公式进行表达。

虽然是关于机器学习的数学基础,但是并没有涉及太多的公式,只是不想一开始把机器学习搞得太过的高深,让人望而却步,机器学习是通过数学的基础为理论来解决现实中的问题,问题找到了,我们的求解过程就不会太难懂。

转载请标明来之:http://www.bugingcode.com//

更多教程:阿猫学编程

更多课程和文章尽在微信号:「datartisan数据工匠」

 

由 Editor 于 2018 年 04 月 05 日 发布在 数据科学 栏目