随着Hadoop等处理大数据技术的出现和发展,机器学习也越来越走进人们的视线。其实早在Hadoop之前,机器学习和数据挖掘早已经作为单独的学科而存在,那为什么在hadoop出现之后,机器学习如此的引人注目呢?一个重要原因是hadoop的出现使很多人拥有了处理海量数据的技术支撑,进而发现数据的重要性,而要想从数据中发现有价值的信息,选择机器学习似乎是必然的趋势。当然也不排除舆论的因素,其实本人一直对很多人宣称掌握了机器学习持怀疑态度。而要想理解机器学习的精髓,数学知识是不可或缺的,比如线性代数,概率论和微积分、向量空间等,而如果没有一定的数学基础,使用机器学习也只能是知其然而不知其所以然了。基于这个原因,将系统地总结学习机器学习中用到的一些数学知识,当然不可能面面俱到,但会尽可能准确。
这篇文章首先学习概率论知识,概率论在机器学习中占主要地位,因为概率论为机器学习算法的正确性提供了理论依据,学习算法的设计经常依赖于对数据的概率假设以及在某些算法中被直接使用等。
排列组合
排列:从n个不同元素中,任取m(m≤n,m与n均为自然数)个元素按照一定的顺序排成一列,称为从n个不同元素中取出m个元素的一个排列;从n个不同元素中取出m(m≤n)个元素的所有排列的个数,称为从n个不同元素中取出m个元素的排列数,用符号 A(n,m)表示。A(n,m)=n(n-1)(n-2)……(n-m+1)=n!/(n-m)!。通常我们所说的排列指的是所有排列的个数,即A(n,m)。
组合:从n个不同元素中,任取m(m≤n)个元素并成一组,叫做从n个不同元素中取出m个元素的一个组合;从n个不同元素中取出m