Hailiang Dong

Ph.D. & M.S. in Computer Science, B.S. in Mathematics

主成分分析的原理与实践

介绍主成分分析(Principal Components Analysis, PCA)和之前说到的线性判别分析一样,都是一种广泛使用的数据将维方法。PCA是一个和LDA非常相关的算法,从推导、求解、到算法最终的结果,都有着相当的相似,不过它和LDA也有一些不同的地方。 首先,PCA是一种无监督的..


线性判别分析的原理与实践

介绍线性判别分析(Linear Discriminant Analysis, LDA)是一种有监督式的数据降维方法,是在机器学习和数据挖掘中一种广泛使用的经典算法。LDA的希望将带上标签的数据(点),通过投影的方法,投影到维度更低的空间中,使得投影后的点,按类别区分成一簇一簇的情况,并且相同类别..


Understanding the Pointers Advanced

IntroductionThis blog is the second one that talking about the pointers. In the previous one, I talked about what is the pointer and why the type of..


Understanding the Pointers in C/C++

IntroductionPointers are most frequently used variable type in programming languages like C/C++. In this blog, I want to share my understandings abo..


Dynamically Create N-D array in C

Traditional wayIn a C program, If we want to create an N-dimension array in heap (dynamically), we need to allocate the memory space step by step. F..


Strong and Weak Symbols in GCC

MotivationGlobal variables are powerful but have the risk of being altered carelessly. Under most cases, we can add static modifier on this global v..


Hexo 添加 MathJax 支持

背景介绍HEXO是一个基于Node.Js的静态个人博客软件,可以将自己写的Markdown形式的文章渲染成静态网页。通过和Github结合,可以很方便的搭建自己的博客,具体可以参考这篇文章搭建。 在我们写博客的时候,难免要遇到公式,尤其是在写一些理论性比较强的博客的时候,这个时候我们就需要在网页..


Ubuntu14.04 搭建 IPSec VPN

背景现在PPTP-VPN已经不安全了,虽然搭建PPTP服务很简单,安全对于我们一般用户来说也不说很在意,但是比较麻烦的是MAC OSX以及IOS的最新版本已经强制将PPTP服务从系统中移除,无法使用之前便捷的VPN服务,因此搭建一个新一代安全的VPN服务还是很有必要的。 L2TP/IPsec V..


BUG-Crash When Calling Function

BackgroundRecently, one of my teammate asked me to help him to debug a program. The behavior of the program was so strange that makes him unable to ..


Speedup the Binary Search

IntroductionBinary search is known as the fastest search algorithm on a sorted array. Though it works pretty good in most cases, the performance und..