自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 批处理命令——bat文件创建和基本命令语法

批处理文件创建: 1. 使用copy con命令创建批处理文件 con(console)代表计算机屏幕,该命令是将计算机屏幕上的内容输入到指定的文件中,适用于创建较小的bat文件,不能用于已有的bat文件编辑 2. 用记事本创建批处理文件 2. 使用edit命令创建和编辑批处理文件,比较古...

2020-05-20 22:15:31 111 0

原创 设计模式——构建器(builder)

Factory Method,Abstract Factory,Prototype,Builder属于”对象创建“模式。“对象创建”绕开new,来避免new过程中导致的紧耦合,从而支持创建对象的稳定性。 motivation:在面对“一个复杂对象”创建时,通常其各子部分用一定的算法构成;由于需求...

2020-01-06 00:43:10 45 0

原创 设计模式——解析器(parser)

特定领域,某些变化虽然频繁,但是可以抽象为某种规则;结合特定领域,将问题抽象为语法规则,从而给出该领域的一般性解决方案。 interpreter属于"领域规则"模式。 motivation:软件构件过程中,对于某一特定领域的问题比较复杂,类似结构重复出现;可以将特定领域的问...

2020-01-05 22:14:30 182 0

原创 设计模式——访问器模式(visitor)

组件构建构成中,组件行为的变化经常导致组件本身剧烈的变化;“行为变化”将组件本身和组件行为解耦,从而支持组件行为变化。 command,visitor属于行为变化模式。 motivation:软件构件过程中,由于需求的变化,某些类的层次结构中,常常需要增加新的行为,入股直接在基类中进行更改,将...

2019-12-23 02:38:59 48 0

原创 设计模式——命令模式(command)

组件构建构成中,组件行为的变化经常导致组件本身剧烈的变化;“行为变化”将组件本身和组件行为解耦,从而支持组件行为变化。 command,visitor属于行为变化模式。 motivation:软件构件过程中,“行为请求者”和“行为执行者”常常呈现出紧耦合;在某些场合——例如记录、撤销/重做,事...

2019-12-23 01:49:55 15 0

原创 设计模式——职责链(chain of responsibility)

常常在一些组件内部会有特定数据结构,如果客户代码直接使用这些特定数据结构,会极大破坏组件复用;因此,可以将组件中主句结构封装在内部,为外部提供统一的接口,来实现与特定数据结构无关的访问。 composite,iterator,chain of responsibility属于数据结构模式。 m...

2019-12-23 01:26:03 32 0

原创 设计模式——迭代器(iterator)

常常在一些组件内部会有特定数据结构,如果客户代码直接使用这些特定数据结构,会极大破坏组件复用;因此,可以将组件中主句结构封装在内部,为外部提供统一的接口,来实现与特定数据结构无关的访问。 composite,iterator,chain of responsibility属于数据结构模式。 m...

2019-12-23 00:52:54 25 0

原创 设计模式——组合模式(composite)

常常在一些组件内部会有特定数据结构,如果客户代码直接使用这些特定数据结构,会极大破坏组件复用;因此,可以将组件中主句结构封装在内部,为外部提供统一的接口,来实现与特定数据结构无关的访问。 composite,iterator,chain of responsibility属于数据结构模式。 m...

2019-12-22 23:03:55 32 0

原创 设计模式——状态模式(state)

在组件构件的过程中,某些对象的状态经常变化,如何对这些变化进行有效的管理,同时维持高层模块的稳定。 state,memento属于状态变化类别的设计模式。 motivation:在软件构件过程中,某些对象的状态发生变化,其行为也相应发生变化;如何在运行时根据对象状态来透明更改对象行为,而不会在...

2019-12-22 22:10:52 24 0

原创 设计模式——适配器模式(adapter)

