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. linux下 C程序 参数和内存

    #include <stdio.h> int main(argc, argv) int argc;char *argv[]; {     printf("argc=%d \n&q ...

  2. 如何通过cmd命令进入到某个硬盘的文件夹

    1.使用快捷键win+R打开运行窗口,并输入cmd回车 2.进入到某个磁盘:在命令提示符中输入d:(代表的的是进入D盘的根目录)并回车 3.接着在cmd中输入dir(dir是directory目录的简 ...

  3. 2018.07.01 洛谷小B的询问(莫队)

    P2709 小B的询问 题目描述 小B有一个序列,包含N个1~K之间的整数.他一共有M个询问,每个询问给定一个区间[L..R],求Sigma(c(i)^2)的值,其中i的值从1到K,其中c(i)表示数 ...

  4. csdn的一次回答问题

    #coding:utf8 import tushare as ts import pandas as pd import numpy as np import pymysql,datetime imp ...

  5. spring 3.X与jdk 1.8不兼容

    1.报错(部分) 2.解决 虽然Spring的jdk要求如下,但是spring 3与jdk1.8不兼容(使用的是spring 3.2) 在eclipse将jdk版本下调.这里将JDK调到1.7(在ec ...

  6. HDU1045 Fire Net(DFS枚举||二分图匹配) 2016-07-24 13:23 99人阅读 评论(0) 收藏

    Fire Net Problem Description Suppose that we have a square city with straight streets. A map of a ci ...

  7. L-BFGS

    L-BFGS算法比较适合在大规模的数值计算中,具备牛顿法收敛速度快的特点,但不需要牛顿法那样存储Hesse矩阵,因此节省了大量的空间以及计算资源.本文主要通过对于无约束最优化问题的一些常用算法总结,一 ...

  8. 【实战TFS】【QQ群】了解别人是如何使用TFS的

    长时间在这个QQ群里面混,了解到其他人是如何使用TFS系统的,也与网友们一起探讨,共同提高,还有分享的大量资料文档. 推荐一下:):)

  9. GitHub Android 开源项目汇总 (转)

    转自:http://blog.csdn.net/ithomer/article/details/8882236 GitHub 上的开源项目不胜枚举,越来越多的开源项目正在迁移到GitHub平台上.基于 ...

  10. NET 集合交集、并集、差集操作

    , , , , , , , }; , , , , , , , , }; // List1:1 3 5 7 9 11 13 15 Console.WriteLine("List1:" ...