自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(26)
  • 资源 (4)
  • 收藏
  • 关注

原创 被掰弯的线性函数,海王一样的logstic

本文将要讲述的内容是多个机器学习方法推导的一些共通支出,虽涉及到算法的推导,但还是希望能尽量轻松愉快的讲解,并且能够帮助大家,将这几个算法的推导,更加系统化的理解。本文主要将要讲到的几个机器学习的方法包括线性回归、logstic回归、XGBoost、Word2Vector以及深度学习等一系列方法的推导以及他们在推导中的共通之处。可能这里提到的内容,很多大神都有提到过,没有关系,可以再次温习一下。

2020-04-19 00:05:57 414

原创 机器学习 相关算法原理及推导详解(目录页)

机器学习 相关算法原理及推导详解<索引>栏目传送(敬请期待)1、LeetCode 学习讲解2、其它1、传统机器学习1.1 线性回归 (Linear regression)详解1.2 逻辑回归 (Logistic regression)详解1.3 支撑矢量机(SVM)详解1.4 决策树 (Decision Tree) 详解1.5随机森林(Random Fore...

2020-04-06 20:09:14 240

原创 排序算法总结及java实现

前面三篇博文分别实现了快速排序:排序算法之快速排序java实现、堆排序:排序算法之堆排序java实现和归并排序:排序算法之归并排序java实现。本篇博文主要分析常用的几种排序算法。首先来看一下各个排序算法的复杂度,如下图所示(图片来自百度图片)1、插入排序插入排序(Insert Sort),每步将一个待排序的对象,按其排序码大小,茶如道前面已经排好序的一组对

2017-01-18 22:47:21 470

原创 排序算法之归并排序java实现

1、归并排序算法思想归并排序主要是二路归并排序。二路归并排序的基本思想是:设数组a中存放了n个数据元素,初始时把它们看成是n个长度为1的有序子数组,然后从第一个子数组开始,把相临的子数组两两合并,得到n/2个长度为2的新的有序子数组(当n为奇数时最后一个新的子数组长度为1);对这些新的子数组再两两合并;如此重复,直到得到一个长度为n的有序数组为止。二路归并排序过程如下图所示(图

2017-01-18 16:47:10 937 1

原创 排序算法之堆排序java实现

1、堆排序算法基本思想堆排序(Heap Sort)的基本思想是循环执行如下过程直到数组为 空:1)把堆顶a[0]元素(最大元素)和当前最大堆的最后一个元素交换;2)最大堆元素个数减1;3)调整根节点使之满足最大堆定义。什么是最大堆?堆是一个具有这样性质的顺序二叉树,每个非叶子节点的关键字大于等于它的孩子结点的关键字。显然在一个堆中,根节点具有最大值,而且堆中任何一个结点

2017-01-18 15:37:08 450

原创 排序算法之快速排序java实现

1、快速排序基本思想快速排序的基本思想是:一种划分交换排序。它采用了一种分治的策略,也可称其为分治法,是一种基于二叉树结构的交换排序方法。通过一趟排序将待排序记录分割成独立的两部分,其中一部分记录的关键字均比另一部分关键字小,则分别对这两部分继续进行排序,直到整个序列有序。首先来看一下快速排序算法的图解过程(图片来自网络):快速排序是一种不稳定的排序方法,它是目前给

2017-01-17 11:04:57 495

原创 机器学习:EM算法

EM算法是一种迭代算法,用于含有隐含变量的概率模型参数的极大似然估计,或极大后验概率估计。EM算法的每次迭代分为两步:E步,求期望(expectation);M步,求极大(maximization)。1、EM算法假定观测数据表示为 未观测数据表示为,则观测数据的似然函数为 通过最大似然估计建立目标函数,有 算法1(EM算法) 输入:观测变量数据Y,隐变量数据Z,联合分布 ,条件分布; 输

2017-01-15 15:03:36 867

原创 机器学习:支持向量机(SVM)

支持向量机(support vector machines,SVM)是一种二分类模型,它的基本模型是定义在特征空间上的间隔最大的线性分类器,间隔最大使其有别于感知机;SVM还包括核技巧,这使它成为实质上的非线性分类器。SVM的学习策略就是间隔最大化,可形式化为一个求解凸二次规划的问题,也等价于正则化的合页损失函数的最小化问题。SVM的学习算法是求解凸二次规划的最优化算法。 --- 引自李航《统计学习方法》

2017-01-13 21:09:50 658

原创 机器学习:提升方法AdaBoost算法

AdaBoost算法是提升方法中具有代表性的一种算法,本篇博文主要学习AdaBoost的算法思想以及从前向分步加法模型的角度来解释AdaBoost算法。1、AdaBoost算法思路对于提升方法来说,其基本思路是从弱学习算法出发,反复学习,得到一系列弱分类器(基分类器),然后组合这些弱分类器,构成一个强分类。大多数提升方法都是改变训练数据的概率分布或权值分布,针对不同训练数据分布调用弱学习算法学习一系

2017-01-06 12:36:57 665

