- 博客(20)
- 资源 (2)
- 收藏
- 关注
原创 Lambda表达式浅析(一)
Lambda表达式基础知识Lambda表达式是JAVA1.8之后引入的一个新的概念,对于Lambda表达式,有两个结构十分关键,一个是Lambda表达式本身,还有一个是函数式接口。Lambda表达式不能单独存在,本质上是一个匿名方法,提供了函数式接口的实现。函数式接口是只有一个抽象方法的接口。Lambda表达式引入了一个新的语法符号-> 符号左边是Lambda表达式参数列表,右边是Lambda表达式体,Lambda表达式体有两种形式,一种是只有一条语句的,另外是包含多个语句,需要用大括..
2020-09-20 22:28:43
156
原创 矩阵:如何使用矩阵进行PageRank计算
向量可以用一维度数组表示,矩阵可以用二维数组表示PageRank算法PageRank算法的公式为:其中pi为第i张网页,Mi为第i张网页入链的集合,Pj为Mi中的第i张网页,L(pj) 为Pj出链的数量,α为不随机冲浪的概率,1/L(pj)为从网页j到网页i的概率。PageRank是采用迭代法来实现的,初始的时候,每个网页的PageRank分数都一样(比如为1),利用上述公式不断地迭代更新网页的PR得分,PageRank是一个马尔科夫过程,网页PR得分最终会稳定在一个数值。简化Pa.
2020-08-30 22:10:31
2423
原创 拟合、欠拟合与过拟合
什么是拟合、适度拟合、欠拟合、过拟合每种机器学习模型都有自己的假设和参数。虽然朴素贝叶斯和决策树都属于分类算法,但是他们的假设是不一样的,朴素贝叶斯假设变量之间是独立的,决策树的假设是集合之间的纯净度或混乱程度。参数就是根据假设和训练样本推导出来的数据,朴素贝叶斯的参数就是先验概率和条件概率,决策树的参数就是各个节点以及节点上的决策条件。我们平时接触了很多监督机器模型,都会提到训练一个模型,更学术一点的术语叫拟合一个模型。所谓模型拟合(Model fitting)就是根据模型假设和样本推导参数的
2020-08-02 11:28:19
1932
原创 文本分类:如何区分特定类型的新闻
我们平时使用的新闻APP,把新闻分成了不同的类别,如政治、军事、财经等。新闻数据是海量的,计算机是如何对这些新闻进行自动分类的呢?我们上节介绍过朴素贝叶斯是以水果为例讲解如何给水果自动分类,同理我们也可以用于新闻的自动分类。在对新闻进行自动分类前,我们需要先对新闻进行自然语言处理。文本分类系统的基本框架1、采集训练样本对于每一个数据,我们都需要告诉计算机属于那个分类,新闻分类为例,我们需要明确告诉计算机新闻属于那个分类。训练数据的分类,相当于计算机学习的标准答案,其质量决定了学习效果的好坏。
2020-07-12 19:32:47
1239
原创 信息熵、信息增益以及决策树
什么是信息熵?信息熵是信息论的范畴,利用概率论和统计的方法,因此信息熵也被称为基于概率分布的信息熵。在介绍信息熵概念之前,先介绍一个基本的概念:区分能力。所谓区分能力是指把对象划分到具体分组的能力,比如金庸武侠小说里的英雄人物,每一个武侠人物都是性别、智商、情商、侠义、个性5个属性,如何根据这个5个属性来区分不同的武侠人物。如果某个属性可以将被测试的人物尽可能分到相应的组,那么可以认为这个问题的区分能力强。我们看性别和智商两个属性。图片来源:极客时间程序员的数学基础课我们看性别属性
2020-07-09 22:55:08
2235
原创 朴素贝叶斯定理:如何让计算机学会自动分类
本文是极客时间“程序员的数学基础课”学习笔记整理如何判断一个水果属于苹果还是西瓜?为了对水果进行分类,我们需要提取水果相关的属性,比如形状、大小、纹理等,如下表所示。 水果名称 形状 外观颜色 外观纹理 重量 握感 口感 苹果 不规则圆 红色 无 200
2020-07-09 22:39:41
429
原创 显著性检验与A/B测试(下)
上一节,介绍了显著性校验的基本概念, 显著性检验从统计学的角度来解释差异产生的概率,这与数值的差异有根本的区别。常用的显著性检验的方法有方程分析(F校验)、t校验、卡方校验等等。本节将着重介绍F检验。方差分析方差分析(Analysis of variance),也叫F校验,用来检验多组样本的均值是否有显著差异,它有四个假设前提 随机性:样本是随机产生的 独立性:不同组样本之间是相互独立的 正态分布性:同一组样本的数据来自于同一正太分布 方差齐性:不同组正太分布..
2020-07-09 20:20:02
1737
原创 显著性校验与A/B测试
最近在极客时间学习“程序员的数学基础课”,整理学习笔记如下。机器学习有不同的算法,如朴素贝叶斯、决策树等,每种算法都会产生不同的效果,如何量化地评价各种算法的结果?互联网公司一般通过用户的在线行为来测试算法的效果,这种测试有一个问题是如何排除非测试因素的干扰。图片来源极客时间“程序员的数学基础课”如上图转换率在2016年1月12日有一个突增,假如当天上线了一个新的算法A,那转化率一定是上线的新算法A造成的吗?现实结果是不一定,2016年1月12日可能是有一个促销打折活动导致转化率上升。假
2020-06-26 16:19:21
2583
原创 LEETCODE146 LRU缓存机制
一、题目描述运用你所掌握的数据结构,设计和实现一个LRU (最近最少使用) 缓存机制。它应该支持以下操作: 获取数据 get 和 写入数据 put 。获取数据 get(key) - 如果关键字 (key) 存在于缓存中,则获取关键字的值(总是正数),否则返回 -1。写入数据 put(key, value) - 如果关键字已经存在,则变更其数据值;如果关键字不存在,则插入该组「关键字/值」。当缓存容量达到上限时,它应该在写入新数据之前删除最久未使用的数据值,从而为新的数据值留出空间。来源:力..
2020-05-31 21:13:49
173
原创 LeetCode901股票价格跨度
一、题目描述编写一个 StockSpanner 类,它收集某些股票的每日报价,并返回该股票当日价格的跨度。今天股票价格的跨度被定义为股票价格小于或等于今天价格的最大连续日数(从今天开始往回数,包括今天)。例如,如果未来7天股票的价格是 [100, 80, 60, 70, 60, 75, 85],那么股票跨度将是 [1, 1, 1, 2, 1, 4, 6]。来源:力扣(LeetCode)链接:股票价格跨度示例:输入:["StockSpanner","next","next","nex
2020-05-19 22:15:21
244
原创 LeetCode103二叉树的锯齿形层次遍历
一、题目描述给定一个二叉树,返回其节点值的锯齿形层次遍历。(即先从左往右,再从右往左进行下一层遍历,以此类推,层与层之间交替进行)。例如:给定二叉树[3,9,20,null,null,15,7] 3 / \ 9 20 / \ 15 7返回锯齿形层次遍历如下:[ [3], [20,9], [15,7]]来源:力扣(Leet...
2020-04-23 09:32:53
91
原创 Hadoop之HDFS简介
HDFS基础架构HDFS的基础架构如下图所示。注:图片来源网易云课堂HDFS主要包含两中类型的节点:NameNode和DataNodeNameNode称为管理节点,主要作用:负责名称空间管理 负责文件到数据块的映射以及数据块与存储节点的对应关系DataNode称为数据存储节点主要作用:向管理节点汇报数据块信息; 存储节点之间通过复制操作来实现数据均衡和备份 与客...
2020-04-11 16:50:38
223
原创 二叉树重建
一、题目描述输入某二叉树的前序遍历和中序遍历的结果,请重建该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如,给出前序遍历 preorder =[3,9,20,15,7]中序遍历 inorder = [9,3,15,20,7]返回如下的二叉树: 3 / \ 9 20 / \ 15 7题目来源:二叉树重建二、...
2020-04-07 21:43:33
109
原创 寻找数组中的主要元素
一、题目描述如果数组中多一半的数都是同一个,则称之为主要元素。给定一个整数数组,找到它的主要元素。若没有,返回-1。示例 1:输入:[1,2,5,9,5,9,5,5,5]输出:5示例 2:输入:[3,2]输出:-1示例 3:输入:[2,2,1,1,1,2,2]输出:2题目链接寻找众数二、解题思路可以采用投票法,初始票数为0,遇到是众数的元素,则+...
2020-04-01 09:28:54
687
1
原创 合并两个有序的链表
一、题目描述输入两个递增排序的链表,合并这两个链表并使新链表中的节点仍然是递增排序的。示例1:输入:1->2->4, 1->3->4输出:1->1->2->3->4->4限制:0 <= 链表长度 <= 1000题目来源LeetCode合并两个有序链表二、解题思路由于两个链表原先就是有序的,遍历链表...
2020-04-01 09:15:11
98
原创 LeetCode地图分析
一、题目描述你现在手里有一份大小为N x N 的「地图」(网格)grid,上面的每个「区域」(单元格)都用0和1标记好了。其中0代表海洋,1代表陆地,请你找出一个海洋区域,这个海洋区域到离它最近的陆地区域的距离是最大的。我们这里说的距离是「曼哈顿距离」(Manhattan Distance):(x0, y0) 和(x1, y1)这两个区域之间的距离是|x0 - x...
2020-03-31 09:09:19
242
原创 二叉搜索树与双向链表
一、题目描述输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的循环双向链表。要求不能创建任何新的节点,只能调整树中节点指针的指向。题目详情见链接二叉搜索树与双向链表二、解题思路本题可以采用分治的思想来解决,即先把左子树转为双向链表,然后把根结点转为双向链表,最后把右子树转为双向链表,递归进行。由二叉搜索树的性质可知,二叉搜索树的中序遍历结果是一个有序的数组,因此可以借助二叉搜索...
2020-03-29 19:08:37
110
原创 数组中K个最大的元素
一、题目描述在未排序的数组中找到第k个最大的元素。请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。输入: [3,2,1,5,6,4] 和 k = 2输出: 5输入: [3,2,3,1,2,4,5,5,6] 和 k = 4输出: 4题目描述来源官方:https://leetcode-cn.com/problems/kth-largest-...
2020-03-29 18:47:04
202
原创 LeetCode之最长斐波那契子序列的长度
一、题目描述如果序列X_1, X_2, ..., X_n满足下列条件,就说它是斐波那契式的:n >= 3对于所有i + 2 <= n,都有X_i + X_{i+1} = X_{i+2}给定一个严格递增的正整数数组形成序列,找到 A 中最长的斐波那契式的子序列的长度。如果一个不存在,返回0 。(回想一下,子序列是从原序列 A中派生出来的,它从 A中删掉...
2020-03-29 18:37:11
83
原创 Linux ssh失败原因排查
一、SSH登录失败错误信息描述客户端通过ssh协议连接服务器是,出现错误,错误信息详情见截图二、错误排查 首先排查是否是客户端的问题,通过ping命令和telnet排查 ping结果如下图所示: telnet结果图下图所示: ping和telnet都通,说明不是客户端的问题,是服务器的原因,需要登录服务器排查虽然不能ssh到服务器,但是一般来说主机会提供一些方法去...
2018-02-24 11:07:10
6844
2
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人