- 博客(35)
- 资源 (4)
- 收藏
- 关注
转载 决策树算法原理(上)
此文参考了http://www.cnblogs.com/pinard/p/6050306.html 以及周志华老师的《机器学习》决策树算法在机器学习中算是很经典的一个算法系列了。它既可以作为分类算法,也可以作为回归算法,同时也特别适合集成学习比如随机森林。本文就对决策树算法原理做一个总结,上篇对ID3, C4.5的算法思想做了总结,下篇重点对CART算法做一个详细的介绍。选择CART做
2017-02-27 22:54:32
2800
转载 SVM支持向量机高斯核调参小结
转自http://www.cnblogs.com/pinard/p/6117515.html 在支持向量机(以下简称SVM)的核函数中,高斯核(以下简称RBF)是最常用的,从理论上讲, RBF一定不比线性核函数差,但是在实际应用中,却面临着几个重要的超参数的调优问题。如果调的不好,可能比线性核函数还要差。所以我们实际应用中,能用线性核函数得到较好效果的都会选择线性核函数。如果线性核不好,我
2017-02-18 17:48:08
29490
3
转载 scikit-learn SVM支持向量机算法库使用小结
之前通过一个系列对支持向量机(以下简称SVM)算法的原理做了一个总结,本文从实践的角度对scikit-learn SVM算法库的使用做一个小结。scikit-learn SVM算法库封装了libsvm 和 liblinear 的实现,仅仅重写了算法了接口部分。1. scikit-learn SVM算法库使用概述 scikit-learn中SVM的算法库分为两类,一类是分类的算法库,包
2017-02-18 17:09:31
1797
转载 SVM支持向量机原理(四)SMO算法原理
转自http://www.cnblogs.com/pinard/p/6111471.html在SVM的前三篇里,我们优化的目标函数最终都是一个关于α α向量的函数。而怎么极小化这个函数,求出对应的α α向量,进而求出分离超平面我们没有讲。本篇就对优化这个关于α α向量的函数的SMO算法做一个总结。1. 回顾SVM优化目标函数 我们首先回顾下我们的优化目标函数:mi
2017-02-18 16:48:25
962
转载 SVM支持向量机原理(三)线性不可分支持向量机与核函数
转自http://www.cnblogs.com/pinard/p/6103615.html在前面两篇我们讲到了线性可分SVM的硬间隔最大化和软间隔最大化的算法,它们对线性可分的数据有很好的处理,但是对完全线性不可分的数据没有办法。本文我们就来探讨SVM如何处理线性不可分的数据,重点讲述核函数在SVM中处理线性不可分数据的作用。1. 回顾多项式回归 在线性回归原理小结中,我们讲到
2017-02-18 16:35:18
1973
转载 SVM支持向量机原理(二) 线性支持向量机的软间隔最大化模型
在支持向量机原理(一) 线性支持向量机中,我们对线性可分SVM的模型和损失函数优化做了总结。最后我们提到了有时候不能线性可分的原因是线性数据集里面多了少量的异常点,由于这些异常点导致了数据集不能线性可分,本篇就对线性支持向量机如何处理这些异常点的原理方法做一个总结。1. 线性分类SVM面临的问题 有时候本来数据的确是可分的,也就是说可以用 线性分类SVM的学习方法来求解,但是却因为混
2017-02-18 15:39:44
2646
原创 SVM支持向量机原理(一) 线性支持向量机
此篇文章并非完全原创,参考了下篇博客,如果大家觉得稳重的1、2、3部分不好理解,可以看下图中我的手写版。http://www.cnblogs.com/pinard/p/6097604.html支持向量机(Support Vecor Machine,以下简称SVM)虽然诞生只有短短的二十多年,但是自一诞生便由于它良好的分类性能席卷了机器学习领域,并牢牢压制了神经网络领域好多年。如
2017-02-18 13:24:55
3829
转载 【集成学习】原理小结
原文:http://www.cnblogs.com/pinard/p/6131423.html集成学习(ensemble learning)可以说是现在非常火爆的机器学习方法了。它本身不是一个单独的机器学习算法,而是通过构建并结合多个机器学习器来完成学习任务。也就是我们常说的“博采众长”。集成学习可以用于分类问题集成,回归问题集成,特征选取集成,异常点检测集成等等,可以说所有的机器学习领域
2017-02-08 14:33:00
761
转载 【集成学习】scikit-learn随机森林调参小结
原文:http://www.cnblogs.com/pinard/p/6160412.html在Bagging与随机森林算法原理小结中,我们对随机森林(Random Forest, 以下简称RF)的原理做了总结。本文就从实践的角度对RF做一个总结。重点讲述scikit-learn中RF的调参注意事项,以及和GBDT调参的异同点。1. scikit-learn随机森林类库概述
2017-01-19 17:34:54
26451
1
转载 【集成学习】Bagging与随机森林算法原理小结
原文地址:http://www.cnblogs.com/pinard/p/6156009.html在集成学习原理小结中,我们讲到了集成学习有两个流派,一个是boosting派系,它的特点是各个弱学习器之间有依赖关系。另一种是bagging流派,它的特点是各个弱学习器之间没有依赖关系,可以并行拟合。本文就对集成学习中Bagging与随机森林算法做一个总结。 随机森林
2017-01-19 15:20:07
6433
转载 【集成学习】scikit-learn Adaboost类库使用小结
转自http://www.cnblogs.com/pinard/p/6136914.html在集成学习之Adaboost算法原理小结中,我们对Adaboost的算法原理做了一个总结。这里我们就从实用的角度对scikit-learn中Adaboost类库的使用做一个小结,重点对调参的注意事项做一个总结。1. Adaboost类库概述 scikit-learn
2017-01-09 16:11:09
16102
3
原创 精确率(准确率、查准率、precision)、召回率(查全率、recall)、RoC曲线、AUC面积、PR曲线
1. TP, FP, TN, FNTrue Positives,TP:预测为正样本,实际也为正样本的特征数False Positives,FP:预测为正样本,实际为负样本的特征数True Negatives,TN:预测为负样本,实际也为负样本的特征数False Negatives,FN:预测为负样本,实际为正样本的特征真实情况预测结果
2017-01-03 22:45:01
18100
转载 sklearn逻辑回归(Logistic Regression,LR)类库使用小结
原文出处:http://www.07net01.com/2016/11/1706402.html,在原文的基础上做了一些修订sklearn中LogisticRegression的API如下,官方文档:http://scikit-learn.org/stable/modules/generated/sklearn.linear_model.LinearRegression.html#sklear
2016-12-22 11:36:02
86544
4
转载 线性收敛的随机优化算法之 SAG、SVRG(随机梯度下降)
原文出处:https://zhuanlan.zhihu.com/p/22402784?utm_source=tuicool&utm_medium=referral这篇文章回顾了基于梯度的随机优化算法在这几年的重要发展 -- SAG、SVRG。很多常见的机器学习模型的目标(比如最小二乘做线性回归、逻辑回归)都可以概括成以下这种一般形式:
2016-12-22 11:20:12
26102
原创 Python手撸逻辑回归(logistic regression)
与线性回归用于预测连续值不同,逻辑归回用于分类,原理与线性回归类似,定义损失函数,然后最小化损失,得到参数既模型,只不过损失的定义不同。逻辑回归的假设如图1所示,可以理解为线性回归外面套了一层sigmoid函数g(z),sigmoid函数图像如图2所示,该函数有很好的数学性质,其导数= g(z)*(1- g(z)),导数计算量小,当z=0时,其函数值为0.5,z越大,函数值越接近于1,z越小,
2016-12-21 17:55:06
5873
原创 python手撸线性回归(二)theta0不需要正则化
在上一篇关于线性回归的文章中,python手撸线性回归及参数解释,我们可以看到正则化项中并没有theta0二是从theta1开始的,In[7]的第三行Andrew在其机器学习中对此的解释是,按照惯例来讲,不去对θ0进行惩罚, 因此 θ0 的值是大的 这就是一个约定, 但其实在实践中这只会有非常小的差异 ,无论你是否包括θ0这项,结果只有非常小的差异,下边我们通过实验来证明,正则
2016-12-20 11:14:38
3648
原创 python手撸线性回归及参数解释
线性回归,简单的理解,在二维空间中,找到一条直线去尽可能的拟合样本数据,给出新的样本x,可以预测其y值,y是连续值,分类是离散值,如图1所示;如果是高维空间,那就是找到一个超平面去拟合,当然也可以是曲线;为了方便理解,以二维空间的直线为例,所谓找到最好的直线,就是找参数a和b,也就是theta[0],theta[1]。 如何去衡量一条直线是否是最好,在回归问题中一般用预测值与真
2016-12-14 11:57:12
14931
原创 人工神经网络
人工神经网络二分类问题,输出层使用softmax函数,所以输出层有两个神经元,output1表示样本属于类1的概率,output2表示样本属于类2的概率;输入的每个样本有两个特征,所以输入层有两个神经元,隐藏层假设有500个神经元,因为是全连接,所以W1(输入层与隐藏层间的权重)是2*500维矩阵,W2(隐藏层与输出层间的权重)是500*2维矩阵,b1是1*500矩阵,b2是1*2矩阵,b1和
2016-12-13 14:52:58
1610
转载 python数据可视化(matplotlib,pandas绘图,直方图,散点图,柱状图,折线图,箱线图)
原址:http://datacademy.io/lesson/63增加了一些注释数据可视化对于数据描述以及探索性分析至关重,恰当的统计图表可以更有效的传递数据信息。在 Python 中已经有很多数据可视化方面的第三方程序包,例如:matplotlibChacoPyXBokeh本节,我们将重点学习 matplotlib 的基础绘图功能以及 pandas 的高级可视化功
2016-10-09 15:58:02
101288
3
转载 Python Jupyter Notebook 中的错误异常与代码调试
Python Jupyter Notebook 中的错误异常与代码调试 - Datacademy 数析学院 | Datartisan http://datacademy.io/lesson/65Python Jupyter Notebook 中的错误异常与代码调试首先我们定义两个函数,以便够造成一些错误和异常,方便来进行对于 Jupyter
2016-10-08 14:57:48
39448
2
转载 使用sklearn进行集成学习——实践
1 Random Forest和Gradient Tree Boosting参数详解2 如何调参? 2.1 调参的目标:偏差和方差的协调 2.2 参数对整体模型性能的影响 2.3 一个朴实的方案:贪心的坐标下降法 2.3.1 Random Forest调参案例:Digit Recognizer 2.3.1.1 调整过程影响类参数 2.3.
2016-09-27 10:52:55
1131
转载 使用sklearn进行集成学习——理论
转自http://www.cnblogs.com/jasonfreak/p/5657196.html适合初学者,第四部分的公式没有仔细研究,前3部分通俗易懂目录1 前言2 集成学习是什么?3 偏差和方差 3.1 模型的偏差和方差是什么? 3.2 bagging的偏差和方差 3.3 boosting的偏差和方差 3.4 模型的独立性 3.5 小结
2016-09-26 17:38:37
1636
转载 偏差和方差的区别(机器学习)
关于偏差和方差,两个比较直观的解释作者:Jason Gu链接:http://www.zhihu.com/question/20448464/answer/20039077来源:知乎著作权归作者所有,转载请联系作者获得授权。偏差:描述的是预测值(估计值)的期望与真实值之间的差距。偏差越大,越偏离真实数据,如下图第二行所示。方差:描述的是预测值的变化范围,离散程度,也就是离其期
2016-09-26 15:00:52
1325
转载 java中堆(heap)和堆栈(stack)的区别
java中堆(heap)和堆栈(stack)有什么区别 stack 和 heap 都是内存的一部分stack 空间小,速度比较快, 用来放对象的引用heap 大,一般所有创建的对象都放在这里。栈(stack):是一个先进后出的数据结构,通常用于保存方法(函数)中的参数,局部变量.在java中,所有基本类型和引用类型都在栈中存储.栈中数据的生存空间一般在当前scopes内
2013-08-01 16:58:04
778
1
转载 java文件读写操作大全
http://blog.sina.com.cn/s/blog_4a9f789a0100ik3p.html一.获得控制台用户输入的信息 public String getInputMessage() throws IOException...{ System.out.println("请输入您的命令∶"); byte buffer[
2013-08-01 14:25:37
718
转载 [Java]读取文件方法大全
原文地址http://www.cnblogs.com/lovebread/archive/2009/11/23/1609122.html1、按字节读取文件内容2、按字符读取文件内容3、按行读取文件内容4、随机读取文件内容 public class ReadFromFile { /** * 以字节为单位读取文件,常用于读二进制文件,如图片、声
2013-08-01 14:23:07
642
转载 Integer与int的区别
jdk1.5引入了自动装箱(autoboxing)与自动拆箱(unboxing),这方便了集合类以及一些方法的调用,同时也使初学者对其感到非常之困惑。在此,我们来揭开其神秘的面纱。首先,需要厘清一些概念:1、Integer是一个类,用Integer声明一个变量其是一个对象类型(或者说引用类型);int是基本类型,用int声明的变量是非对象类型,即不能在其上调用方法。2、“==”作用
2013-05-23 11:12:56
777
转载 Java操作Hbase3
http://www.cnblogs.com/panfeng412/archive/2011/08/14/2137984.html本文以HBase 0.90.2为例,介绍如何在Windows系统,Eclipse IDE集成环境下,使用Java语言,进行HBase客户端编程,包含建立表、删除表、插入记录、删除记录、各种方式下的查询操作等。1. 准备工作1、下载后安装jdk
2013-05-15 17:14:15
854
转载 Java操作Hbase2
http://javacrazyer.iteye.com/blog/11868811、搭建环境 新建JAVA项目,添加的包有: 有关Hadoop的hadoop-core-0.20.204.0.jar 有关Hbase的hbase-0.90.4.jar、hbase-0.90.4-tests.jar以及Hbase资源包中lib目录下的所有jar包 2、主要程序
2013-05-15 17:13:03
1080
转载 java操作hbase
http://blog.csdn.net/karen_wang/article/details/62841541、需要的jar包:commons-codec-1.4.jarcommons-logging-1.0.4.jarhadoop-0.20.2-core.jarhbase-0.20.6.jarlog4j-1.2.15.jarzooke
2013-05-15 17:11:31
984
转载 Java Collection
在 Java2中,有一套设计优良的接口和类组成了Java集合框架Collection,使程序员操作成批的数据或对象元素极为方便。这些接口和类有很多对抽象数据类型操作的API,而这是我们常用的且在数据结构中熟知的。例如Map,Set,List等。并且Java用面向对象的设计对这些数据结构和算法进行了封装,这就极大的减化了程序员编程时的负担。程序员也可以以这个集合框架为基础,定义更高级别的数据抽象,比
2013-05-15 15:10:38
697
转载 将java console的输出写入文件
将java运行时控制台的输出内容写入文件将java console的输出写入文件FileOutputStream bos = new FileOutputStream("output.txt");System.setOut(new PrintStream(bos));System.out.println("output to output.txt");
2013-05-15 11:51:54
3323
1
转载 关于typedef的用法总结
原文地址http://www.cnblogs.com/csyisong/archive/2009/01/09/1372363.html不管实在C还是C++代码中,typedef这个词都不少见,当然出现频率较高的还是在C代码中。typedef与#define有些相似,但更多的是不同,特别是在一些复杂的用法上,就完全不同了,看了网上一些C/C++的学习者的博客,其中有一篇关于typedef的总
2013-05-10 16:50:27
561
原创 java.lang.NoClassDefFoundError
java.lang.NoClassDefFoundError可能是你用的包里import了其他包的类,所以要把你import的包的lib中的jar包都导入到工程里
2013-05-10 16:44:18
499
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人