原创 机器学习:XGBoost

上一篇博文提到XGBoost是GBDT的扩展和改进,在GBDT中只用了一阶导信息,XGBoost中考虑了二阶导信息,对Loss Function做了二阶泰勒展开,并在目标函数上加入了正则项,用以权衡目标函数的下降和模型的复杂度,避免过拟合。1、目标函数 (式1) 式中第二项为正则项,第三项为常数项。 对L(.)进行一阶求导为gi,二阶求导为hi,根据泰勒展开式,则可将目标函数转化为如下

2017-01-04 13:17:50 1782

原创 机器学习:GBDT

Boosting系列算法里主要的算法有AdaBoost算法和提升树系列算法,而提升树系列算法里广泛应用的算法是GBDT(Gradient Boosted Decision)和XGBoost。GBDT是以决策树(CART树)为基函数的梯度提升算法,XGBoost是对GBDT的改进,以本篇博文主要学习GBDT、XGBoost的理论推导及两者之间的区别,本次主要来复习一下GBDT的相关理论知识,主要内容参考邹老师的PPT。

2017-01-04 10:42:14 1224

原创 机器学习:随机森林(Random Forest)

本博客参考邹博机器学习课件以及周志华的《机器学习》,仅用于督促自己学习使用,如有错误,欢迎大家提出更正。ps:前面几篇主要关注的是机器学习理论部分,后续博文会写一些相关的实践内容。随机森林(Random Forest)是在以决策树为基学习器构建Bagging集成的基础上,进一步在决策树的训练过程中引入了随机属性选择。首先,来了解一下Bagging的内容。1、BaggingBagging是一种并行式集

2016-11-04 00:15:47 1760

原创 机器学习:决策树(Decision Tree)

本博客参考邹博机器学习课件以及李航的《统计学习方法》,仅用于督促自己学习使用,如有错误,欢迎大家提出更正决策树(decision tree)是一种基本的分类与回归方法。在分类问题中,它可以认为是if-then规则的集合,也可以认为是定义在特征空间与类空间上的条件概率分布。在学习时,利用训练数据,根据损失函数最小化的原则建立决策树模型;在预测时,对新的数据,利用决策树模型进行分类。1、决策树 1)决

2016-11-01 21:47:27 5589 3

原创 机器学习:Logisitic回归

Logistic回归(logistic regression)是统计学习中经典的分类方法,其模型属于对数线性模型。1.Logistic分布(logistic distribution)什么是logistic分布? 我们假设有一组变量X是连续随机变量,当X具有下列分布函数和密度函数时,我们就说X服从Logistic分布, 分布函数: 密度函数: 式中,位置参数,为形状参数。logistic分的

2016-10-24 22:34:41 2033

原创 机器学习:线性回归(Linear Regression)

通过学习邹博《机器学习》的课程,学完之后感觉记忆支离破碎,现在再复习一下,加强记忆。 在统计学中,线性回归是利用称为线性回归方程的最小平方函数对一个或多个自变量和因变量之间关系进行建模的一种回归分析。这种函数是一个或多个称为回归系数的模型参数的线性组合。举个栗子: 我们要预测房价。当前自变量(输入特征)是房子面积x,因变量是房价y.给定了一批训练集数据。 我们要做的是利用手上的训练集数据,

2016-10-14 11:07:20 1206

原创 java学习基础篇(十)单例设计模式

Java中单例设计模式的定义:一个类有且仅有一个实例,并且自行实例化向整个系统提供。其要点有三: 1、 某个类只能有一个实例; 2、 它必须自行创建这个实例; 3、 它必须自行向整个系统提供这个实例。从具体实现角度来看,即为以下三点: 1、 单例模式的类中提供私有的构造函数; 2、 类定义中含有一个该类的静态私有对象; 3、 该类提供了一个静态的共有的函数用于创建或获取它本身

2016-07-13 14:33:11 546

原创 Java基础篇(九)==和equals方法

最近重新对java进行了入门学习,以下内容仅用来督促自己的学习。== (运算符):当“==”两边是基本类型变量,且都是数值类型(不一定要求数据类型严格相同)时,比较的是变量的值是否相等,相等,则返回true。当“==”两边是两个引用变量时,比较的是两个变量的内存地址是否一样,只有它们指向同一个对象时,==判断才为true。“==”不可用于比较类型上没意义父子关系的两个对象。equals()(方法):

2016-06-29 22:44:15 656

原创 Java基础篇(八)多态

