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. CocoStudio

    不知道从哪里下载的CocoStudio_Full_V1.0.0.1.1185392965.exe 安装后点击"Animation Editor"."UI Editor&q ...

  2. linq group by / distinct

    https://www.cnblogs.com/qixu/p/6033532.html http://www.cnblogs.com/A_ming/archive/2013/05/24/3097062 ...

  3. 前端之JavaScript笔记2

    一 数组对象 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UT ...

  4. 2018.08.18 NOIP模拟 travel(贪心)

    Travel 题目背景 SOURCE:NOIP2015-SHY4 题目描述 小 A 要进行一次旅行.这回他要在序号为 1 到 n 的 n 个城市之间旅行.这 n 个城市之间共有 m 条连接两个城市的单 ...

  5. Django(4)

    https://www.cnblogs.com/yuanchenqi/articles/7439088.html

  6. 在“开始”菜单中的“运行”一栏输入特定命令打开windows程序

    winver 检查Windows版本   wmimgmt.msc 打开Windows管理体系结构(wmi)   wupdmgr Windows更新程序   wscript Windows脚本宿主设置 ...

  7. DataFrame按行读取:DataFrame之values

    http://blog.csdn.net/u014607457/article/details/51290582 def fill_core(self): RatingTable=pd.read_cs ...

  8. 《Forward团队-爬虫豆瓣top250项目-代码设计规范》

    成员:马壮,李志宇,刘子轩,年光宇,邢云淇,张良 1.缩进采用一个Tab键 2.大括号:如: if (条件){ 语句: } 3.分行:不把多条语句放在同一行 4.变量命名:统一用英文 5.注释:注释前 ...

  9. day05(Object,tostring(),equals(),System,Date,SimpleDateFormat,拆装箱,正则表达式)

    Object类, 是所应类的父类: 拥有自己的方法:常用的    红颜色标记的为常用的方法 toString() 用法:打印对象的地址值 getClass() 获取当前类的字节码文件getName() ...

  10. 理解maven项目的pom.xml文件中,<scope>标签的作用——作用域以及依赖传递

    问题介绍: 在maven项目中,最关键的就是pom.xml这个文件,这个文件是用来导入maven项目依赖的jar包以及一些插件等. 在这个文件中导入jar包使用的标签是<dependency&g ...