机器学习
文章平均质量分 96
菜鸟知识搬运工
在校研究生
展开
-
机器学习算法(1)——贝叶斯估计与极大似然估计与EM算法之间的联系
极大似然估计在讲解极大似然估计前,需要先介绍贝叶斯分类:贝叶斯决策: 首先来看贝叶斯分类,经典的贝叶斯公式: 其中:p(w)为先验概率,表示每种类别分布的概率;是条件概率,表示在某种类别前提下,某件事发生的概率;而为后验...原创 2019-01-12 13:34:58 · 1472 阅读 · 0 评论 -
常用的优化方法-梯度下降、牛顿法、坐标下降法
最优化问题在机器学习中有非常重要的地位,很多机器学习算法最后都归结为求解最优化问题。在各种最优化算法中,梯度下降法是最简单、最常见的一种,在深度学习的训练中被广为使用。 最优化问题是求解函数极值的问题,包括极大值和极小值。微积分为我们求函数的极值提供了一个统一的思路:找函数的导数等于0的点,因为在极值点处,导数必定为0。这样,只要函数的可导的,我们就可以用这个万能的方法解决问题,...原创 2019-04-21 16:28:33 · 2506 阅读 · 0 评论 -
fit_transform和transform的区别
1. fit_transform是fit和transform的组合。2. fit(x,y)传两个参数的是有监督学习的算法,fit(x)传一个参数的是无监督学习的算法,比如降维、特征提取、标准化。3. fit和transform没有任何关系,之所以出来这么个函数名,仅仅是为了写代码方便,所以会发现transform()和fit_transform()的运行结果是一样的。注意:运行结果一模...转载 2019-03-03 19:49:09 · 1594 阅读 · 0 评论 -
GBDT和XGBoost
写在最开头,对GB的理解: 1、Gradient Boosting:每一次的计算是为了减少上一次的残差(residual),而为了消除残差,我们可以在残差减少的梯度(Gradient)方向上建立一个新的模型。在Gradient Boost中,每个新的模型的建立是为了使得之前模型的残差往梯度方向减少(当然也可以变向理解成每个新建的模型都给予上一模型的误差给了更多的关注), ...转载 2019-04-29 15:07:55 · 1443 阅读 · 0 评论 -
常见损失函数及正则项
损失函数(Loss function)是用来估量你模型的预测值 f(x)与真实值 Y 的不一致程度,它是一个非负实值函数,通常用 L(Y,f(x))来表示。损失函数越小,模型的鲁棒性就越好。损失函数是经验风险函数的核心部分,也是结构风险函数的重要组成部分。模型的风险结构包括了风险项和正则项,通常如下所示: 前面...原创 2019-05-09 15:10:04 · 4831 阅读 · 1 评论 -
Softmax回归与冗余性
Softmax回归模型是logistic回归模型在多分类问题上的推广,在多分类问题中,类标签可以取两个以上的值。 Softmax回归模型对于诸如MNIST手写数字分类等问题是很有用的,该问题的目的是辨识10个不同的单个数字。 在 logistic 回归中,我们的训练集由个已标记的样本构成:,(输入特征向量的维度为,其中对应截距项 ) 由于 logistic ...转载 2019-05-14 16:09:49 · 1987 阅读 · 0 评论 -
概率密度估计小结--参数估计与非参数估计
通过观测世界得到了一些数据,我们要从这些数据里面去找出规律来认识世界,一般来说,在概率上我们有一个一般性的操作步骤:1. 观测样本的存在2. 每个样本之间是独立的3. 所有样本符合一个概率模型 我们最终想要得到的是一个概率密度的模型,如果我们已经对观测的对象有了一些认识,对观测的现象属于那种类型的概率密度分布已经了解,只是需要确定其中的参数而已,这种情况就是属于参数估...转载 2019-03-20 16:42:57 · 5789 阅读 · 0 评论 -
PCA与SVD的数学原理
PCA(Principal Component Analysis)是一种常用的数据分析方法。PCA通过线性变换将原始数据变换为一组各维度线性无关的表示,可用于提取数据的主要特征分量,常用于高维数据的降维。数据的向量表示及降维问题 一般情况下,在数据挖掘和机器学习中,数据被表示为向量。例如某个淘宝店交易情况可以看成一组记录的集合,其中每一天的数据是一条记录,格式如下:(浏...原创 2019-01-28 17:42:42 · 2212 阅读 · 0 评论 -
特征工程
特征工程是什么? 数据和特征决定了机器学习的上限,而模型和算法只是逼近这个上限而已。那特征工程到底是什么呢?顾名思义,其本质是一项工程活动。我们知道,数据是信息的载体,但是原始的数据包含了大量的噪声,信息的表达也不够简练。因此,特征工程的目的,是通过一系列的工程活动,将这些信息使用更高效的编码方式(特征)表示。使用特征表示的信息,信息损失较少,原始数据中包含的规律依然保留。此外,新的...转载 2019-05-31 13:48:14 · 2259 阅读 · 0 评论 -
机器学习总结
什么是机器学习?为什么我们需要机器学习? 它使计算机能够在没有明确编程规则的情况下从经验中学习和改进。在传统程序中,规则被编码用于程序以做出决策,但是在机器学习中,程序基于数据来学习以做出决策。 传统解决方案需要长而复杂的规则并且需要经常进行手动调整的问题。此类问题的示例是垃圾邮件过滤器。你注意到一些词语,如4U,促销,信用卡,免费,惊人的等等,并发现该电子邮件是垃圾邮件。...原创 2019-05-29 12:51:24 · 1366 阅读 · 0 评论 -
机器学习在搜索引擎网页排序的应用
从使用的数据类型,以及相关的机器学习技术的观点来看,互联网搜索经历了三代的发展历程。第一代技术,将互联网网页看作文本,主要采用传统信息检索的方法。第二代技术,利用互联网的超文本结构,有效地计算网页的相关度与重要度,代表的算法有 PageRank 等。第三代技术,有效利用日志数据与统计学习方法,使网页相关度与重要度计算的精度有了进一步的提升,代表...转载 2019-06-01 13:29:14 · 2875 阅读 · 0 评论 -
模式识别
对于时间和空间中可观察的物体,如果我们可以区分它们是否相同或相似,都可以称之为“模式”(或“模式类”)。模式所指的不是事物本身,而是从事物中获得的信息。因此,模式常常表现为具有时间和空间分布的信息。模式的直观特性包括:可观察性,可区分性,相似性。 模式识别就是对模式的区分和认识,把对象根据其特征归到若干类别中的适当一类。 模式识别并不是根据物体本身来判断的,而是根...转载 2019-07-08 13:48:19 · 2047 阅读 · 0 评论 -
opencv机器学习ml模块简介
本文不涉原理,只介绍如何使用!ml模块为opencv的机器学习(machine learning,ml)代码库,包含各种机器学习算法:0, class CvStatModel ; class CvMLData; struct CvParamGrid;1,Normal Bayes Classifier(贝叶斯分类);2,K-...转载 2019-04-16 15:59:03 · 9983 阅读 · 0 评论 -
OpenCV训练SVM模型并预测的完整过程
1 批量读取一个文件夹中的所有照片1、当文件中的图片命名有一定规则时:for (int i = 1; i < 100; i++) //100 { stringstream ss; string str; ss << i; // 将int输入流中 ss >> str; // 将ss中的数值输出到str中 string fileNa...原创 2019-07-03 13:01:28 · 7573 阅读 · 5 评论 -
机器学习之数据归一化
为何要经常对数据做归一化:归一化后加快了梯度下降求最优解的速度; 归一化有可能提高精度。加快了梯度下降 如下图所示,蓝色的圈圈图代表的是两个特征的等高线。其中左图两个特征X1和X2的区间相差非常大,X1区间是[0,2000],X2区间是[1,5], 其所形成的等高线非常尖。当使用梯度下降法寻求最优解时,很有可能走“之字型”路线(垂直等高线走),从而导致需要迭代很...原创 2019-08-04 11:35:43 · 453 阅读 · 0 评论 -
机器/深度学习常见面试问题
1.训练决策树时的参数是什么?DecisionTreeClassifier(class_weight=None, criterion='gini', max_depth=2, max_features=None, max_leaf_nodes=None, min_impurity_decrease=0.0, min_impurity_split...原创 2019-04-11 20:05:29 · 2758 阅读 · 0 评论 -
机器学习实战8-sklearn降维(PCA/LLE)
官方地址:https://github.com/apachecn/hands-on-ml-zh/blob/master/docs/8.%E9%99%8D%E7%BB%B4.md一、简介 许多机器学习问题涉及训练实例的几千甚至上百万个特征,这不仅导致训练非常缓慢,也让我们更加难以找到好的解决方案。这个问题通常被称为维度的灾难。对现实世界的问题,我们一般可以大量减少特征的数量,将棘手...转载 2019-03-10 14:33:34 · 6309 阅读 · 0 评论 -
机器学习算法(3)——线性回归与逻辑回归
线性回归线性回归的数学推导主要涉及到以下几个知识点。1. 利用矩阵的知识对线性公式进行整合2. 误差项的分析3. 似然函数的理解4. 矩阵求偏导5. 线性回归的最终求解例子本故事纯属虚构如有雷同那肯定是巧合。A去银行办信用卡,柜台的漂亮妹子询问:"请问您的年龄和月收入是多少?"A:"20岁,月收入2万元"。妹子:“您可办理的额度为1万元”。此时,B同样办信用卡...原创 2019-01-19 11:17:49 · 2027 阅读 · 0 评论 -
机器学习算法(4)——SVM(以及拉格朗日对偶问题)
假设在桌子上似乎有规律放了两种颜色的球,你用一根棍分开它们?要求:尽量在放更多球之后,仍然适用。”于是我们这样分了: 然后我们往在桌上放了更多的球,似乎有一个球站错了阵营;SVM就是试图把棍放在最佳位置,好让在棍的两边有尽可能大的间隙trick。 现在即使我们放了更多的球,...原创 2019-01-19 17:41:39 · 6684 阅读 · 0 评论 -
机器学习算法(5)——决策树(ID3、C4.5、CART)
决策树又称为判定树,是运用于分类的一种树结构。决策树(decision tree)是一个树结构(可以是二叉树或非二叉树)。其每个非叶节点表示一个特征属性上的测试,每个分支代表这个特征属性在某个值域上的输出,而每个叶节点存放一个类别。使用决策树进行决策的过程就是从根节点开始,测试待分类项中相应的特征属性,并按照其值选择输出分支,直到到达叶子节点,将叶子节点存放的类别作为决策结果。...原创 2019-01-19 20:05:37 · 2804 阅读 · 0 评论 -
机器学习算法(6)——随机森林
随机森林(Random Forests) 随机森林是一种重要的基于Bagging的集成学习方法,可以用来做分类、回归等问题。要学随机森林,先简单介绍一下集成学习方法和决策树算法。Bagging和Boosting的概念与区别 随机森林属于集成学习(Ensemble Learning)中的bagging算法。在集成学习中,主要分为bagging算法和boosti...原创 2019-01-20 14:14:03 · 2494 阅读 · 0 评论 -
机器学习算法(7)——K近邻(KNN)、K-means、模糊c-均值聚类、DBSCAN与层次与谱聚类算法
1、K-近邻算法(KNN)概述(有监督算法,分类算法) 最简单最初级的分类器是将全部的训练数据所对应的类别都记录下来,当测试对象的属性和某个训练对象的属性完全匹配时,便可以对其进行分类。但是怎么可能所有测试对象都会找到与之完全匹配的训练对象呢,其次就是存在一个测试对象同时与多个训练对象匹配,导致一个训练对象被分到了多个类的问题,基于这些问题呢,就产生了KNN。 KNN是通...原创 2019-01-21 11:07:51 · 8977 阅读 · 0 评论 -
机器学习算法(8)——朴素贝叶斯、最小风险贝叶斯决策
最后以巨佬——“贝叶斯大爷”作为基本机器学习算法学习的压轴算法》》》》》》》》》》》》》膜拜!!!!!!1 准备知识:条件概率公式 2 如何使用条件概率进行分类 假设这里要被分类的类别有两类,类c1和类c2,那么我们需要计算概率p(c1|x,y)和p(c2|x,y)的大小并进行比较:如果:p(c1|x,y)>p...原创 2019-01-21 13:08:44 · 7190 阅读 · 0 评论 -
机器学习算法(2)——AdaBoost算法
Boosting算法 提升算法/Boosting是一种提高弱分类器准确度的方法。 通常在分类问题中,boosting通过改变训练样本的权重,学习多个分类器,并将这些分类器线性组合,提高分类性能。一组弱分类器可以创建一个强大的分类器。 Boosting 就是通过组合许多弱分类器(只比随机选择好一点)来产生一个强大的分类器组。且弱分类器的设计简单没有太大计算量。boost...原创 2019-01-18 16:34:08 · 1790 阅读 · 1 评论 -
sk-learn中对数据集划分函数train_test_split和StratifiedShuffleSplit
1、随机划分训练集和测试集train_test_splittrain_test_split是交叉验证中常用的函数,功能是从样本中随机的按比例选取train_data和test_data,形式为:from sklearn.model_selection import train_test_split#展示不同的调用方式train_set, test_set = train_test_...转载 2019-02-24 16:08:41 · 3884 阅读 · 4 评论 -
机器学习实战3-sklearn使用下载MNIST数据集进行分类项目
目录1、MNIST数据集2、训练一个二元分类器2.1、随机梯度下降(SGD)分类器2.2、分类器的性能考核:2.2.1、混淆矩阵2.2.2、精度:(我的理解:预测集内,预测正确的比率)2.2.3、召回率:(我的理解:整个正类样本中,预测正确的样本所占的比率)2.2.4、精度/召回率权衡2.2.5、ROC曲线3、多类别分类器错误分析4、多标签分类5...原创 2019-02-27 15:00:30 · 20751 阅读 · 6 评论 -
机器学习实战4-sklearn训练线性回归模型(鸢尾花iris数据集分类)
不贴图都没人看系列。。。。线性回归推导:上图求导部分有误,少些一个转置符号,更正为:逻辑回归推导:(公式中“ln”和“log”表示一个意思,都是以“e”为低的自然对数): 公式中:X是m*n矩阵,m个样本,n维特征。1、内容简介: 本章我们将从最简单的模型之一——线性回归模型,开始介绍两种非常不同的训练模型的方法:...原创 2019-03-03 17:01:20 · 25651 阅读 · 5 评论 -
机器学习实战5-sklearn训练SVM模型分类回归(make_moons数据集)
先上公式推导吓吓萌新。。。嘻嘻上图中两个决策边界(虚线)的间隔为,可以把它看做求两条平行直线的距离,只是这里是超直线罢了,例如:两平行线方程分别是:Ax+By+C1=0和Ax+By+C2=0则它们之间的距离,这里的x,y写成向量形式就是x={x,y},w={A,B}.更多详细推导原理:https://blog.csdn.net/qq_30815237/article/detai...原创 2019-03-06 20:38:28 · 17443 阅读 · 1 评论 -
机器学习实战6-sklearn训练决策树实现分类和回归
简介: 与SVM一样,决策树也是一种多功能的机器学习算法,它可以实现分类和回归任务,甚至是多输出任务。它们功能强大,能够拟合复杂的数据集。决策树同时也是随机森林(参见第7章)的基本组成部分,后者是现今最强大的机器学习算法之一。 首先,我们会讨论如何对决策树进行训练、可视化和预测;然后介绍Scikit-Learn的CART训练算法,讨论如何对决策树进行正则化并将其用于回归...原创 2019-03-08 16:58:54 · 5473 阅读 · 1 评论 -
机器学习实战7-sklearn集成学习和随机森林
集成方法:聚合一组预测器(比如分类器或回归器)的预测,得到的预测结果也比最好的单个预测器要好。 例如,你可以训练一组决策树分类器,每一棵树都基于训练集不同的随机子集进行训练。做出预测时,你只需要获得所有树各自的预测,然后给出得票最多的类别作为预测结果。这样一组决策树的集成被称为随机森林,尽管很简单,但它是迄今可用的最强大的机器学习算法之一。 我们将探讨最流行的几...原创 2019-03-09 20:56:36 · 1835 阅读 · 5 评论 -
模拟退火与遗传与蚁群算法
如下问题:在某个给定的定义域X内,求函数f(x)对应的最优值。此处以最小值问题举例,形式化为: 如果 X是离散有限取值,那么可以通过穷取法获得问题的最优解;如果X连续,但f(x)是凸的,那可以通过梯度下降等方法获得最优解;如果X连续且f(x)非凸,虽说根据已有的近似求解法能够找到问题解,可解是否是最优...原创 2019-08-12 15:13:11 · 3430 阅读 · 0 评论