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. KbmMW 4.30.00 发布

    今天早上,KbmMW发布了4.30.00 版,这个版本开始支持XE4 的WIN/WIN64/OSX. 暂时不支持ios开发,同时加强了通过JSON 的对象序列化.还有就是解决了我提交的几个有关 汉字处 ...

  2. 2018.09.01 独立集(树形dp)

    描述 给定一颗树(边权为1),选取一个节点子集,使得该集合中任意两个节点之间的距离都大于K.求这个集合节点最多是多少 输入 第一行是两个整数N,K 接下来是N-1行,每行2个整数x,y,表示x与y有一 ...

  3. BZOJ 1935 Tree 园丁的烦恼 (树状数组)

    题意:中文题. 析:按x排序,然后用树状数组维护 y 即可. 代码如下: #pragma comment(linker, "/STACK:1024000000,1024000000" ...

  4. faceswap linux安裝教程

    http://www.mamicode.com/info-detail-2602743.html https://blog.csdn.net/sinat_26918145/article/detail ...

  5. AirplaceLogger源代码解析

    将源代码添加进Eclipse中,右键-->Import-->Existing Projects into Workspace-->选择AirplaceLogger源代码文件夹即可导入 ...

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

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

  7. 抓包工具 - HttpWatch(功能详细介绍)

    HttpWatch是功能强大的网页数据分析工具,集成在IE工具栏,主要功能有网页摘要.cookies管理.缓存管理.消息头发送/接收,字符查询.POST数据.目录管理功能和报告输出.HttpWatch ...

  8. Asp.net Core2.0, 基于 claims 实现权限验证

    https://www.cnblogs.com/KimmyLee/p/6430474.html

  9. Android SDK目录结构

    Android版本下载:从4.0到8.0版本: Android SDK目录结构图: sdk全称:software develop kits 软件开发工具集 add-ons:Google API map ...

  10. Gitlab搭建安装及使用中遇到的问题。

    一.CentOS7安装gitlab-ce 1.下载及安装rpm软件包. 下载RPM包 curl -LJO https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/ ...