1.目标函数 (1)mean_squared_error / mse 均方误差,常用的目标函数,公式为((y_pred-y_true)**2).mean()(2)mean_absolute_error / mae 绝对值均差,公式为(|y_pred-y_true|).mean()(3) mean_absolute_percentage_error / mape公式为:(|(y_true - y_pred) / clip((|y_true|),epsilon, infinite)|).mean(a…
感知机.logistic回归 损失函数对比探讨 感知机 假如数据集是线性可分的,感知机学习的目标是求得一个能够将正负样本完全分开的分隔超平面 \(wx+b=0\) .其学习策略为,定义(经验)损失函数并将损失函数最小化.通常,定义损失函数的策略是:==误分类点到分隔超平面的总距离==.[李航,2.2节] 如果没有误分点,则损失函数值是0. 感知机学习算法若采用不用的初始值或选取不同的误分类点,得到的分隔超平面可不同. logistic回归(对数几率回归): 逻辑回归和感知机一样,定义一个决策面(…
回归损失函数:L1,L2,Huber,Log-Cosh,Quantile Loss 2019-06-04 20:09:34 clover_my 阅读数 430更多 分类专栏: 阅读笔记   版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/clover_my/article/details/90777964 回归损失函数:L1,L2,Huber,Log-Cosh,Quantile Loss…
秒懂机器学习---分类回归树CART 一.总结 一句话总结: 用决策树来模拟分类和预测,那些人还真是聪明:其实也还好吧,都精通的话想一想,混一混就好了 用决策树模拟分类和预测的过程:就是对集合进行归类的过程(归类自然也就给出了预测,因为某类的结果一般是一样的) 1.CART( Classification And Regression Tree)算法是什么? 分类回归树算法 决策树的一种实现 2.CART( Classification And Regression Tree)算法的实质是什么?…
1.简单介绍 线性回归方法可以有效的拟合所有样本点(局部加权线性回归除外).当数据拥有众多特征并且特征之间关系十分复杂时,构建全局模型的想法一个是困难一个是笨拙.此外,实际中很多问题为非线性的,例如常见到的分段函数,不可能用全局线性模型来进行拟合. 树回归将数据集切分成多份易建模的数据,然后利用线性回归进行建模和拟合.这里介绍较为经典的树回归CART(classification and regression trees,分类回归树)算法. 2.分类回归树基本流程 构建树: 1.找到[最佳待切分…
上一篇我们学习和实现了CART(分类回归树),不过主要是针对离散值的分类实现,下面我们来看下连续值的cart分类树如何实现 思考连续值和离散值的不同之处: 二分子树的时候不同:离散值需要求出最优的两个组合,连续值需要找到一个合适的分割点把特征切分为前后两块 这里不考虑特征的减少问题 切分数据的不同:根据大于和小于等于切分数据集 def splitDataSet(dataSet, axis, value,threshold): retDataSet = [] if threshold == 'lt…
课程地址:https://class.coursera.org/ntumltwo-002/lecture 重要!重要!重要~ 一.决策树(Decision Tree).口袋(Bagging),自适应增强(AdaBoost) Bagging和AdaBoost算法再分类的时候,是让所有的弱分类器同时发挥作用.它们之间的区别每个弱分离器是否对后来的blending生成G有相同的权重. Decision Tree是一种有条件的融合算法,每次只能根据条件让某个分类器发挥作用. 二.基本决策树算法 1.用递…
常见的一种决策树算法是ID3,ID3的做法是每次选择当前最佳的特征来分割数据,并按照该特征所有可能取值来切分,也就是说,如果一个特征有四种取值,那么数据将被切分成4份,一旦按某特征切分后,该特征在之后的算法执行过程中将不会在起作用,这种切分方法比较迅速,但是一个比较明显的缺点是不能直接处理连续型的特征,只有事先将连续型的数据转换成离散型才能再ID3算法中使用. CART(Classification And Regression Tree)算法采用一种二分递归分割的技术,将当前的样本集分为两个子…
前情提要—— 网上关于目标检测框架——faster r_cnn有太多太好的博文,这是我在组会讲述faster r_cnn这一框架时被人问到的一个点,当时没答上来,于是会下好好百度和搜索一下研究了一下这个问题. 先看faster r_cnn的对bounding_box的回归损失函数: 百度百科的解释是:对于边框的预测是一个回归问题.通常可以选择平方损失函数(L2损失):f(x)=x^2.但这个损失对于比较大的误差的惩罚很高.我们可以采用稍微缓和一点绝对损失函数(L1损失):f(x)=|x|,它是随…
一.CART决策树模型概述(Classification And Regression Trees)   决策树是使用类似于一棵树的结构来表示类的划分,树的构建可以看成是变量(属性)选择的过程,内部节点表示树选择那几个变量(属性)作为划分,每棵树的叶节点表示为一个类的标号,树的最顶层为根节点. 决策树是通过一系列规则对数据进行分类的过程.它提供一种在什么条件下会得到什么值的类似规则的方法.​​决策树算法属于有指导的学习,即原数据必须包含预测变量和目标变量.决策树分为分类决策树(目标变量为分类型数…
决策树的剪枝 决策树为什么要剪枝?原因就是避免决策树“过拟合”样本.前面的算法生成的决策树非常的详细而庞大,每个属性都被详细地加以考虑,决策树的树叶节点所覆盖的训练样本都是“纯”的.因此用这个决策树来对训练样本进行分类的话,你会发现对于训练样本而言,这个树表现堪称完美,它可以100%完美正确得对训练样本集中的样本进行分类(因为决策树本身就是100%完美拟合训练样本的产物). 但是,这会带来一个问题,如果训练样本中包含了一些错误,按照前面的算法,这些错误也会100%一点不留得被决策树学习了,这就是…
概要 本部分介绍 CART,是一种非常重要的机器学习算法.   基本原理   CART 全称为 Classification And Regression Trees,即分类回归树.顾名思义,该算法既可以用于分类还可以用于回归. 克服了 ID3 算法只能处理离散型数据的缺点,CART 可以使用二元切分来处理连续型变量.二元切分法,即每次把数据集切分成两份,具体地处理方法是:如果特征值大于给定值就走左子树,否则就走右子树.对 CART 稍作修改就可以处理回归问题.先前我们使用香农熵来度量集合的无组…
均方误差(Mean Square Error,MSE)和平均绝对误差(Mean Absolute Error,MAE) 是回归中最常用的两个损失函数,但是其各有优缺点.为了避免MAE和MSE各自的优缺点,在Faster R-CNN和SSD中使用\(\text{Smooth} L_1\)损失函数,当误差在\([-1,1]\) 之间时,\(\text{Smooth} L_1\)损失函数近似于MSE,能够快速的收敛:在其他的区间则近似于MAE,其导数为\(\pm1\),不会对离群值敏感. 本文再介绍几…
二分类模型的预测结果分为四种情况(正类为1,反类为0): TP(True Positive):预测为正类,且预测正确(真实为1,预测也为1) FP(False Positive):预测为正类,但预测错误(真实为0,预测为1) TN(True Negative):预测为负类,且预测正确(真实为0,预测也为0) FN(False Negative):预测为负类,但预测错误(真实为1,预测为0) TP+FP+TN+FN=测试集所有样本数量. 分类模型的性能评价指标(Performance Evalua…
分类-回归树模型(CART)在R语言中的实现 CART模型 ,即Classification And Regression Trees.它和一般回归分析类似,是用来对变量进行解释和预测的工具,也是数据挖掘中的一种常用算法.如果因变量是连续数据,相对应的分析称为回归树,如果因变量是分类数据,则相应的分析称为分类树. 决策树是一种倒立的树结构,它由内部节点.叶子节点和边组成.其中最上面的一个节点叫根节点. 构造一棵决策树需要一个训练集,一些例子组成,每个例子用一些属性(或特征)和一个类别标记来描述.…
2.2 logistic回归损失函数(非常重要,深入理解) 上一节当中,为了能够训练logistic回归模型的参数w和b,需要定义一个成本函数 使用logistic回归训练的成本函数 为了让模型通过学习来调整参数,要给出一个含有m和训练样本的训练集 很自然的,希望通过训练集找到参数w和b,来得到自己得输出 对训练集当中的值进行预测,将他写成y^(I)我们希望他会接近于训练集当中的y^(i)的数值 现在来看一下损失函数或者叫做误差函数 他们可以用来衡量算法的运行情况 可以定义损失函数为y^和y的差…
之前有文章介绍过决策树(ID3).简单回顾一下:ID3每次选取最佳特征来分割数据,这个最佳特征的判断原则是通过信息增益来实现的.按照某种特征切分数据后,该特征在以后切分数据集时就不再使用,因此存在切分过于迅速的问题.ID3算法还不能处理连续性特征. 下面简单介绍一下其他算法: CART 分类回归树 CART是Classification And Regerssion Trees的缩写,既能处理分类任务也能做回归任务. CART树的典型代表时二叉树,根据不同的条件将分类. CART树构建算法 与I…
逻辑回归模型预估的是样本属于某个分类的概率,其损失函数(Cost Function)可以像线型回归那样,以均方差来表示:也可以用对数.概率等方法.损失函数本质上是衡量”模型预估值“到“实际值”的距离,选取好的“距离”单位,可以让模型更加准确. 1. 均方差距离 \[{J_{sqrt}}\left( w \right) = {\sum\limits_{i = 1}^m {{y_i}\left( {1 - p\left( {{x_i};w} \right)} \right)} ^2} + \left…
#-*- coding: utf-8 -*- #使用神经网络算法预测销量高低 import pandas as pd #参数初始化 inputfile = 'data/sales_data.xls' data = pd.read_excel(inputfile, index_col = u'序号') #导入数据 #数据是类别标签,要将它转换为数据 #用1来表示“好”.“是”.“高”这三个属性,用0来表示“坏”.“否”.“低” data[data == u'好'] = 1 data[data ==…
分类问题 1. 手写数字识别问题 from sklearn.datasets import load_digits digits = load_digits() # 加载手写字符识别数据集 X = digits.data # 特征值 y = digits.target # 目标值 X.shape, y.shape ((1797, 64), (1797,)) 划分70%训练集,30%测试集, from sklearn.model_selection import train_test_split…
决策树模型 内部节点表示一个特征或者属性,叶子结点表示一个类.决策树工作时,从根节点开始,对实例的每个特征进行测试,根据测试结果,将实例分配到其子节点中,这时的每一个子节点对应着特征的一个取值,如此递归的对实例进行测试并分配,直到达到叶节点,最后将实例分配到叶节点所对应的类中. 决策树具有一个重要的性质:互斥并且完备.每一个实例都被一条路径或一条规则所覆盖,而且只被一条路径或一条规则所覆盖,这里所谓覆盖是指实例的特征与路径上的特征一致或实例满足规则的条件. 决策树与条件概率分布 决策树将特种空间…
上一节当中,为了能够训练logistic回归模型的参数w和b,需要定义一个成本函数 使用logistic回归训练的成本函数 为了让模型通过学习来调整参数,要给出一个含有m和训练样本的训练集 很自然的,希望通过训练集找到参数w和b,来得到自己得输出 对训练集当中的值进行预测,将他写成y^(I)我们希望他会接近于训练集当中的y^(i)的数值 现在来看一下损失函数或者叫做误差函数 他们可以用来衡量算法的运行情况 可以定义损失函数为y^和y的差,或者他们差的平方的一半,结果表明你可能这样做,但是实际当中…
在之前的决策树到集成学习里我们说了决策树和集成学习的基本概念(用了adaboost昨晚集成学习的例子),其后我们分别学习了决策树分类原理和adaboost原理和实现, 上两篇我们学习了cart(决策分类树),决策分类树也是决策树的一种,也是很强大的分类器,但是cart的深度太深,我们可以指定cart的深度使得cart变成强一点的弱分类器. 在决策树到集成学习我们提到,单棵复杂的决策树可以达到100%,而简单的集成学习只能有85%的正确率,下面我们尝试用强一点的弱分类器来看下集成学习的效果有没有提…
前面我们了解了决策树和adaboost的决策树墩的原理和实现,在adaboost我们看到,用简单的决策树墩的效果也很不错,但是对于更多特征的样本来说,可能需要很多数量的决策树墩 或许我们可以考虑使用更加高级的弱分类器,下面我们看下CART(Classification And Regression Tree)的原理和实现吧 CART也是决策树的一种,不过是满二叉树,CART可以是强分类器,就跟决策树一样,但是我们可以指定CART的深度,使之成为比较弱的分类器 CART生成的过程和决策树类似,也是…
http://topepo.github.io/caret/feature-selection-overview.html…
论文地址:Guided Anchoring 不得不佩服自媒体,直接找到了论文作者之一写了篇解析文章,这里给出链接,本文将引用一部分原作者的解析,减少我的打字量,也方便结合比照理解. 一.问题和思路 1.面临问题 常见的生成 anchor 的方式是滑窗(sliding window),也就是首先定义 k 个特定尺度(scale)和长宽比(aspect ratio)的 anchor,然后在全图上以一定的步长滑动.anchor 的尺度和长宽比需要预先定义,这是一个对性能影响比较大的超参,而且对于不同数…
总结自论文:Faster_RCNN,与Pytorch代码: 本文主要介绍代码第二部分:model/utils , 首先分析一些主要理论操作,然后在代码分析里详细介绍其具体实现. 一. 主要操作 1. bounding box回归: 目的是提高定位表现.在DPM与RCNN中均有运用. 1) RCNN版本: 在RCNN中,利用class-specific(特定类别)的bounding box regressor.也即每一个类别学一个回归器,然后对该类的bbox预测结果进行进一步微调.注意在回归的时候…
Loss Functions 总结 损失函数分类: 回归损失函数(Regression loss), 分类损失函数(Classification loss) Regression loss functions 通常用于模型预测一个连续的值,例如一个人的年龄 Classification loss functions 通常用于模型预测一个离散的值,例如猫狗分类问题 1. L1 loss Mean Absolute Error(MAE), 也称作L1 loss computes the averag…
机器学习算法 原理.实现与实践 —— 分类.标注与回归 1. 分类问题 分类问题是监督学习的一个核心问题.在监督学习中,当输出变量$Y$取有限个离散值时,预测问题便成为分类问题. 监督学习从数据中学习一个分类决策函数或分类模型,称为分类器(classifier).分类器对新的输入进行输出的预测,这个过程称为分类. 分类问题包括学习与分类两个过程.在学习的过程中,根据已知的训练样本数据集利用有效的学习方法学习一个分类器:在分类中,利用学习的分类器对新的输入实例进行分类. 对于训练数据集$(x_1,…
分类问题的评价指标是准确率,那么回归算法的评价指标就是MSE,RMSE,MAE.R-Squared. MSE和MAE适用于误差相对明显的时候,大的误差也有比较高的权重,RMSE则是针对误差不是很明显的时候:MAE是一个线性的指标,所有个体差异在平均值上均等加权,所以它更加凸显出异常值,相比MSE: RMSLE: 主要针对数据集中有一个特别大的异常值,这种情况下,data会被skew,RMSE会被明显拉大,这时候就需要先对数据log下,再求RMSE,这个过程就是RMSLE.对低估值(under-p…