我的2017年文章汇总——机器学习篇
2018,你跟自己做了约定了吗?为了遇见更好的自己。 近期准备把过去一年写的文章按照分类重新整理推送一遍,包括:“分布式”、“机器学习”、“深度学习”、“NLP”、“Java深度”、“Java并发核心”、“JDK源码”、“Tomcat内核”。 本篇推送机器学习相关文章。 鄙人的…
我的2017年文章汇总——Java及中间件篇
2018即将到来,大家看着2017给自己制定的计划有没有感慨?当你觉得过去一年没有什么进步时,那么请行动起来,能开始总是好的。 近期准备把过去一年写的文章按照分类重新整理推送一遍,包括:“分布式”、“机器学习”、“深度学习”、“NLP”、“Java深度”、“Java并发核心”、…
服务器模型——从单线程阻塞到多线程非阻塞(中)
服务器模型涉及到线程模式和IO模式,搞清楚这些就能针对各种场景有的放矢。该系列分成三部分: 这里探讨的服务器模型主要指的是服务器端对I/O的处理模型。从不同维度可以有不同的分类,这里从I/O的阻塞与非阻塞、I/O处理的单线程与多线程角度探讨服务器模型。 对于I/O,可以分成阻塞…
我的2017年文章汇总——深度学习篇
2017快过完了,大家过去一年收获如何?不管怎样,保持好心态,未来不迎,当下不杂,既过不恋。 近期准备把过去一年写的文章按照分类重新整理推送一遍,包括:“分布式”、“机器学习”、“深度学习”、“NLP”、“Java深度”、“Java并发核心”、“JDK源码”、“Tomcat内核…
服务器模型——从单线程阻塞到多线程非阻塞(上)
服务器模型涉及到线程模式和IO模式,搞清楚这些就能针对各种场景有的放矢。该系列分成三部分: 这里探讨的服务器模型主要指的是服务器端对I/O的处理模型。从不同维度可以有不同的分类,这里从I/O的阻塞与非阻塞、I/O处理的单线程与多线程角度探讨服务器模型。 对于I/O,可以分成阻塞…
从JDK源码看字节流和字符流
在各种 IO 中都会涉及到流的概念,比如网络 IO、磁盘IO、内存IO或其他设备IO,于是抽象出流概念,可以分为两大类:输出流和输入流。有了这些抽象就能很方便表达网络从某端传输到另外一端,或对磁盘进行读写操作。而 Java 还分出字节流和字符流,对字节和字符提供了方便的操作。 …
从JDK源码看Reader
Reader 是一个用于读字符流的抽象类,它将一些相通的读相关操作抽象到此类,方便各种读操作类的实现。一般来说子类只需要实现它的 read 和 close 两个方法,但如果有需要还可以重写 Reader 提供的公共方法。 JDK 在 Reader 的基础上实现了很多有用的 xx…
中文文本相似度的研究有什么用
人与计算机的交互过程中,如果能提供人类的自然语言形式来进行交流,那人与计算机就能更加亲密友好。而要实现这一机制就需要自然语言处理来处理,一般来说自然语言处理会涉及几个学科:计算机科学、语言学、统计学和数学等。 不同语言的自然语言处理也存在差别,对于中文来说,很多时候都无法直接套…
从JDK源码看OutputStream
前面已经了解了输入流《从JDK源码看InputStream》,接着看对应的输出流,JDK 给我们提供了很多实用的输出流 xxxOutputStream,而 OutputStream 是所有字节输出流的抽象。包括 ByteArrayOutputStream 、FilterOutp…
JDK不同操作系统的FileSystem(Windows&Unix-like)
我们知道不同的操作系统有各自的文件系统,这些文件系统又存在很多差异,而Java 因为是跨平台的,所以它必须要统一处理这些不同平台文件系统之间的差异,才能往上提供统一的入口。 JDK 里面抽象出了一个 FileSystem 来表示文件系统,不同的操作系统通过继承该类实现各自的文件…
JDK不同操作系统的FileSystem(unix-like)下篇
我们知道不同的操作系统有各自的文件系统,这些文件系统又存在很多差异,而Java 因为是跨平台的,所以它必须要统一处理这些不同平台文件系统之间的差异,才能往上提供统一的入口。 JDK 里面抽象出了一个 FileSystem 来表示文件系统,不同的操作系统通过继承该类实现各自的文件…
JDK不同操作系统的FileSystem(unix-like)中篇
我们知道不同的操作系统有各自的文件系统,这些文件系统又存在很多差异,而Java 因为是跨平台的,所以它必须要统一处理这些不同平台文件系统之间的差异,才能往上提供统一的入口。 JDK 里面抽象出了一个 FileSystem 来表示文件系统,不同的操作系统通过继承该类实现各自的文件…
JDK不同操作系统的FileSystem(unix-like)上篇
我们知道不同的操作系统有各自的文件系统,这些文件系统又存在很多差异,而Java 因为是跨平台的,所以它必须要统一处理这些不同平台文件系统之间的差异,才能往上提供统一的入口。 JDK 里面抽象出了一个 FileSystem 来表示文件系统,不同的操作系统通过继承该类实现各自的文件…
典型相关分析如何分析两组变量的关系
,最原始的方法就是直接计算X和Y的协方差矩阵,矩阵有m*n个值。有了协方差矩阵就得到了两两变量之间的相关性,比如c_ij就是变量X_i和Y_j的相关性。 这种分析方法只考虑了c_ij变量X_i和Y_j变量单个维度之间的相关性,没有考虑X和Y内部之间的相关性。另外协方差矩阵的形式…
集群RPC通信怎么做
RPC即远程过程调用,它的提出旨在消除通信细节、屏蔽繁杂且易错的底层网络通信操作,像调用本地服务一般地调用远程服务,让业务开发者更多关注业务开发而不必考虑网络、硬件、系统的异构复杂环境。 现在所有节点的响应都已经收集完毕,是时候通知刚刚被阻塞的那条线程了,原来的线程被notif…
JDK不同操作系统的FileSystem(Windows)下篇
我们知道不同的操作系统有各自的文件系统,这些文件系统又存在很多差异,而Java 因为是跨平台的,所以它必须要统一处理这些不同平台文件系统之间的差异,才能往上提供统一的入口。 JDK 里面抽象出了一个 FileSystem 来表示文件系统,不同的操作系统通过继承该类实现各自的文件…
n元语法
在统计自然语言处理中语言模型是很重要的一块,常用的语言模型是n元语法模型,当然现在比较流行的还有神经网络语言模型。n元语法模型需要额外的平滑处理,而神经网络语言模型则不必,它自带平滑效果。 n元语法(n-gram)是NLP中很重要的统计语言模型,简单来说就是计算某个句子出现的概…
主成分分析(PCA)
主成分分析是一种统计学方法,它主要通过降维来简化数据结构,将多个变量转化成少数的几个综合变量,而综合变量能很好地表达原来多个变量的大部分信息,变量之间需要要具备相关性,而经过分析后的变量之间没有相关性。 简单从感性角度来了解它的原理就是,比如有两个变量,如下图,看起来它俩的信息…
JDK不同操作系统的FileSystem(Windows)中篇
我们知道不同的操作系统有各自的文件系统,这些文件系统又存在很多差异,而Java 因为是跨平台的,所以它必须要统一处理这些不同平台文件系统之间的差异,才能往上提供统一的入口。 JDK 里面抽象出了一个 FileSystem 来表示文件系统,不同的操作系统通过继承该类实现各自的文件…
机器学习之牛顿法
首先看泰勒公式,对于函数,如果函数平滑且某点存在各阶导数,则可以用一个多项式来描述该点邻域的近似值。公式如下: 牛顿法一般用来求解方程的根和求解极值。 数值优化算法除了梯度下降法外还有比较常用的一种方法是牛顿法。对于非线性方程,可以用牛顿迭代法进行求解,它收敛速度快。 基本思想…