学习机器学习已经一周年了。
想写篇文章留念一下。
--------------------------------------------------------------------------------------
今天,我想从数学的角度来谈一下机器学习中所接触算法,以及一些基本的感悟。
众所周知,在机器学习分类算法中,有许多经典的算法,如决策树,线性回归,向量机,k近邻,神经网络,贝叶斯,概率图等等。对于线性回归,神经网络我们可以发现它的出发点是找到一个函数,然后用函数来对事物进行一个基于数据的学习,而贝叶斯,概率图它们的出发点是用概率去表征事物发生的一个可能性。而决策树、向量机,k近邻它的算法依据就显的更加的平实,相当于我们生活中经常接触的模型学习思想。
很显然,这三种不同的思路就是我们自己在学知识的时候,所用到的方法,基于概率,就是我们生活中的经验法,而模型学习,就是我们在学习新知识时,就和我们平时做联系差不多。而对于函数学学习新事物的理论依据则是,函数是一种可以描述一切事物运动,状态,关系的强有力的工具。
但其实,我觉得上述我提到的所有算法本质上都是函数模型。
为什么这么说呢?
先来看看神经网络模型,如果我们只看,隐藏层的一个神经元和输入层的话,我们发现它就是一个线性模型,一个我们都认同的简单函数模型,而如果隐层有n个元的话,相当于有n个函数进行一个训练。如果但从隐层看的话,就相当于一个bagging.而,有了输出层那它还是函数吗?现在我先暂缓一下,来看下所谓的概率模型为啥是归根到底是 体现函数的训练性质在学习呢?每个样本各自对训练做出影响,对吧,那这样的话,我们把每个样本的影响看成一个函数,这是完全说的过去的。那它到底是一个怎样的函数呢?目前来说,我还没进行研究过。那k近邻法这些模型法,为啥也说它们也是函数呢?从参数的角度看,我们好像没在训练什么参数似的(向量机除外哈)。但是我们换个角度想,假如我们把一个个近邻的样本看成参数的话,那这样的话,确实就是一个以模型为参数的函数。
也正因为此,我觉得未来的算法是基于函数进行创建和改进的,而引入级数去改进机器学习算法是一个比较不错的选择。
正如我们所看到的各种机器学习的算法,它都尽量从函数的角度去描述这个数据,描述数据的变化,但是对于未知的东西,函数是很难找的,从线性回归的角度看,我们是在找一条过样本的线。但是我们都知道无论怎么画,我们都很难把给拟合的完美,怎么办呢?我觉得可以从级数的角度去解决。着重去发现与此类问题相关的一个函数模型,然后用函数项是此函数的级数去拟合。正如我们经常会用三角函数去拟合非三角的周期函数,为什么能拟合,因为它们同性质。
-----------------------------------------------
菜鸡一枚,一点小小的思考。