- 博客(17)
- 资源 (3)
- 收藏
- 关注
原创 大部分人都理解错了的FPgrowth算法
摘要 韩家炜教授等人提出FP-growth(Frequent Pattern growth)算法是频繁模式(Frequent Pattern, FP)挖掘领域的经典算法,其高效性能的背后是强大的信息压缩树——频繁模式树(Frequent Pattern Tree, FPTree),但在构建FPTree的过程中很容易忽略一些关键的步骤,如正确的频繁模式顺序(Frequent Pattern Ordering, FPO)和排序结果的稳定性,这篇文章从原论文出发,分析当前网络上高点击量的复现文章的不当之处,给出一
2020-06-02 20:59:30
1425
1
原创 简明聚类分析入门
摘要 : 以“为什么需要聚类分析这一问题”作为引入,逐步阐述聚类分析领域是如何发展的。这篇文章主要阐述聚类分析的四类方法:划分方法、层次方法、基于密度的方法和基于网格的方法的基本原理以及它们中的代表算法和实现方式。将聚类算法的设计总结为两大核心:划分过程和相似度量的设计。1 引言 聚类分析技术已经发展了近60年,至今该领域依旧非常活跃[1]^{[1]}[1]。聚类分析的地位与其他的机器学习理论,如分类,SVM等,有所不同。首先,聚类分析是一个多学科交织
2020-06-02 20:58:46
1540
原创 探索SMOTE算法
摘要SMOTE是一种综合采样人工合成数据算法,用于解决数据类别不平衡问题(Imbalanced class problem),以Over-sampling少数类和Under-sampling多数类结合的方式来合成数据。本文将以Nitesh V. Chawla(2002)的论文为蓝本,阐述SMOTE的核心思想以及实现其朴素算法,在传统分类器(贝叶斯和决策树)上进行对比算法性能并且讨论其算法改进的途径。1. 引言类别不平衡是一种在分类器模型训练过程中常见的问题之一,如通过大量胸透图片来学习判断一个人是否有
2020-06-02 20:55:27
1169
原创 KMeans原理实现及分析
摘要 KMeans是一种简单的对给定数据集将其划分成k个簇的聚类算法,数据挖掘十大算法之一,其数学原理也是非常的朴素。本文将根据KMeans的原理将其实现,并对其性能进行分析,讨论其缺陷与探讨业界主流的改进方式。1 引言 KMeans 算法的思想是由许多跨学科领域的研究者们经过长时间不断的交织出来的,但其第一次使用是由Lloyd(1957, 1982)所提出用于调制脉冲编码,关于KMeans的更多历史信息可在[2]中找到,KMeans提出之初因为其朴素算法涉及组合爆炸问题导致其是NP-Har
2020-06-02 20:54:48
1450
翻译 [译]浅析t-SNE原理及其应用
声明: 本文转译自Data Camp上Manish Pathak的文章《Introduction to t-SNE》原文地址 译者注: 本文言简意赅的阐述了数据降维( Dimensionality Reduction technique)技术中PCA以及t-Distributed Stochastic Neighbor Embedding(t-SNE)算法的相关实现原理以及利弊,并且使用Python基于Fashion-MNIST数据集描述了对PCA以及t-SNE算法的基本应用。本人觉得相关概念阐述的比较
2020-06-02 20:53:46
3183
原创 致敬真神——SVM
摘要 对于Support Vector Machine(SVM)你是否停留在调用相关算法包的层面?是否每次想要加深对SVM的理解时却被枯燥的公式劝退?本文将以SVM发展历史时间线为文章组织结构,让您理解SVM基本原理、发展的内在需求以及其公式背后的意义。0 引言 SVM自1964年被Vapnik等人提出以来,至今已经成为了重要的基准(Base Line)分类器之一。SVM最开始是被作为线性分类器提出
2020-06-02 20:51:10
1466
原创 Java中值得你小心的事(一)——继承
继承 说起继承,我相信大家都不陌生。一个extends的关键字,就可以继承父类的public & protect方法与域属性。但是如果说继承要注意的事情我相信没多少人能答的出来。虽然这些非常细腻的知识对于平时小的开发并不影响,但是一但遇到大型开发,你就得考虑,继承是否随便就能用。继承原理 对于继承的概念不需要解释很多,因为这类文章已经充斥着整个互联网。这里我想通过继承的原理分析,然后跟大家一起慢
2017-06-17 10:02:24
4268
原创 关于KotLin,在学习的过程中还需要思考的问题
背景 Google I/O 2017已经结束了几天了,除了狂拽酷炫吊炸天的AI技术,吸引万千少女的Google Lens等等一系列的产品更新之外,不得不提的一个是——Kotlin Kotlin,代替了Java成为了开发Android的第一语言(也许这样说法不是很严谨,但是或许事实就是这样)。Kotlin的兴起不是一朝一夕的。对于这门语言我不需要做太多的介绍,因为你很有可能已经在很多其他的资料
2017-05-23 23:42:10
6088
原创 Android反编译之36kr.app
背景 昨天做项目的时候因为没有数据源,就想着用jsoup去爬点数据用用(别问我为什么不用pthyon,因为不会)。首选爬的对象就是36kr。但是这个网站做了脚本处理,用script去动态加载页面。毕竟不是咱熟悉的领域,算他牛逼,咱爬不了他的网站,那就直接去反编译的app,app你总得给出获取数据的链接了吧。我和你用一样的数据一样的链接行不行? 想着以前也没有写过反编译这个方面的东西,想着
2017-05-16 15:21:09
4750
原创 利用Android Studio的CMake来快速开发NDK
关于Ndk的开发,网上已经有许许多多的文章可供学习参考,但是大多都是利用javah -jin xxx.xxx.xxxJni的方法去构造出一个jni粘合层的头文件。然后再去链接自己的本地方法。的确学习这种方法更有助于了解ndk的本质。但是这里我使用CMake来快速开发NDK,这个也是最新版的Android Studio所提供的(ps:我使用的是Android studio 2.4 preview)前方
2017-05-11 18:16:53
5287
原创 关于free()函数的一些说明
free()函数在头文件malloc.h中有相关的声明。其原型是:void free(void *ptr);其作用是用来释放malloc向系统申请的内存。文章主要对free()作用于指针后的一些后续性的一些说明。希望能帮助到大家了解free()更深层次的一些问题!这里我提出一个观点是:用free()函数来释放了malloc()申请的内存之后,只是其内容被清空了并且程序不再拥有这段内
2015-06-10 10:18:38
4986
原创 表达式树的构建
这是在《数据结构与算法分析C语言描述》一书中的一道题目。如果有这本书的朋友可以回翻一下书的第70页。我这里介绍的方法是我自己写出来的,我个人的一些见解。可能写的不是很好,但是也就当个交流吧!有兴趣的朋友欢迎留言表达式树这个名词大家伙百度一下就可以知道是什么意思,我在这里不详讲概念了,这一棵树的功能是可以帮你把后缀表达式转换为中缀表达式例如书本上的例子 ab+cde+**经过
2015-06-06 19:12:20
5553
原创 迷宫问题 C语言实现(深搜)
问题描述:2015年05月21日 10:24:05这是我自己出的一道题 其原型基于迷宫问题,用深搜来解决的!我就简单的说一说吧!给定一个N * M 的迷宫!,1代表有障碍,0代表无障碍可通行的!每个迷宫只可以有一个起始点和一个出口!,但可以0或多条通往出口的路。程序会自动计算出有多少条通往出口的路!分别用s 来代表起点 e代表终点约定N,M
2015-05-23 10:13:22
9872
原创 中缀表达式转成后缀表达式 C实现
2015年05月13日 21:26:20这几天看数据结构一直都说一个中缀转后缀的问题!今天我就来实现一下!这个只是当作交流与启蒙。但是也算是心血,有不足的地方欢迎指出!谢谢大家!要实现这个程序其实只要抓住两点:1、遇到操作数立即输出!2、遇到操作符立即压栈一直当遇到优先级比自己低或者同级的!(括号需特别处理!);废话不说,上源码!#include /*
2015-05-13 21:32:55
4788
原创 基数排序的C实现
这是我第一次自己实现基数排序,我看了网上好多讲基数排序的都讲得乱起八糟,有的甚至给出来的代码还是错的。(附:我这个只当是一个启发式的代码。觉得博主有错的我请大家提出来,一起进步。感谢!!)废话不多说,基数排序的定义自己百度。我先来说说思路,基数排序是基于桶排序的一种线性排序方法,极其高效,如果一个需要排序的数组中最大元素小于1000大于100的话那么只需要执行两趟排序。因为他是
2015-05-12 19:59:54
4651
原创 Josephus(约瑟夫环问题)循环单链表c语句实现!
这是在《数据结构与算法分析(c描述)》书中的第三章的3.10练习题,是约瑟夫环的问题,具体描述:有N个人围成一个圆环,每隔M个人后,第M个被淘汰出局,接着从被淘汰出局者的第二个人开始重新计数计算再次计算M个! 程序结束条件是当环中只剩下一个人的时候程序就可已结束,并且输出被淘汰的人的编号,以及胜利者的编号。 解决这个问题的关键是:1、对链表的基本操作需比较
2015-05-10 17:12:24
5745
原创 冒泡排序的分析以及优化
以前学习C语言的时候接触过两种最简单的排序方法,一个是冒泡排序法,另外一个是选择排序法。(我认为凡是学习过编程的人都会接触过! 今天我想就冒泡排序法发表一下个人的观点。也许有人问为什么只讨论冒泡而不讨论选择排序?我在这里阐述一下自己的理解:1、时间复杂度:两个算法在最坏的情况下的冒泡排序时间复杂度用大O表示是O(N^2),而选择排序最坏情况是O(N) 在这点上也许看不出冒泡排序比
2015-04-28 13:05:31
4623
计算机网络(谢希仁版)复习资料整理
2017-01-21
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人