机器学习报告补齐(包括KNN、决策树、朴素贝叶斯、logistic回归、TensorFlow、SVM)

机器学习课程报告发布(分类部分)

学期初,在自己的“对于知识的向往”和高中校友茅信的杜铭枢同学的鼓动下,报名了学校为茅院辅修大数据专业同学们开设的课程——机器学习与模式识别。课程鼓励对成果进行分享,因此在初期阶段我们进行了多次报告、课堂展示,而在课程中期,这一展示形式推广到了博客的方式。作为一个初学者,对于一些概念的掌握还十分浅显,再加之初期的doc格式报告不易转换成markdown文件,因此,此处选择转为pdf文件的形式对课程的前6次报告进行上传。过程中还有很多需要改进的地方,我也找到了进一步努力的方向。愿通过这门“戏很多”的课程,能够在数据分析、算法理解、报告撰写、课堂展示等方面有所收获。

下面按照课程要求,发布学习报告。

2018-03-20 KNN算法

KNN算法工作原理:存在一个样本数据集合,也被称作训练样本集,并且样本集中每个数据都存在标签,即我们知道样本集中每一数据与所属分类的对应关系。输入没有标签的新数据后,将新数据的每个特征与样本集中数据对应的特征进行比较,然后算法提取样本集中特征最相似数据(最邻近)的分类标签。一般来说选取样本数据集中前k个最相似的数据,最后,选择k个最相似数据中出现次数最多的分类。

点击下载KNN报告

2018-03-27 Decision Tree决策树

决策树算法是一种逼近离散函数值的方法。它是一种典型的分类方法,首先对数据进行处理,利用归纳算法生成可读的规则决策树,然后使用决策树对新数据进行分析。本质上决策树是通过一系列规则对数据进行分类的过程。

决策树ID3算法原理:ID3算法是以信息熵的下降速度为选取测试属性的标准,即在每个节点选取还尚未被用来划分具有最高信息增益的属性作为划分标准,然后继续这个过程,直到生成的决策树能完美分类训练样例。ID3算法是决策树算法中较为简单的一项,此外还有C4.5、CART等决策树算法。

点击下载决策树报告

2018-04-17 Naive Bayes朴素贝叶斯

朴素贝叶斯法原理:朴素贝叶斯法是基于贝叶斯定理特征条件独立假设的分类方法。

其中贝叶斯定理可写作:

以上公式依照特征条件独立假设,可以进一步拆分为乘法,从而求算相关数据值进行分类。

点击下载朴素贝叶斯报告

2018-04-24 Logistic回归

利用Logistic回归进行分类的思想:根据现有数据对分类边界线建立回归公式,以此进行分类。回归的工作即为通过最优化方法(如梯度下降)找到最佳回归系数。

具体操作步骤:在一系列数据中,对样本的每个数据特征乘某一个回归系数(某些时候加入一个sigmoid转换)并做累和,得到样本的分类函数$h(x)=h_\theta (x)=\theta_0+\theta_1 x_1+\cdots+\theta_n x_n$。将不同样本间分类函数与真实值间的误差的平方和进行累加,得到错误估计函数$J(\theta)=\frac{1}{2}\sum_{i=1}^m(h_\theta(x^{(i)})-y^{(i)})^2$ 。应用最优化方法求解错误估计函数最小时的回归系数$\theta_j:=\theta_j+\alpha(y^{(i)}-h_\theta(x^{(i)}))x_j^{(i)}$。此处的回归系数梯度下降是一个样本的状况,多个样本则需要进行如求和等处理。再依照此最佳回归系数建立Logistic回归,输出分类。

以上回归系数的确定步骤还可以依据梯度上升法,这种方法求最大值的核心思想是将自变量沿着目标函数的梯度方向移动,一直移动到指定的次数或者说某个允许的误差范围。 这一过程的伪代码如下:

1
2
3
4
5
每个回归系数初始化为1
重复R次:
计算整个数据集的梯度
使用 alpha * gradient 更新回归系数向量
返回回归系数

点击下载Logistic回归报告

2018-04-24 TensorFlow使用方法自主学习及实现Logistic回归

TensorFlow是谷歌研发的第二代人工智能学习系统,可以用于进行机器学习、深度学习等工作。

点击下载报告

2018-05-08 SVM支持向量机

SVM基本思想:

输入:两组带标签的数据。

输出:一条最优的将两组数据分开的直线。

此过程也可以扩展到高维空间,即N维空间中,使用N-1维的最优超平面将不同标签的数据分开。SVM的数学证明过程较为严格,可以参考MIT的人工智能课程http://open.163.com/movie/2017/9/Q/2/MCTMNN3UI_MCTMP1NQ2.html,我也还需要进一步学习。

点击下载SVM报告

2018-05-22 adaboost元算法

[adaboost元算法博客地址]https://qianni1997.github.io/2018/05/26/ML-Adaboost/