某些接口之间的依赖,往往会带来问题,添加一层间隔的稳定接口来隔离接口,常常是一种解决办法。 facade,proxy,adapter,mediator属于接口隔离类。 motivation:软件系统中,由于应用环境的变化,常常需要将一些现存对象,放在新的环境中使用,但是新环境中对接口的要求是这...

2019-12-08 17:03:03 24 0

原创 设计模式——代理模式(proxy)

某些接口之间的依赖,往往会带来问题,添加一层间隔的稳定接口来隔离接口,常常是一种解决办法。 facade,proxy,adapter,mediator属于接口隔离类。 motivation:在某些情况下(例如对象创建的开销很大,某些操作需要安全控制,或者需要进行线程外的访问),直接访问会给使用...

2019-12-08 16:16:01 15 0

原创 设计模式——门面模式(facade)

某些接口之间的依赖,往往会带来问题,添加一层间隔的稳定接口来隔离接口,常常是一种解决办法。 facade,proxy,adapter,mediator属于接口隔离类。 motivation:A方案中组件的客户以及组件中子系统存在过多的耦合,为子系统中的一组接口提供稳定界面,需要提供一个高层接口...

2019-12-08 15:20:39 26 0

原创 设计模式——单件模式(singleton)

“面对对象”很好解决了抽象的问题,通常面对对象的成本几乎可以忽略不计,但是有时候面对起成本需要谨慎对待。 singleton,flyweight属于”对象性能“模式。 motivation:在软件中,有时候一个对象只需要一个对象的存在,才能保证正确的逻辑和良好的效率。 key interfa...

2019-12-06 18:14:43 18 0

原创 设计模式——原型模式(prototype)

Factory Method,Abstract Factory,Prototype,Builder属于对象创建模式。 prototype模式使用情况比较少,通过深拷贝来复制当前状态的对象??? motivation:创建某些结构非常复杂的对象,由于需求的变化,这些对象面临着剧烈的变化,但是他们...

2019-12-05 21:05:01 22 0

原创 设计模式——抽象工厂(absolute factory)

Factory Method,Abstract Factory,Prototype,Builder属于对象创建模式。 motivation:可能面对一系列相互依赖的对象时;可能面对更多系列对象的创建工作。 key interface or class: 1. IFactory基类接口。 f...

2019-12-02 21:13:20 27 0

原创 设计模式——工厂方法(Factory Method)

Factory Method,Abstract Factory,Prototype,Builder属于对象创建模式。 motivation:在创建对象时,创建对象的具体类型经常变化;定义一个用于创建对象的接口,让子类来决定实例化哪个类,使得实例化延迟(目的是解耦,手段是虚函数)。 key in...

2019-11-24 21:52:41 28 0

原创 设计模式——桥模式(bridge)

Decorator,Bridge属于单一职责模式。 motivation:某些类型的固有实现逻辑,是的他们又多个维度的变化;需要使得类型在者多个维度上(如实现平台和实现的版本)进行灵活变化,而不带来额外的复杂度。 key interface or class: 1.接口类,如Messager...

2019-11-24 18:11:42 27 0

原创 设计模式——装饰器模式(decorator)

Decorator,Bridge属于单一职责模式。 motivation:过度使用继承来扩展对象的功能,由于继承为类型引入了静态特性,是的这种扩展缺乏灵活性;并且随着子类的增多,更多子类的组合会导致更多子类的膨胀。(使用组合优于继承的设计原则) 上图的众多子类经过重构之后,形成下图子类较少...

2019-11-23 23:00:04 17 0

原创 设计模式——策略模式(strategy)

Template、Strategy、Observor属于构件协作类型的设计模式。 motivation:某些对象使用的算法多种多样经常改变,如果这些对象都编码到对象中,将导致对象算法十分复杂;支持不使用的算法也是一种性能负担(封装算法,相互替换)。 key interface or class...

2019-11-23 18:33:58 15 0

原创 设计模式——模版模式(template)

