从零实现机器学习算法
文章平均质量分 78
自己造轮子,实现机器学习算法,代码合集请见
https://github.com/Ryuk17/MachineLearning
非典型废言
苯环碳碳键键能能否否定定论一
展开
-
从零实现机器学习算法(十九) 高斯混合模型
01. 高斯混合模型简介高斯混合模型(Gaussian Mixed Model,GMM)和隐马尔可夫模型(Hidden Markov Model, HMM)是语音算法中常用的统计模型。HMM前面已经讲过了,这里介绍一下GMM算法。当数据分布中有多个峰值的时候,如果使用单峰分布函数去拟合会导致结果不佳,这时候可以使用具有多个峰值的分布去拟合,如下图所示,可以明显的看到使用两个峰值的高斯模型比单个峰值的高斯模型能更好的拟合数据。GMM同K-means算法一样也使用了EM算法进行迭代计算。GM..原创 2021-06-20 21:12:47 · 1009 阅读 · 1 评论 -
从零实现机器学习算法(十八)随机森林
目录目录1. 随机森林算法简介2. 随机森林模型2.1 boostrap方法2.2 袋外误差2.3 决策树2.4 回归与分类规则3. 总结与分析1. 随机森林算法简介前面我们知道决策树算法通过从决策树根节点开始,对待检测样本的某一个特征进行测试,根据测试结果转向左子树或者右子树,如此递归达到停止条件,叶节点所表示的类别,就是决策树对该样本的预测结果。有的时候...原创 2019-10-21 15:20:20 · 458 阅读 · 0 评论 -
从零实现机器学习算法(十七)隐马尔可夫模型
目录1. 隐马尔可夫模型简介2. 隐马尔可夫模型2.1 概率计算问题2.1.1 前向算法2.1.2 后向算法2.2 学习问题2.2.1 监督学习2.2.2 无监督学习2.3 预测问题2.3.1 近似算法2.3.2 维特比算法3. 总结与分析1. 隐马尔可夫模型简介隐马尔可夫模型(hidden Markov model, HMM)是关于时序序列...原创 2019-06-16 14:27:59 · 536 阅读 · 0 评论 -
从零实现机器学习算法(十六)降维
目录1. 降维简介2. 降维模型2.1 PCA2.2 LDA3. 总结与分析1. 降维简介降维就是将原始高维空间中的数据点映射到低维度的空间中去, 实现数据压缩、数据可视化、减少特征维度等。降维其实可以分为特征抽取和特征选择,特征抽取后的特征是原来特征的一个映射;特征选择后的特征是原来特征的一个子集。本文介绍特征抽取的两种方式:一种是无监督的主成分分析(Principl...原创 2019-06-06 16:56:33 · 348 阅读 · 0 评论 -
从零实现机器学习算法(十五)Eclat
目录1. Eclat简介2. Eclat模型2.1 倒排2.2 频繁项集2.3 关联规则3. 总结与分析1. Eclat简介Equivalence Class Transformation(Eclat)是频繁项挖掘和关联性分析的另外一种常用的算法,与Apriori和FP-growth不同的是,Eclat采用垂直数据格式。所谓的垂直数据格式,就是从对原有数据进行倒排。...原创 2019-06-02 22:29:00 · 1861 阅读 · 1 评论 -
从零实现机器学习算法(十四)FP-growth
目录1. FP-growth简介2. FP-growth模型2.1 FP-growth数据结构2.2 频繁项集2.3 关联规则3. 总结与分析1. FP-growth简介FP-growth也是一种经典的频繁项集和关联规则的挖掘算法,在较大数据集上Apriori需要花费大量的运算开销,而FP-growth却不会有这个问题。因为FP-growth只扫描整个数据库两次。由...原创 2019-06-01 10:32:01 · 655 阅读 · 0 评论 -
从零实现机器学习算法(十三)Apriori
目录1. Apriori简介2. Apriori模型2.1 频繁项集2.2 关联规则3. 总结与分析1. Apriori简介Apriori是为了挖掘频繁项集和关联规则学习的算法。算法通常尝试在项目集合中找出至少有C个相同的子集。先验算法采用自底向上的处理方法,即频繁子集每次只扩展一个对象(该步骤被称为候选集产生),并且候选集由数据进行检验。当不再产生匹配条件的扩展对象时...原创 2019-05-28 19:52:42 · 444 阅读 · 0 评论 -
从零实现机器学习算法(十二)DBSCAN
目录1. DBSCAN简介2. DBSCAN模型2.1 相关名词2.2聚类算法2.3 参数选择3. 总结与分析1. DBSCAN简介DBSCAN(Density-based spatial clustering of applications with noise)是一种基于密度的聚类算法。与划分和层次聚类方法不同,它将簇定义为密度相连的点的最大集合,能够把具有足够...原创 2019-05-23 22:33:20 · 327 阅读 · 0 评论 -
从零实现机器学习算法(十一)KMeans
目录1. KMeans简介2. KMeans模型2.1 KMeans2.2 2分KMeans2.3 KMeans++3. 总结与分析1. KMeans简介KMeans是一种简单的聚类方法,它使用每个样本到聚类中心的距离作为度量来决定簇。其中值是用户指定的簇的数目。初始时,随机选取个点作为聚类中心(质心),然后通过不断修改聚类中心达到最优的效果。由于其计算每个簇...原创 2019-05-17 21:02:57 · 374 阅读 · 0 评论 -
从零实现机器学习算法(十)树回归(Tree Regression)
目录1. 树回归简介2. 树回归模型2.1 特征选择2.2 回归树生成2.3 回归规则3. 总结与分析1. 树回归简介上一节介绍了线性回归模型,但是在实际生活中许多问题都是非线性的,或者分段线性的因此很难建立一个全局的线性模型。为了解决这一问题,可以使用树回归。树回归的基本原理是将问题划分成一个个较小的子问题,如果子问题可以建立线性模型,那么就可以自底向上解决全局的...原创 2019-05-15 16:23:08 · 613 阅读 · 0 评论 -
从零实现机器学习算法(九) 线性回归
目录1. 回归简介2. 回归模型2.1 线性回归2.2 局部加权回归2.3 岭回归2.4 Lasso回归2.5 逐步线性回归3. 总结与分析1. 回归简介在客观世界中普遍存在着变量与变量之间的关系。变量之间的关系一般可以分为确定关系和不确定关系。确定关系是指变量之间的关系可以通过函数关系来表达。非确定关系即所谓的相关关系。而回归分析是研究非确定关系的方法,可...原创 2019-05-11 20:03:37 · 430 阅读 · 0 评论 -
从零实现机器学习算法(八) Stacking
目录1. Stacking简介2. Stacking模型2.1 第一层模型2.2 分类规则3. 总结与分析1. Stacking简介Stacking和上一篇的Blending都是模型融合的方式,Stacking和Blending很相似。在Stacking第一层,对于单个模型通过交叉验证的方式,产生一折的预测结果,然后将所有的预测结果拼接成一个完成的结果作为该模型的预测特...原创 2019-05-07 15:16:45 · 717 阅读 · 0 评论 -
从零实现机器学习算法(七) Blending
目录1. Blending简介2. Blending模型2.1 第一层模型2.2 第二层模型2.3 分类规则3. 总结与分析1. Blending简介Blending是一种模型融合的方式,第一层通过将训练集出一部分作为holdout set,然后通过剩下的数据生成模型对holdout set 进行预测,第二层,直接对预测结果建模生成第二层的模型,如图所示。Blend...原创 2019-05-05 14:50:09 · 2022 阅读 · 0 评论 -
从零实现机器学习算法(六)自适应提升(Adaptive Boosting, AdaBoost)
1. AdaBoost算法简介AdaBoost (Adaptive Boosting)并不是一种全新的机器学习算法,而是一种提升(boosting)方法或者集成学习。其主要思想是:对于复杂的任务来说,将多个分类器的结果进行综合,从而得出更为精确地结果。2. AdaBoost模型AdaBoost模型包括弱分类器、权重更新和分类规则,下面分别介绍2.1 弱分类器AdaBoos...原创 2019-05-03 20:20:36 · 1512 阅读 · 0 评论 -
从零实现机器学习算法(五) 支持向量机(Support Vector Machine, SVM)
目录1. 支持向量机简介2. 支持向量机模型2.1 优化问题2.2 优化算法2.3 分类规则3. 总结与分析1. 支持向量机简介支持向量机(Support Vector Machine, SVM)是定义在特征空间上的间隔最大分类器,其学习策略就是是间隔最大化,可以形式化为求解一个凸二次规划问题。间隔分为函数间隔和几何间隔。函数间隔定义为:对于给定的训练数据集...原创 2019-04-29 17:15:45 · 987 阅读 · 0 评论 -
从零实现机器学习算法(四) Logistic回归(Logistic Regression)
目录1. Logistic回归简介2. Logistic回归模型2.1 参数估计2.2 优化算法2.3 分类规则3. 总结与分析1. Logistic回归简介Logistic回归是统计学中的经典分类算法,其原理为计算Logistic分布下的条件概率选择条件概率大的一方为预测类别。以二分类为例,二项Logistic回归模型的条件概率为:其中分别为权重...原创 2019-04-24 21:30:06 · 1005 阅读 · 0 评论 -
从零实现机器学习算法(三) 朴素贝叶斯(Naive Bayes)
目录1. 朴素贝叶斯简介2. 朴素贝叶斯模型2.1 参数估计2.2 分类规则3. 总结与分析1. 朴素贝叶斯简介朴素贝叶斯是基于贝叶斯定理和特征条件独立假设的分类方法。其原理是,由训练集构建基于条件独立的概率分布,然后对于待检测的样本,计算其后验概率最大的类别当做其预测结果。后验概率最大化意味着风险期望最小化。为什么说它“朴素”呢,因为它服从这样一个假设:用于分类的特征...原创 2019-04-22 22:31:25 · 499 阅读 · 0 评论 -
从零实现机器学习算法(二) 决策树(Decision Tree)
目录1. 决策树算法简介2. 决策树模型2.1 特征选择2.2 决策树生成算法2.3 分类规则3. 总结与分析1. 决策树算法简介决策树原理比较简单,从决策树根节点开始,对待检测样本的某一个特征进行测试,根据测试结果转向左子树或者右子树,如此递归达到停止条件,叶节点所表示的类别,就是决策树对该样本的预测结果。举个例子描述决策树决策过程,如下图所示:特征为 {饥饿...原创 2019-04-17 16:49:38 · 638 阅读 · 0 评论 -
从零实现机器学习算法(一) K近邻(KNearestNeighbor, KNN)
目录1. KNN算法简介2. KNN模型2.1 距离度量2.2 K值选择2.3 分类规则3. 总结与分析1. KNN算法简介KNN是较为简单的机器学习算法,其原理是计算待检测样本与训练集样本中的距离,然后选取最近的K个样本的标签,统计其结果,将类别最多的一类作为测试样本的标签。可以形式化的表达为其中是训练集中与待测样本最近的个点的邻域。是指示函数,其表...原创 2019-04-10 16:44:18 · 880 阅读 · 1 评论