1. 基本形式

给定由$d$个属性描述的示例 $\textbf{x} =(x_1;x_2;...,x_n)$,其中$x_i$是$x$在第$i$个属性上的取值,线性模型(linear model)试图学习一个通过属性的线性组合来进行预测的函数,即

          $f(\textbf{x}) = \theta_0+\theta_1x_1+\theta_2x_2 +...+\theta_nx_n$         (1)

这里为了计算方便,我们添加$x_0=0$, 则向量形式则为

          $f(\textbf{x}) = \Theta^T\textbf{x} $                    (2)

其中$\Theta = (\theta_0;\theta_1;\theta_2;...;\theta_n)$. $\Theta$学得之后,模型就可以确定。

2. 线性回归(linear regression)

我们将要用来描述回归问题的标记如下:
$m$ 代表训练集中实例的数量
$n$ 代表属性特征数量
$x$ 代表特征/输入变量
$y$ 代表目标变量/输出变量
$x^{(i)},y^{(i)}$  代表第 $i$ 个实例

线性回归试图学得

          $f(\textbf{x}) = \Theta^T\textbf{x}$, 使得 $f(\textbf{x}) ≈y$

均方误差是回归任务中常用的性能度量:
          $(\Theta^*) = \arg\underset{\Theta}{\min}\sum_{i=1}^{m}[f(x^{(i)}) - y^{(i)}]^2$

求解$\Theta$有以下两种方法。

梯度下降法:(需要选择学习率$\alpha$,需要多次迭代,适用各种类型)

代价函数:$J(\Theta) = \frac{1}{2m}\sum_{i=1}^{m}[f(x^{(i)}) - y^{(i)}]^2  \ +\  \frac{\lambda}{2m}\sum_{j=1}^{n}\theta_j^2$ (后面是正则化项,防止过拟合)

梯度下降法:$\theta_j := \theta_j - \alpha\frac{\partial}{\partial{\theta_j}}J(\theta)$

    repeat until convergence{

        $\theta_j := \theta_j - \alpha\frac{1}{m}[(f(x^{(i)}) - y^{(i)})x_j^{(i)}] \ - \ \alpha\frac{\lambda}{m}\theta_j$

    }

正规方程求解:(适用于特征数较少,$\textbf{x}^T\textbf{x}$必须可逆,只适用线性模型)

$\Theta = (\textbf{x}^T\textbf{x})^{-1}\textbf{x}^Ty$

3. 逻辑回归(logistic regression)

逻辑回归即二分类问题,其输出标记$y\in[0,1]$.

这里我们使用简单的 Sigmoid 函数将连续输出映射为0/1输出:

          $f(\textbf{x}) = \frac{1}{1+e^{\textbf{-}\Theta^T\textbf{x}}}$

类似于线性回归梯度下降法求解方式一样:

