- 博客(33)
- 收藏
- 关注
原创 Concurrent包源码分析(二): AtomicIntegerArray和
在某些情况下,我们可能需要对一系列的整数进行线程同步的更新,则可以使用AtomicIntegerArray类。 private static final Unsafe unsafe = Unsafe.getUnsafe(); private static final int base = unsafe.arrayBaseOffset(int[].class); priv...
2019-08-11 20:33:59
170
原创 Concurrent源码(一):AtomicInteger
最近准备认真看一下Concurrent包的源码,在这里也算做一下记录吧作为java的并发包,Concurrent里首先提供了一些原子类,用于实现多线程下的线程同步。先看AtomicInteger的成员变量和初始化方法 // 用于进行更新操作 private static final Unsafe unsafe = Unsafe.getUnsafe(); priv...
2019-08-10 22:13:28
216
原创 Spring5源码分析(一)
简述Spring框架是由于软件开发的复杂性而创建的。Spring使用的是基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅仅限于服务器端的开发。从简单性、可测试性和松耦合性角度而言,绝大部分Java应用都可以从Spring中受益。类加载Spring通过ApplicationContext类,将Xml和基于注解配置的Bean加载到Spring 容器中进行统一...
2019-04-22 21:04:12
426
原创 百度笔试 机器学习/数据挖掘卷 编程题代码 2019.4.2
题目如下:题目大概意思:给定字符串,每次可以把第一个字母移到最后,问一共能产生多少个不同的字符串给字符串A和字符串B,输入Q个[l,r]左右边界对,问每一对[l,r]对应的字符串A[l:r]中包含多少个B串我的解法:Python写的第一题暴力hash过了83%
2019-04-02 23:10:28
964
原创 为什么LR要用对数似然,而不是平方损失?
(1)凸函数的角度https://www.zhihu.com/question/47744216用平方损失之类的得到的函数不是凸函数(2)导数的角度当y_true = 1时,如果f(x)=1, 则dL/dw=0,符合预期 如果f(x)=0, dL/dw=0,不符合预期,得到错误解...
2019-03-21 15:51:43
1954
转载 什么样的模型对缺失值更敏感?
https://blog.csdn.net/yH0VLDe8VG8ep9VGe/article/details/78265671主流的机器学习模型千千万,很难一概而论。但有一些经验法则(rule of thumb)供参考:1. 树模型对于缺失值的敏感度较低,大部分时候可以在数据有缺失时使用。2. 涉及到距离度量(distance measurement)时,如计算两个点之间的距离...
2019-03-21 15:49:27
8377
1
原创 最大似然估计 和 最小二乘法
本文内容主要参考知乎问题下的回答:https://www.zhihu.com/question/20447622最大似然估计与最小二乘法的解释:最大似然估计:现在已经拿到了很多个样本(你的数据集中所有因变量),这些样本值已经实现,最大似然估计就是去找到那个(组)参数估计值,使得前面已经实现的样本值发生概率最大。因为你手头上的样本已经实现了,其发生概率最大才符合逻辑。这时是求样本所有观测...
2019-03-21 15:45:10
5726
原创 ResNet, AlexNet, VGG, Inception: 理解各种各样的CNN架构
转自https://zhuanlan.zhihu.com/p/32116277卷积神经网络在视觉识别任务上的表现令人称奇。好的CNN网络是带有上百万参数和许多隐含层的“庞然怪物”。事实上,一个不好的经验规则是:网络越深,效果越好。AlexNet,VGG,Inception和ResNet是最近一些流行的CNN网络。为什么这些网络表现如此之好?它们是如何设计出来的?为什么它们设计成那样的结构?回答...
2018-12-12 21:04:23
446
转载 面向对象的三个基本特征 和 五种设计原则
一、三个基本特征 面向对象的三个基本特征是:封装、继承、多态。封装封装最好理解了。封装是面向对象的特征之一,是对象和类概念的主要特性。封装,也就是把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏。继承面向对象编程 (OOP) 语言的一个主要功能就是“继承”。继承是指这样一种能力:它可以使用现有类的所有功能,并在无...
2018-12-12 20:34:44
185
原创 Leetcode | 30. Substring with Concatenation of All Words
You are given a string, s, and a list of words, words, that are all of the same length. Find all starting indices of substring(s) in s that is a concatenation of each word in words exactly once and wi...
2018-12-11 23:08:23
101
原创 Leetcode | 45. Jump Game II
Given an array of non-negative integers, you are initially positioned at the first index of the array.Each element in the array represents your maximum jump length at that position.Your goal is to...
2018-12-11 22:11:59
131
原创 Leetcode | 116. Populating Next Right Pointers in Each Node 二叉树增加next指针指向右边节点
Given a binary treestruct TreeLinkNode { TreeLinkNode *left; TreeLinkNode *right; TreeLinkNode *next;}Populate each next pointer to point to its next right node. If there is no next right...
2018-12-10 21:16:10
154
原创 Leetcode | 124. Binary Tree Maximum Path Sum 二叉树最大路径和
https://leetcode.com/problems/binary-tree-maximum-path-sum/Given a non-empty binary tree, find the maximum path sum.For this problem, a path is defined as any sequence of nodes from some starting ...
2018-12-10 20:57:23
171
转载 逻辑回归与决策树在分类上的区别
原文:https://blog.csdn.net/keepreder/article/details/47152273 有些分歧是表面的,例如决策树可以对付缺失值,而逻辑回归需要挖掘人员预先对缺失数据进行处理。但实际上决策树同样要对缺失值做出某种假设和处理。例如CART在遇到一个变量中有缺失情况时,是用次级变量进行替换切分。这种做法在逻辑回归中也可以办到,但需要单独的编程。而在决策树中,这一步...
2018-12-05 19:36:30
8614
原创 倒排索引原理 | lucene
转自https://blog.csdn.net/u011239443/article/details/60604017倒排索引原理和实现关于倒排索引搜索引擎通常检索的场景是:给定几个关键词,找出包含关键词的文档。怎么快速找到包含某个关键词的文档就成为搜索的关键。这里我们借助单词——文档矩阵模型,通过这个模型我们可以很方便知道某篇文档包含哪些关键词,某个关键词被哪些文档所包含。单词...
2018-11-29 21:17:01
188
转载 如何处理类别不平衡问题
转自 https://zhuanlan.zhihu.com/p/32940093三种方法:对较多的那个类别进行欠采样(under-sampling),舍弃一部分数据,使其与较少类别的数据相当 对较少的类别进行过采样(over-sampling),重复使用一部分数据,使其与较多类别的数据相当 阈值调整(threshold moving),将原本默认为0.5的阈值调整到 较少类别/(较少类...
2018-11-29 16:38:57
3392
原创 随机森林 | GBDT | XGBOOST | LightGBM 比较
目录各种模型+正则的名称随机森林 vs GBDTXGBOOST vs GBDTLightGBM vs GBDTLightGBM vs XGBoostRF、GBDT、XGBoostLightGBM 关于直方图算法的解释特性类别特征支持速度和内存使用的优化稀疏优化准确率的优化Leaf-wise (Best-first) 的决策树生长策略 ...
2018-11-28 20:32:12
6695
1
转载 GBDT 梯度上升树
转载自https://zhuanlan.zhihu.com/p/29765582(有部分修改)现在网上介绍gbdt算法的文章并不算少,但总体看下来,千篇一律的多,能直达精髓的少,有条理性的就更稀少了。我希望通过此篇文章,能抽丝剥茧般的向初学者介绍清楚这个算法的原理所在。如果仍不清楚可以在文后留言。1、如何在不改变原有模型的结构上提升模型的拟合能力假设现在你有样本集 ,然后你用一个模型...
2018-11-28 16:53:26
742
原创 操作系统相关基本概念
目录CPU、调度器、内存、虚拟地址、进程、线程互斥锁、信号量转自http://www.ruanyifeng.com/blog/2013/04/processes_and_threads.html 中的评论区抛开各种技术细节,从应用程序角度讲:CPU、调度器、内存、虚拟地址、进程、线程1、在单核计算机里,有一个资源是无法被多个程序并行使用的:cpu。没有操作系统的情况下,...
2018-11-27 14:47:02
252
原创 统计学习方法 第六章 | 逻辑斯蒂回归
目录1 逻辑斯蒂回归模型2 模型参数估计3 多分类逻辑斯蒂回归4 逻辑回归和线性回归的区别1 逻辑斯蒂回归模型 2 模型参数估计似然函数 L(w|x) = P(x|w)可以采用对L(w)进行梯度上升的方法进行学习* 梯度推导过程 3 多分类逻辑斯蒂回归 4 逻辑回归和线性回归的区别首先,逻辑回归处理的是分类问题,而线性...
2018-11-22 19:11:26
454
1
原创 统计学习方法 第四章 | 朴素贝叶斯法
目录1 朴素贝叶斯法的学习与分类1.1 基本方法1.2 后验概率最大化的含义2 朴素贝叶斯法的参数估计2.1 极大似然估计2.2 贝叶斯估计法1 朴素贝叶斯法的学习与分类1.1 基本方法假设训练数据集 由 独立同分布产生(1)学习先验概率分布 (2)学习条件概率分布 (3)于是学习到联合概率分布 朴素贝叶斯法对条件概率分布作了...
2018-11-21 18:12:09
173
原创 统计学习方法 第三章 | k近邻法
目录1 k近邻算法2 k近邻模型2.1 模型2.2 距离度量2.3 k值的选择2.4 分类决策规则1 k近邻算法3个基本要素:k值的选择 + 距离度量 + 分类决策规则 k近邻算法:给定一个训练数据集,对于新的输入实例,在训练数据集中找到与该实例最邻近的k个实例,这k个实例的多数属于某个类,就把该输入实例分为这个类2 k近邻模型2.1 模型k近邻模型...
2018-11-21 16:51:32
226
原创 统计学习方法 第二章 | 感知机
目录1 感知机模型2 感知机学习策略任一点到超平面的距离推导过程感知机的损失函数3 感知机学习算法3.1 学习算法的原始形式3.2 学习算法的对偶形式1 感知机模型 2 感知机学习策略 任一点到超平面的距离推导过程x·y = x1y1+x2y2+...感知机的损失函数* 注意损失函数是定义在集合M上的,即只考虑误分类的...
2018-11-20 22:11:32
153
原创 极客时间: 数据结构与算法之美 21+22 | 哈希算法
https://time.geekbang.org/column/article/67388hash = 哈希 > 散列哈希算法将任意长度的二进制值串映射为固定长度的二进制值串特点:从哈希值不能反向推导出原始数据; 对输入数据非常敏感,哪怕原始数据只修改了一个 Bit,最后得到到Hash值也不同; 冲突的概率要小 执行效率高,对长文本也能快速计算出哈希值应用安全...
2018-11-20 15:36:06
376
原创 极客时间:从0开始学大数据 09 | Yarn资源调度框架
从图上看,Yarn 包括两个部分:一个是资源管理器(Resource Manager),一个是节点管理器(Node Manager)。这也是 Yarn 的两种主要进程:ResourceManager 进程负责整个集群的资源调度管理,通常部署在独立的服务器上;NodeManager 进程负责具体服务器上的资源和任务管理,在集群的每一台计算服务器上都会启动,基本上跟 HDFS 的 DataN...
2018-11-20 15:35:06
1183
原创 极客时间 01 | 一条SQL查询语句的执行过程
【极客时间课程笔记,图非原创】MySQL逻辑框架server层:如图,所有跨存储引擎的功能都在这一层实现,比如存储过程、触发器、视图等 存储引擎层:负责数据的存储和提取。其架构模式是插件式的,支持InnoDB、MySIAM、Memory等多个存储引擎。最常用的是InnoDB(从5.5.5版开始成为默认)。MySQL逻辑框架【长连接 vs 短连接】长连接:连接成功后,如果客户...
2018-11-20 15:32:01
170
转载 RDD vs DataFrame vs DataSet
转载自https://www.jianshu.com/p/77811ae29fdd目录1. 前言2. RDD/DataFrame快速回顾3. 步入正文,Dataset1. 前言RDD、DataFrame、Dataset是Spark三个最重要的概念,RDD和DataFrame两个概念出现的比较早,Dataset相对出现的较晚(1.6版本开始出现),有些开发人员对此还不熟悉...
2018-11-15 15:54:53
365
1
原创 Hadoop学习笔记 (1)HDFS的搭建
由于现在网上大多是一些centos 6.5或者6.0的hadoop配置方式,所以特别准备了一篇centos7.0配置hadoop的方式,本文只讲配置,不讲具体原因,想要知道一些参数含义的可以去官网查看。环境平台:centos 7.0虚拟机(采用的桥接方式连接,这样可以用固定ip地址访问虚拟机)JDK版本:java 1.8第一步 配置SSH 无密码登录打开控制台,输入ssh -keygen -t r...
2018-04-20 22:10:08
180
原创 Go中关键字defer浅析
defer是go中非常好用的关键字,它们都是在程序即将结束时执行,可以用来执行一些关闭文件的操作,并且按照声明时的逆序进行执行1、defer的调用顺序与它的声明顺序相反func main() { for i := 0; i < 4; i++ { defer fmt.Println(i) }}输入结果为:32102、defer中参数的值为当其声明时参数的值func m...
2018-04-17 09:35:51
153
原创 Spring 学习(四) AOP
AOP的相关概念 切面就是关注点的模块化,即它要关注哪些对象,执行通知 连接点类似于触发AOP的函数或行为 通知就是连接点函数发生前、发生时、发生后可能的行为Advice的类型 AOP的JAVA实现AOP的配置方法: XML配置 使用和,声明到底是哪个类提供方法 配置接入点 expression表示匹配的方法,可以扫描所有方法,也可以配置到具体类的具体方法 before advic
2017-09-26 22:44:17
146
原创 Spring 学习(三)注解装配
Spring bean注解 是通过注解的方式完成xml的配置 所有 bean都可以用@Component 除此之外,还可以利用过滤器自定义扫描规则(什么注解继续使用,什么注解被忽略) 使用注解 定义Bean 可以显示设置BeanName,否则则会首字母小写 作用域 @Scope @Required 注解用于bean属性 setter方法,必须在配置的时候就被赋值,并不常用 @Autow
2017-09-24 20:38:01
321
原创 Spring 学习(二) Bean
Bean的配置项Id: IOC容器中的唯一表示,getBean里面的名字 Class: 具体实例化的哪个类 Scope:作用域 Constructor arguments: 构造器的参数 Properties:属性值 Autowiring mode:自动装配的模式 lazy-initialization mode:懒加载的模式 Initializatiion/destruction m
2017-09-24 10:27:31
180
原创 Spring 学习笔记(一) XML配置方法
面向接口编程什么是IOC当需要对象的时候,通过外部容器进行创建,获得依赖对象的过程,是通过IOC容器注入,动态指定某个接口属于某个实现。Spring的Bean配置Bean的初始化主要依赖两个包 org.springframework.beans org.springframework.context成员变量值的注入方式分为 设值注入和构造注入设置注入:直接在xml中直接配置变量的值,这时候所对应的
2017-09-23 13:46:30
168
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人