以下内容总结于各种参考资料,仅用于督促自己的学习多态是同一个行为具有多个不同形式或形态的能力。多态性是对象多种表现形式的体现。Java引用变量有两个类型:编译时类型、运行时类型。编译时类型由声明该变量时使用的类型所决定,运行时类型由实际赋给该变量的类型所决定。如果两个类型不一致,就可能出现多态(Polymorphism)。 1、多态性 多态存在的三个必要性条件: 1) 继承 2) 重写(

2016-06-28 23:13:53 400

原创 java基础篇(七)super关键字

super是java提供的一个关键字,用于子类中调用父类的构造函数,实例变量和方法。1、 实例方法 如果需要在子类中调用父类被覆盖的实例方法,可以使用super来调用。 比如如下例子中,Ostrich类继承Bird类,并且覆盖了Bired类的fly()方法,要想继续调用父类的fly()方法,就在子类中添加一个callOverrideMethod()方法通过super显示调用父类被覆盖的实例方法

2016-06-27 22:53:01 531

原创 java基础篇(六)方法重写

子类扩展了父类,大部分的时候,子类总是以父类为基础,额外的增加新的成员变量和方法。但是有一种情况例外:子类需要重写父类的方法。比如说鸟类Birds都有飞翔Fly()“自由自在地飞”的本领,鸵鸟Ostrich是鸟类的子类,但鸵鸟不会飞翔,这个时候就需要重写Birds的方法Fly()方法为“不会飞,地上跑”。当子类中包含与与父类同名方法的现象被称为方法重写(Override),也被称为方法覆盖。 方法

2016-06-24 23:32:28 481

原创 java基础篇(五)访问控制符的使用

java提供了三个访问控制符:private、protected以及public,分别代表了三个访问控制级别,还有一个不加任何访问符的访问控制级别,总共四个访问控制级别。控制级别由小到大如图所示: 访问控制级别由小到大private(当前类访问权限):只能被当前类的内部访问; default(包访问权限):如果类里的一个成员(包括成员变量

2016-06-24 22:20:22 814

原创 java基础学习(四)java类的继承

java类的继承就是一个类(子类)可以使用extends继承另一个类(父类)。在继承中,除了父类的构造器以外,子类几乎可以继承父类所有的功能和属性。java类的继承只可以单继承,也就是说一个子类只能有一个父类,而多继承是出现在C++中的,但是在java类的继承中可以间接的继承,也就是说多重继承(A类继承B类,B类继承C类)。1.子类继承父类的成员变量  当子类继承了某个类之后,便可以使用父

2016-06-22 23:20:58 597

原创 java学习基础篇(三)方法重载

本科时曾自学过一段时间的Java,上研之后就基本没再碰过了,现在想要重新捡起来,所以把这些整理一下,主要是用来督促自己的学习,该资料整理来源于尚硅谷-佟刚的教学视频,仅用来学习。方方的重载就是在同一个类中允许同时存在一个以上的同名函数,只要它们的参数列表不同即可;这里的参数列表包括参数个数、参数类型以及参数顺序,三者中只要有一个不同即为重载。下面我们来看一个实例。public class Test

2016-06-21 23:39:49 557

原创 java学习基础篇(二)构造器的定义与作用

本科时曾自学过一段时间的Java,上研之后就基本没再碰过了,现在想要重新捡起来,所以把这些整理一下,主要是用来督促自己的学习,该资料整理来源于尚硅谷-佟刚的教学视频,仅用来学习。构造方法的特征 - 它具有和类相同的名称; - 它不含返回值; 注意: 在构造方法里不含返回值的概念是不同于“void”的,在定义构造方法时加了“void”,结果这个方法就不再被自动调用了。构造方法的作用 当一个类的实例对象

2016-06-16 20:58:17 7482

原创 Java学习基础篇(-)类和对象

本科大三时自学过java,上研之后就基本没再碰过了,现在想要重新捡起来,所以把这些整理一下,主要是用来督促自己的学习,该资料整理来源于尚硅谷-佟刚的教学视频,仅用来学习。面向对象的三大特征 -封装(Encapsulation) -继承(Inheritance) -多态(Poiymorphism)类(class)是对一类事物的描述(抽象);对象(object)是该类实物的每个个体(

2016-06-16 12:07:16 4319 1

原创 windows下安装xgboost的python包

最近参加一些竞赛用到xgboost算法,首先第一步就是要安装xgboost的包到python下,由于xgboost原作者github上的windows目录删除了,所以在尝试安装的过程中遇到了挺多问题,在网上找了很多办法尝试,参考这篇博文如何在python下安装xgboost,终于安装好了,感谢博主。现在整理一下。1、下载原来的具有windows目录的xgboost包,链接:winows下python

2016-06-11 17:12:18 2951

最新JAVA编程题全集(50题及答案)

最新JAVA编程题全集(50题及答案),java是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由Sun Microsystems公司于1995年5月推出的Java程序设计语言和Java平台.

2014-03-21

2012华为校园招聘上机笔试题+机试

华为技术有限公司是一家生产销售通信设备的民营通信科技公司,总部位于中国广东省深圳市龙岗区坂田华为基地。2012华为校园招聘上机笔试题+机试+自己做出来的.

2014-03-21

南开一百题网络技术

经典计算机等级考试三级网络技术一百题

2014-03-15

java算法大全源码包

java算法大全源码包,内含大量源代码,该文件来源于Java私塾,Java私塾是北京Java培训就业质量最好的机构,助你轻松实现5000以上就业。长期致力于高端Java培训,打造最新、最深、最精、最贴近企业开发的Java就业培训课程。

2014-03-15

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除