linear regression

logistic regression

softmax regression

#@author:       gr
#@date: 2014-01-21
#@email: forgerui@gmail.com

一、linear regression

线性模型:

\[h_\theta(x) = \theta^T X
\]

代价函数:

代价函数使用平方误差损失函数。

\[\min_\theta J(\theta) = \dfrac{1}{2} \sum_{i=1}^m(h_\theta(x^{(i)}) - y^{(i)})^2
\]

求解:

可以使用最小二乘法和梯度下降法。

最小二乘法:

\[\theta = (X^TX)^{-1}X^T \overrightarrow y
\]

梯度下降法:

批梯度下降,增量梯度下降。更新参数,以使代价函数最小化。

二、logistic regression

逻辑回归模型:

输出 \(Y=1\) 的对数几率是由输入 \(x\) 的线性函数表示的模型,即logistic regression

\[P(Y=1 \mid x) = \dfrac{1}{1+e^{-z}} = \dfrac{1}{1 + e^{-w \cdot x}} = \dfrac{e^{w \cdot x}}{1 + e^{w \cdot x}}
\]

\[P(Y=0 \mid x) = 1- P(Y=1 \mid x) = \dfrac{1}{1 + e^{w \cdot x}}
\]

求事件的对数几率:

\[logit(p) = log\dfrac{p}{1-p} = w \cdot x
\]

对数几率是一个关于x的线性函数。

模型参数估计:

逻辑回归的参数估计可以采用极大似然估计求得。

$$\begin{align*}
l(\theta) = & \Pi_{i=1}^N (p_i)^{y_i}(1-p_i)^{1-y_i} \\
= & \sum_{i=1}^{N} [y_i\log{(p_i)} + (1-y_i)\log{(1 - p_i)}] \\
= & \sum_{i=1}^{N} [ y_i \log{(\dfrac{p_i}{1-p_i})} + \log{(1-p_i)}] \\
= & \sum_{i=1}^N [y_i(w \cdot x_i) - \log{(1 + e^{(w \cdot x )})}]
\end{align*}
$$

对\(L(w)\)求极大值,就可以得到\(w\)的估计值。用梯度下降法或拟牛顿法求解。

损失函数:

  1. Gold Standard
  2. Hinge Loss

    SVM
  3. Log Loss

    Logistic RegressionSoftmax Regression
  4. Squared Loss

    Linear Regression
  5. Boosting

代价函数:

这里使用对数函数作为损失函数:

\[J(\theta) = -\dfrac{1}{m}[ ~ \sum_{i=1}^m y_i\log(h_\theta(x_i)) + (1-y_i)\log(1-h_\theta(x_i)) ~]
\]

用梯度下降法或拟牛顿法求解。

三、softmax regression

模型:

对于多分类问题,\(y_i \in \{ 1, 2, \cdots , k\}\)。对于其中一类作为positive,则另外的k-1类就为negative。

$$
\begin{align*}
h_\theta(x^{(i)})
= & \left[
\begin{array}{c}
p(y^{(i)} = 1 \mid x^{(i)}, \theta) \\
p(y^{(i)} = 2 \mid x^{(i)}, \theta) \\
\vdots \\
p(y^{(i)} = k \mid x^{(i)}, \theta) \\
\end{array}
\right] \\
= &
\dfrac{1}{\sum_{j=1}^k e^{\theta_j^Tx^{(i)}}}
\left[
\begin{array}{c}
e^{\theta_1^T x^{(i)}} \\
e^{\theta_2^T x^{(i)}} \\
\vdots \\
e^{\theta_k^T x^{(i)}} \\
\end{array}
\right]
\end{align*}
$$

用\(\theta\)将\(\theta_1,\theta_2, \ldots \theta_K\)罗列起来:

\[\theta = \left[
\begin{array}{c}
\theta_1^T \\
\theta_2^T \\
\vdots \\
\theta_k^T
\end{array}
\right]\]

得到softmax回归的代价函数:

\[J(\theta) = -\dfrac{1}{m} [~ \sum_{i=1}^m \sum_{j=1}^k 1 \{y^{(i)} = j\}\log{\dfrac{e^{\theta_j^T x^{(i)}}}{\sum_{l=1}^k e^{\theta_l^Tx^{(i)}}}} ~]
\]

可以看出softmax是logistic的推广,同样用梯度下降法或拟牛顿法求解。

Reference

  1. http://www.cnblogs.com/bzjia-blog/p/3366780.html
  2. http://www.cnblogs.com/bzjia-blog/p/3370869.html
  3. 李航 著 《统计学习方法》
  4. http://blog.csdn.net/viewcode/article/details/8794401
  5. http://blog.csdn.net/abcjennifer/article/details/7716281
  6. Deva Ramanan 《Machine Learning》 Lecture1