Template、Strategy、Observor属于构件协作类型的设计模式。 motivation:对于某一项任务,常常有稳定的整体操作结构,但是各个子步骤却又很多改变的需求,或者由于固有原因无法与整体任务结构一起实现(整体稳定,局部变化)。 key interface or class:...

2019-11-23 17:29:45 22 0

原创 设计模式——观察者模式(observor)

Template、Strategy、Observor属于构件协作类型的设计模式。 motivation:在目标对象状态发生改变时,所有订阅者将得到通知;构建消息通知依赖关系,并使之到达松耦合。 key interface or class: 1.observor—观察者,在目标状态更...

2019-11-17 19:00:38 29 0

原创 机器学习——集成算法(二)

接着集成算法讲讲GBDT和Xgboost,二者的原理其实差不多的,他们都属于提升算法。梯度上升(Gradient Boosting)是说,在集成算法中每个弱决策树的生成都是依据损失函数的梯度方向。 提升算法,是找到找到最优解F(x)使得损失函数在训练集上期望(偏差)最小。损失函数若是回归则常取最...

2018-09-20 14:40:07 345 0

原创 机器学习算法——逻辑回归

逻辑回归可以说是基于线性回归的了,但是它实际上是做分类工作的,原理虽然简单但是也可以引出很多机器学习的概念。 我们分类的标签如果设定为[0, 1],那么则需要一个函数将映射到0~1的范围,这样就需要一个近似单位阶跃的单调可微的函数,对数几率函数正是这样的函数。                 ...

2018-09-10 21:12:44 120 0

原创 机器学习算法——线性回归

线性回归应该算机器学习算法里面最基础的算法了,分别用作回归(y值为连续值)和分类(y值为离散)。在学习线性回归的过程中,有很多机器学习的概念和方法是在这时候提出的。 在现实中变量之间的关系,是有确定的和非确定的。确定关系指的是变量之间可以使用函数关系式表示,非确定的部分我们可以用概率分布来表示,...

2018-09-09 23:16:05 115 0

原创 机器学习总结——数据预处理和特征工程

实际生产中机器学习的整个过程应该是如下的几步(后面还将从数据挖掘的角度另文进行讲解): 1.场景选择(算法选择)——根据实际问题选择合适的算法,是分类还是回归等,是否需要做特征抽象,或者特征缩放; 2.数据预处理——缺失值的处理,数据清洗等等; 3.特征工程——包括特征构建、特征提取、特征选...

2018-09-09 16:56:01 1195 0

原创 机器学习算法——支持向量机

支持向量机(SVM,support vectors machine)的算法原理比较简单,就是寻找最大间隔讲两个类别分开,从数学上推可能复杂点。按照样本的情况一下三种: ①当训练样本线性可分时,通过硬间隔最大化——线性可分支持向量机; ②当训练样本近似线性可分时,通过软间隔最大化——线性支持向量...

2018-08-31 18:00:24 183 0

原创 机器学习算法——集成算法(一)

集成算法(Emseble Learning)是构建多个学习器,然后通过一定策略结合把它们来完成学习任务的,常常可以获得比单一学习显著优越的学习器。周志华的书上说,“个体学习器的"准确性"和"多样性"本身就存在冲突,一般准确性很高之后,要增加多样性就需牺牲准确...

2018-08-27 19:26:52 4211 0

原创 机器学习算法——决策树

决策树(Decession Tree) 算法用处很多,而且还是一些集成算法的基础。它的基本原理是:选取某个特征属性,按照特征值来讲最初的样本集分开成两个节点,对分开的节点再选取特征进行划分生成新的节点,一直递归地划分下去直到满足一定条件为止(全部叶子节点中都是一类,或者树的层数、宽度达到一定数值)...

2018-08-25 01:14:18 213 0

原创 机器学习算法——K近邻

