2. Linear Model
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的更多相关文章
- 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 ...
- 从线性模型(linear model)衍生出的机器学习分类器(classifier)
1. 线性模型简介 0x1:线性模型的现实意义 在一个理想的连续世界中,任何非线性的东西都可以被线性的东西来拟合(参考Taylor Expansion公式),所以理论上线性模型可以模拟物理世界中的绝大 ...
- Bayesian generalized linear model (GLM) | 贝叶斯广义线性回归实例
一些问题: 1. 什么时候我的问题可以用GLM,什么时候我的问题不能用GLM? 2. GLM到底能给我们带来什么好处? 3. 如何评价GLM模型的好坏? 广义线性回归啊,虐了我快几个月了,还是没有彻底 ...
- 广义线性模型(Generalized Linear Model)
广义线性模型(Generalized Linear Model) http://www.cnblogs.com/sumai 1.指数分布族 我们在建模的时候,关心的目标变量Y可能服从很多种分布.像线性 ...
- [机器学习]Generalized Linear Model
最近一直在回顾linear regression model和logistic regression model,但对其中的一些问题都很疑惑不解,知道我看到广义线性模型即Generalized Lin ...
- Generic recipe for data analysis with general linear model
Generic recipe for data analysis with general linear model Courtesy of David Schneider State populat ...
- regression | p-value | Simple (bivariate) linear model | 线性回归 | 多重检验 | FDR | BH | R代码
P122, 这是IQR method课的第一次作业,需要统计检验,x和y是否显著的有线性关系. Assignment 1 1) Find a small bivariate dataset (pref ...
- Lasso linear model实例 | Proliferation index | 评估单细胞的增殖指数
背景:We developed a cell-cycle scoring approach that uses expression data to compute an index for ever ...
- linear model for classification
不同error function比较
随机推荐
- 中介者模式(QQ聊天室我觉得是个很生动的例子简单易懂)
设计模式之中介者模式(Mediator) 一.初识中介者模式 那些年,我们一起上过的大学,班级里有班长,有团书记.想一想如果没有QQ这种通讯工具的话,那么班长或者团支书该怎样下达消息呢??同时,班级上 ...
- 1、HttpClient初探
HttpClient是它的核心接口.可以理解为一个简单的浏览器. 主要方法有: getParams(); 获取运行参数 getConnectionManager(); 获取连接管理器.连接管理器中 ...
- JS—-this指向
箭头函数中this对象就是定义时所在的作用域,也就是说箭头函数本身没有this,内部的this就是外层代码块作用域中的this. 1.独立函数 var a = 0var test = ()=> ...
- 1.struts 防止表单重复提交 2. 拦截器
1. 使用struts 防止表单提交 时, form 表单必须使用struts标签库编写,如<s:form/> 等,而不是html标签 2. 拦截器是struts2的核心. interc ...
- PLSQL导入导出表的正确步骤
PLSQL导入导出表的正确步骤 原来总是直接 tools->import talbes->Oracle Import结果发现有的时候会出错:有的表不能正确导入, 导出步骤: 1 tools ...
- python之数据类型1
什么是数据类型及数据类型分类 python中的数据类型 python使用对象模型来存储数据,每一个数据类型都有一个内置的类,每新建一个数据,实际就是在初始化生成一个对象,即所有数据都是对 ...
- hdu-1060(数学问题)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1061 思路:结论:a=10^(N*lg(N) - [lg(N^N)]); 证明:如果一直a是结果,则a ...
- Django入门与实践-第17章:保护视图(完结)
http://127.0.0.1:8000/boards/1/ #boards/views.py from django.contrib.auth.decorators import login_re ...
- CentOS7中实用的命令总结
一:软件安装配置方面 这里总结一下对个人很实用的功能 1.查询rpm包的依赖哪些文件:rpm -qpR xx.rpm,然后rpm会分析此包的文件依赖性 2.查询系统中安装了哪些rpm包:rpm -qa ...
- Java_得到GET和POST请求URL和参数列表
一. 获取URL: getRequestURL()(还有个getRequestURI(),只取后面部分) 二. 获取参数列表: 1.getQueryString() 只适用于GET,比如客户端发送ht ...