### 线性回归(Regression)的更多相关文章

  1. 线性回归 Linear Regression

    成本函数(cost function)也叫损失函数(loss function),用来定义模型与观测值的误差.模型预测的价格与训练集数据的差异称为残差(residuals)或训练误差(test err ...

  2. 线性回归、梯度下降(Linear Regression、Gradient Descent)

    转载请注明出自BYRans博客:http://www.cnblogs.com/BYRans/ 实例 首先举个例子,假设我们有一个二手房交易记录的数据集,已知房屋面积.卧室数量和房屋的交易价格,如下表: ...

  3. Matlab实现线性回归和逻辑回归: Linear Regression & Logistic Regression

    原文:http://blog.csdn.net/abcjennifer/article/details/7732417 本文为Maching Learning 栏目补充内容,为上几章中所提到单参数线性 ...

  4. Stanford机器学习---第二讲. 多变量线性回归 Linear Regression with multiple variable

    原文:http://blog.csdn.net/abcjennifer/article/details/7700772 本栏目(Machine learning)包括单参数的线性回归.多参数的线性回归 ...

  5. Sklearn库例子2:分类——线性回归分类(Line Regression )例子

    线性回归:通过拟合线性模型的回归系数W =(w_1,…,w_p)来减少数据中观察到的结果和实际结果之间的残差平方和,并通过线性逼近进行预测. 从数学上讲,它解决了下面这个形式的问题:      Lin ...

  6. 机器学习之多变量线性回归(Linear Regression with multiple variables)

    1. Multiple features(多维特征) 在机器学习之单变量线性回归(Linear Regression with One Variable)我们提到过的线性回归中,我们只有一个单一特征量 ...

  7. 多元线性回归(Linear Regression with multiple variables)与最小二乘(least squat)

    1.线性回归介绍 X指训练数据的feature,beta指待估计得参数. 详细见http://zh.wikipedia.org/wiki/%E4%B8%80%E8%88%AC%E7%BA%BF%E6% ...

  8. Locally weighted linear regression(局部加权线性回归)

    (整理自AndrewNG的课件,转载请注明.整理者:华科小涛@http://www.cnblogs.com/hust-ghtao/) 前面几篇博客主要介绍了线性回归的学习算法,那么它有什么不足的地方么 ...

  9. Linear Regression(线性回归)(一)—LMS algorithm

    (整理自AndrewNG的课件,转载请注明.整理者:华科小涛@http://www.cnblogs.com/hust-ghtao/) 1.问题的引出 先从一个简单的例子说起吧,房地产公司有一些关于Po ...

随机推荐

  1. Linux web工程部署远程必备软件安装

    一.序 最近在将程序往linux上面部署,特此记录下部署步骤,待以后参考. web工程部署必备软件为:JDK.tomcat.数据库软件(oracle或mysql),远程监控.上传下载必备软件:VNC. ...

  2. Java编程 -- 命名规范

    转自:http://www.hawstein.com/posts/google-java-style.html#Naming 命名约定 5.1 对所有标识符都通用的规则 标识符只能使用ASCII字母和 ...

  3. Ajax调用WebService(一)

    Ajax调用WebService(一) http://www.cnblogs.com/leslies2/archive/2011/01/26/1934889.html 分类: Ajax 使用技术 We ...

  4. Windows 7 EXE图标丢失修复方法

    有过Win7下的一些EXE文件图标莫名奇妙丢失,但功能却正常的情况吗?这是图标缓存的问题,应该是Win7的bug. 在命令提示符下输入下列命令即可恢复. 以下是代码片段: taskkill /im e ...

  5. 重启PHP命令

    php-fpm重启 killall php-fpm 再执行(usr/local/php是php的安装目录)/usr/local/php/sbin/php-fpm & /usr/local/ng ...

  6. 基于S7-200的PLC对里程轮(增量式码盘)解码的应用

             解码模块为JC-11:工业增量式码盘 解码模块,接口简单,易于使用. 应用Step7-MicroWIN编程软件,为S7-200PLC设计本编码盘的应用程序.由于编码盘输出的脉冲信号频 ...

  7. android学习日记16--GridView(网格视图)

    一.GridView 1.简述 GridView按照行列来显示图片或文本的一种视图,排列其实有点类似TableLayout布局, 不过和TableLayout还是差别很大的,倒比较像二维的ListVi ...

  8. Web.xml 中增加log4j

    配置文件例如以下.web.xml <?xml version="1.0" encoding="UTF-8"?> <web-app versio ...

  9. android117 下拉列表

  10. 获取用户ip接口

    <script type="text/javascript" charset="gb2312" src="http://counter.sina ...