KNN(K-Nearest Neighbor,K近邻)算法作为一种分类算法,它的实现原理比较简单:1.指定K值;2.计算当前点与样本点中的距离,并按从小到大顺序排列;3.在距离最小的前K个点中,统计样本的标签数量,将当前点分类到同类最多的类别里面去(也就是少数服从多数的原则)。         ...

2018-08-23 20:27:58 117 0

原创 机器学习算法——聚类

聚类属于无监督学习,事先不知道数据会分为几类,通过聚类分析将数据聚合成几个群体。聚类是不需要对数据进行训练和学习的。主要的聚类算法有K-Means和DBSCAN。 K-Means算法的基本原理比较简单:1.指定K值(数据要分成的簇的数目),并指定初始的k个质心;2.遍历每个数据点,计算其到各个质...

2018-08-23 14:50:44 175 0

原创 机器学习总结(四)——最优化方法

机器学习中所谓的训练其实就是损失函数的优化过程,求损失函数的最优化解,主要是得靠一些常规套路,去一点一点地接近最优化目标。 常用的有梯度下降法、牛顿法和拟牛顿法、共轭梯度法、启发式优化方法、拉格朗日乘数法等。 一、梯度下降法(Gradient Descent)        梯度下降法实现的...

2018-08-21 21:57:19 881 0

原创 机器学习总结(三)——损失函数

经典机器学习算法,他们最本质的区别是分类思想(预测y的表达式)不同,有的是基于概率模型,有的是动态规划,表象的区别就是最后的损失函数不同。 损失函数分为经验风险损失函数和结构风险损失函数,经验风险损失函数反映的是预测结果和实际结果之间的差别,结构风险损失函数则是经验风险损失函数加上正则项(L0、...

2018-08-21 19:59:33 32547 0

原创 机器学习总结(二)——主要过程和名词

讲述机器学习算法的主要过程,以及涉及的一些名词。 1、物理意义,学习不太算法时需要了解其基于什么样的物理过程,比如逻辑回归是将样本的特征通过函数映射为一个(0,1)之间的数字,如果大于决策边界(如0.5)则判定为标签1,小于则判定为0。物理意义其实相当于模型的定义,或者建立模型建立的过程。 2...

2018-08-20 19:03:04 140 0

原创 机器学习总结(一)——主要算法

自学了一段时间的机器学习后来写写自己的一些理解,首先理一下各种学习方法,以及它们的分类。 机器学习的主要算法分为: 一、监督学习(指样本带有标签,知道每个样本分属哪个类别):        主要包括分类和回归,但是很多方法其实可以用于分类,也可以用于回归,如决策树(DT)等。 分类—— 1...

2018-08-19 19:35:58 371 0

原创 leetcode121-python 买卖股票最佳时机

Say you have an array for which the ith element is the price of a given stock on day i.If you were only permitted to complete at most one transaction...

2018-07-07 17:51:06 229 0

原创 leetcode-118 python 杨辉三角

Given a non-negative integer numRows, generate the first numRows of Pascal's triangle.In Pascal's triangle, each number is the sum of the t...

2018-07-05 21:03:18 198 0

原创 leetcode112-python 路径总和

Given a binary tree and a sum, determine if the tree has a root-to-leaf path such that adding up all the values along the path equals the given sum.N...

2018-07-05 20:16:42 307 0

原创 leetcode111-python 二叉树的最小深度

Given a binary tree, find its minimum depth.The minimum depth is the number of nodes along the shortest path from the root node down to the nearest l...

2018-07-05 19:30:24 369 0

原创 leetcode110-python 平衡二叉树

Given a binary tree, determine if it is height-balanced.For this problem, a height-balanced binary tree is defined as:a binary tree in which the dept...

2018-07-05 16:46:55 1032 0

原创 leetcode-108 将有序数组转化为二叉搜索树

Given an array where elements are sorted in ascending order, convert it to a height balanced BST.For this problem, a height-balanced binary tree is d...

2018-07-05 15:42:13 77 0

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