随笔分类 - ML
1
摘要:Kaggle的房价数据集使用的是Ames Housing dataset,是美国爱荷华州的艾姆斯镇2006-2010年的房价 1.特征探索和分析 1.了解特征的含义 首先使用Python的pandas加载一下训练样本和测试样本,数据的格式是csv格式的,且第一列是特征的名称 查看一下特征的维度 im
阅读全文
摘要:奇异值分解(Singular Value Decompositon,SVD),可以实现用小得多的数据集来表示原始数据集。 优点:简化数据,取出噪声,提高算法的结果 缺点:数据的转换可能难以理解 适用数据类型:数值型数据 SVD最早的应用之一是信息检索,我们称利用SVD的方法为隐形语义索引(LSI)或
阅读全文
摘要:降维技术的好处: 1.使得数据集更易使用 2.降低很多算法的计算开销 3.取出噪声 4.使得结果易懂 在已标注和未标注的数据上都有降维技术,降维的方法: 1.主成分分析(Principal Component Analysis,PCA)。在PCA中,数据从原来的坐标系转换到新的坐标系,新坐标系的选择
阅读全文
摘要:从大规模的数据集中寻找隐含关系被称作为关联分析(association analysis)或者关联规则学习(association rule learning)。 Apriori算法 优点:易编码实现 缺点:在大数据集上可能较慢 使用数据类型:数值型或者标称型数据 关联分析寻找的是隐含关系,这些关系
阅读全文
摘要:聚类是一种无监督的学习,它将相似的对象归到同一簇中。它有点像全自动分类。聚类方法几乎可以应用到所有对象,簇内的对象越相似,聚类的效果越好。 K-均值(K-means)聚类算法,之所以称之为K-均值是因为它可以发现k个不同的簇,且每个簇的中心采用簇中所含值的均值计算而成。 簇识别(cluster id
阅读全文
摘要:和回归树(在每个叶节点上使用各自的均值做预测)不同,模型树算法需要在每个叶节点上都构建出一个线性模型,这就是把叶节点设定为分段线性函数,这个所谓的分段线性(piecewise linear)是指模型由多个线性片段组成。 main.py 得到两段函数,以0.28为分界 分别为y=3.46877+1.1
阅读全文
摘要:线性回归创建模型需要拟合所有的样本点(局部加权线性回归除外)。当数据拥有众多特征并且特征之间关系十分复杂的时候,构建全局模型的想法就显得太难了,也略显笨拙。而且,实际生活中很多问题都是非线性的,不可能使用全局限性模型来拟合任何数据。 一种可行的方法是将数据集切分成很多份易建模的数据,然后再利用线性回
阅读全文
摘要:线性回归 优点:结果易于理解,计算上不复杂 缺点:对非线性的数据拟合不好 适用数据类型:数值型和标称型数据 回归的目的就预测数值型的目标值。最直接的办法就是依据输入写一个目标值的计算公式。这个计算公式就是所谓的回归方程(regression equation),其中的参数就是回归系数,求这些回归系数
阅读全文
摘要:在机器学习的分类问题中,我们都假设所有类别的分类代价是一样的。但是事实上,不同分类的代价是不一样的,比如我们通过一个用于检测患病的系统来检测马匹是否能继续存活,如果我们把能存活的马匹检测成患病,那么这匹马可能就会被执行安乐死;如果我们把不能存活的马匹检测成健康,那么就会继续喂养这匹马。一个代价是错杀
阅读全文
摘要:参考 作者:刘帝伟 原文地址:http://www.csuldw.com/ 损失函数(loss function)是用来估量你模型的预测值f(x)与真实值Y的不一致程度,它是一个非负实值函数,通常使用L(Y, f(x))来表示,损失函数越小,模型的鲁棒性就越好。损失函数是经验风险函数的核心部分,也是
阅读全文
摘要:当做重要决定时,我们可能会考虑吸取多个专家而不只是一个人的意见。机器学习处理问题也是这样,这就是元算法(meta-algorithm)背后的思路。 元算法是对其他算法进行组合的一种方式,其中最流行的一种算法就是AdaBoost算法。某些人认为AdaBoost是最好的监督学习的方法,所以该方法是机器学
阅读全文
摘要:对于线性不可分的数据集,可以利用核函数(kernel)将数据转换成易于分类器理解的形式。 如下图,如果在x轴和y轴构成的坐标系中插入直线进行分类的话, 不能得到理想的结果,或许我们可以对圆中的数据进行某种形式的转换,从而得到某些新的变量来表示数据。在这种表示情况下,我们就更容易得到大于0或者小于0的
阅读全文
摘要:Platt SMO算法是通过一个外循环来选择第一个alpha值的,并且其选择过程会在两种方式之间进行交替: 一种方式是在所有数据集上进行单遍扫描,另一种方式则是在非边界alpha中实现单遍扫描。 所谓非边界alpha指的就是那些不等于边界0或者C的alpha值。对整个数据集的扫描相当容易,而实现非边
阅读全文
摘要:SVM有很多实现,现在只关注其中最流行的一种实现,即序列最小优化(Sequential Minimal Optimization,SMO)算法,然后介绍如何使用一种核函数(kernel)的方式将SVM扩展到更多的数据集上。 1.基于最大间隔分隔数据 几个概念: 1.线性可分(linearly sep
阅读全文
摘要:梯度下降法是一个最优化算法,通常也称为最速下降法。 最速下降法是求解无约束优化问题最简单和最古老的方法之一,虽然现在已经不具有实用性,但是许多有效算法都是以它为基础进行改进和修正而得到的。 最速下降法是用负梯度方向为搜索方向的,最速下降法越接近目标值,步长越小,前进越慢。 可以用于求解非线性方程组。
阅读全文
摘要:1.基于Logistic回归和Sigmoid函数的分类 2.基于最优化方法的最佳回归系数确定 2.1 梯度上升法 参考:机器学习——梯度下降算法 2.2 训练算法:使用梯度上升找到最佳参数 Logistic回归梯度上升优化算法 2.3 分析数据:画出决策边界 画出数据集和Logistic回归最佳拟合
阅读全文
摘要:1.基于贝叶斯决策理论的分类方法 2.使用朴素贝叶斯进行文档分类 使用Python进行文本分类 1.准备数据:从文本中构建词向量 2.训练算法:从词向量计算概率 3.测试算法:根据现实情况修改分类器 朴素贝叶斯分类函数 4.准备数据:文档词袋模型 示例:使用朴素贝叶斯过滤垃圾邮件 1.准备数据:切分
阅读全文
摘要:1.决策树的构造 优点:计算复杂度不高,输出结果易于理解,对中间值的缺失不敏感,可以处理不相关特征数据 缺点:可能会产生过度匹配问题 适用数据类型:数值型和标称型 2.划分数据集 3.递归构建决策树 4.在Python中使用Matplotlib注解绘制树形图 5.构造注解树 获取叶节点的数目和树的层
阅读全文
摘要:k-近邻算法(kNN)采用测量不同特征值之间的距离方法进行分类。 优点:精度高、对异常值不敏感、无数据输入假定 缺点:计算复杂度高、空间复杂度高 使用数据范围:数值型和标称型 工作原理:存在一个样本数据集合,也称为训练样本集,并且样本集中每个数据都存在标签,即我们知道样本集中每一数据与所属分类的对应
阅读全文
摘要:1.机器学习的主要任务:一是将实例数据划分到合适的分类中,即分类问题。 而是是回归, 它主要用于预测数值型数据,典型的回归例子:数据拟合曲线。 2.监督学习和无监督学习: 分类和回归属于监督学习,之所以称之为监督学习,是因为这类算法必须直到预测什么,即目标变量的分类信息。 对于无监督学习,此时数据没
阅读全文
1