Introduction to Machine Learning

做了与机器学习相关的项目好久了,但对机器学习一直没有一个系统的认识,导致在切入一些新的领域时力有不逮,总感觉理解有偏差或者理解困难,因此想系统地、详细地学习机器学习,就从周志华的西瓜书和Andrew Ng的机器学习视频开始吧。

在primal simplex算法中,每轮迭代都需要选择most candidate的方向并移动到邻近的顶点上,那么,用什么来评估方向的好坏呢?我们知道,选择一个方向走下去对目标值的改善程度是由方向和步长决定的,对于标准型的线性规划问题而言,使目标值下降的方向是reduced cost $d_j <= 0$的那些非基变量,理论上来说,任意一个满足$d_j <= 0$条件的非基变量都可以作为入基,但是我们不是那么随便的人,肯定不会随便选,那要如何选择呢?

用一高一矮两个人来比喻,同样是走100步,你觉得是高的人走的远还是矮的人走得远呢(莫杠,正常场景)?同理,我这里当然是选择单位步长下能走更远的非基变量,当然,步长也是决定你能走多远的重要因素,这里暂且不论,就考虑最基本的dantzig的选基算法,即

选入基的法则非常简单对不对,那么假设你处在某一次迭代中,想要计算所有非基变量的reduced cost $d_j, j\in N$,难道需要用reduced cost的计算公式每次计算?

显然大家不会那么傻,就跟revised simplex的$B^{-1}$更新一样,两次迭代间的reduced cost也是有关联关系的,接下来就给大家推导一下,不感兴趣的可以直接跳到结论了哈。

对于一个genenal形式的LP问题:

通过增加结构变量的形式可以转成一般形式的LP问题:

注意到当前的$x$包含原始变量和结构变量,记为$x_c$和$x_r$。

假设primal feasible,由对偶问题性质$Ay+s=c$,那么对于任意迭代时刻,都有如下条件满足

其中$s_B, s_N$分别为对应基矩阵和非基矩阵的reduced costs。

常用数据结构——栈 (python)

本科学过c++的数据结构了,但研究生转无线通信后就忘的差不多了,现在重新复习下栈。

暑期实习招聘笔试题3月(更新ing)

实习笔试试题,有些没投(准备好先),拿过来先看了看

Linear Regression

就从最简单的线性回归模型(Linear Regression model)开始学习吧。

How to Make a Visual Mark Up and Revision of Significant Differences between Two Latex Files by Latexdiff

Recently my survey was rejected and required minor revision, while I have to submit a revised article with the “editing mode” feature turned on. Because I use Miktex+Texstudio to edit my paper in windows 10, Latexdiff is considered of course.

A Stupid Mistake I Made about Sorting in Python DataFrame

One day when I try to sort a DataFrame by a column, an amazing mistake happens!

Hexo: setup a static blog

​ Before we start, you have to know what is the difference between static site and dynamic site. Let’s take a look at the definition in Wiki:

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×