代价函数:$J(\Theta) = -\frac{1}{m}[y^{(i)}\log f(x^{(i)})+(1-y^{(i)})\log (1-f(x^{(i)})] \ + \ \frac{\lambda}{2m}\sum_{j=1}^{n}\theta_j^2$ (后面是正则化项)

梯度下降法:$\theta_j := \theta_j - \alpha\frac{\partial}{\partial{\theta_j}}J(\theta)$

    repeat until convergence{

        $\theta_j := \theta_j - \alpha\frac{1}{m}[(f(x^{(i)}) - y^{(i)})x_j^{(i)}] \ - \ \alpha\frac{\lambda}{m}\theta_j$

    }

4. 多分类学习(multiclass classification)

一种解决这种问题的途径是采用一对多(One-vs-All)方法。在一对多方法中,我们将多分类问题转化成二元分类问题。为了实现这样的转变,我们将多个类中的一个类标记为正向类(y=1),其他所有类标记为负向类,这个模型记作$f^{(1)}(\textbf{x})$。接着,类似地我们选择第二个类作为正向类(y=2),再将其他类标记为负向类,将这个模型记作$f^{(2)}(\textbf{x})$,以此类推。最后,我们需要预测时,将所有分类器都运行一遍,然后对每个输入变量,选择最高的可能性的输出变量。

5. 特征缩放(feature scaling)

在我们面对多特征问题时,我们要保证这些特征都具有相似的尺度,这将帮助梯度下降算法更快的收敛。

解决的方法是尝试将所有的特征的尺度都尽量缩放到-1到1之间。最简单的方法是令:

          $x_n = \frac{x_n-\mu_n}{s_n}$

其中$\mu_n$是平均值,$s_n$是标准差(或用max-min代替也行)。

这里为了计算方便,我们添加$\theta_0$, 则有:

2. Linear Model的更多相关文章

  1. Note for video Machine Learning and Data Mining——Linear Model

    Here is the note for lecture three. the linear model Linear model is a basic and important model in ...

  2. 从线性模型(linear model)衍生出的机器学习分类器(classifier)

    1. 线性模型简介 0x1:线性模型的现实意义 在一个理想的连续世界中,任何非线性的东西都可以被线性的东西来拟合(参考Taylor Expansion公式),所以理论上线性模型可以模拟物理世界中的绝大 ...

  3. Bayesian generalized linear model (GLM) | 贝叶斯广义线性回归实例

    一些问题: 1. 什么时候我的问题可以用GLM,什么时候我的问题不能用GLM? 2. GLM到底能给我们带来什么好处? 3. 如何评价GLM模型的好坏? 广义线性回归啊,虐了我快几个月了,还是没有彻底 ...

  4. 广义线性模型(Generalized Linear Model)

    广义线性模型(Generalized Linear Model) http://www.cnblogs.com/sumai 1.指数分布族 我们在建模的时候,关心的目标变量Y可能服从很多种分布.像线性 ...

  5. [机器学习]Generalized Linear Model

    最近一直在回顾linear regression model和logistic regression model,但对其中的一些问题都很疑惑不解,知道我看到广义线性模型即Generalized Lin ...

  6. Generic recipe for data analysis with general linear model

    Generic recipe for data analysis with general linear model Courtesy of David Schneider State populat ...

  7. regression | p-value | Simple (bivariate) linear model | 线性回归 | 多重检验 | FDR | BH | R代码

    P122, 这是IQR method课的第一次作业,需要统计检验,x和y是否显著的有线性关系. Assignment 1 1) Find a small bivariate dataset (pref ...

  8. Lasso linear model实例 | Proliferation index | 评估单细胞的增殖指数

    背景:We developed a cell-cycle scoring approach that uses expression data to compute an index for ever ...

  9. linear model for classification

    不同error function比较

随机推荐

  1. 设计模式之flyweight享元模式

    运用共享技术支持大量细粒度对象的使用 Flyweight模式(享元) Java深入到一定程度,就不可避免的碰到设计模式这一概念,了解设计模式,将使自己对java中的接口或抽象类应用有更深的理解.设计模 ...

  2. Pseudo-class和pseudo-element的差别

    相同点: Pseudo-class和pseudo-element的语法都是以selector或者selector.class开始的. 不同点: Pseudo-class的操作对象是文档树中已有的元素, ...

  3. hdu-1069(dp)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1069 题意:一群猴子,给出n块砖的长x宽y高z,用这些砖拼起的高度最高是多少, 要求底下的砖的长宽都要 ...

  4. 右值引用和std::move函数(c++11)

    1.对象移动 1)C++11新标准中的一个最主要的特性就是移动而非拷贝对象的能力 2)优势: 在某些情况下,从旧内存拷贝到新内存是不必要的,此时对对象进行移动而非拷贝可以提升性能 有些类如IO类或un ...

  5. SceneControl+AE+鼠标滚轮缩放

    要为SceneControl设置鼠标滚轮缩放必须定义委托,因为SceneControl没有Wheel事件,所以委托From的Wheel事件 public Form1() { InitializeCom ...

  6. 休息,考完了MCSD

    终于考完了~这次的证书签名居然还是鲍尔默的.

  7. linux (centos 6.4)下编译安装git

    是时候动手尝试下 Git 了,不过得先安装好它.有许多种安装方式,主要分为两种,一种是通过编译源代码来安装:另一种是使用为特定平台预编译好的安装包(yum install git). 若是条件允许,从 ...

  8. hdu 2063 匈牙利算法

    http://acm.hdu.edu.cn/showproblem.php?pid=2063 男女配对最大数 匈牙利算法模板 #include <cstdio> #include < ...

  9. plsql高版本无法设置Fixedsys字体解决办法(win7&winXP适用)

    http://hi.baidu.com/crsky2008/item/c174c9fb52577919e3e3bd6b 设置如下:Tools->Preferences->Oracle-&g ...

  10. Failed to get D-Bus connection: Operation not permitted

    通过centos7镜像创建了一个docker容器,并在容器中安装了一个apache服务,但是启动时发生如下报错 [root@1346963c2247 ~]# rpm -qa | grep httpdh ...