java.lang.Object是Java中所有类的父类。
1 | public class Object { |
java.lang.Object是Java中所有类的父类。
1 | public class Object { |
枚举类的主要作用是便捷地定义静态常量,替代public static final xxx。
所有的枚举类型都是java.lang.Enum类的子类,java.lang.Enum的类结构如下:
1 | public abstract class Enum<E extends Enum<E>> |
方法列表:
1 | public final String name(); |
局部加权线性回归(Locally Weighted Linear Regression,LWLR)。
在该算法中,给预测点附近的每个点赋予一定的权重,在这个子集上基于最小均方差来进行普通的回归。
局部加权线性回归的均值误差可用下式表示
$$
\sum_{i=1}^{m} w_i (y_i - x_i^{T} \theta_i)^2
$$
其中,$w_i$是权重,$y_i$是真实值,$x_i$是输入值,$\theta_i$为对应的回归系数。
回归系数$w$为
$$
\hat w = (X^{T} W X )^{-1} X^{T} W y
$$
最近在学习机器学习的时候,经常会碰到矩阵求导,这里记录下矩阵的求导操作。
向量和矩阵的导数满足乘法法则(product rule)
$$
\frac {\partial x^{T} \alpha}{ \partial x } = \frac {\partial \alpha^{T} x }{ \partial x } = \alpha
$$
$$
\frac {\partial AB} {\alpha x} = \frac{\partial A} {\partial x} B + A \frac{\partial B} {\partial x}
$$
使用PuTTY已经很长时间了,是时候总结下PuTTY的用法了。
下面是PuTTY官网的介绍
PuTTY is an SSH and telnet client, developed originally by Simon Tatham for the Windows platform.
翻译过来就是说,PuTTY是Windows平台下的一个SSH客户端。
与商用的XShell相比,PuTTY是开源免费的>_<。
在Java中,定时任务功能使用的是Timer类,其主要作用是设置计划任务,
最近课题组的项目用到了Java中的定时器Timer类,这里记录下定时器Timer的相关知识。
Timer的构造方法如下:
1 | public Timer() |
AdaBoost(adaptive boosting)算法是提升(boosting)方法的一个最流行版本,1995年由Freund和Schapire提出。其基本思想是使用多个弱分类器(即分类器的性能并不好,错误率较高)来构建一个强分类器。
如何高效地实现支持向量机学习呢?常用的是1998年Platt提出的序列最小最优化算法(Sequential minimal optimization,SMO)算法。
SMO算法要解的是如下的一个最优化问题:
$$
\min_{\alpha} \left( \frac{1}{2} \sum_{i=1}^N \sum_{j=1}^N \alpha_i \alpha_j y_i y_j K(x_i,x_j) - \sum_{i=1}^N \alpha_i\right) \tag{1}
$$
$$
subject \; to \sum_{i=1}^N \alpha_i y_i = 0, \tag{2}
$$
$$
0 \leq \alpha_i \leq C, \forall i \tag{3}
$$
整个SMO算法包括两个部分:求解两个变量二次规划的解析方法和选择变量的启发式方法。