### 线性回归(Regression)
linear regression
logistic regression
softmax regression
#@author: gr
#@date: 2014-01-21
#@email: forgerui@gmail.com
一、linear regression
线性模型:
\]
代价函数:
代价函数使用平方误差损失函数。
\]
求解:
可以使用最小二乘法和梯度下降法。
最小二乘法:
\]
梯度下降法:
批梯度下降,增量梯度下降。更新参数,以使代价函数最小化。
二、logistic regression
逻辑回归模型:
输出 \(Y=1\) 的对数几率是由输入 \(x\) 的线性函数表示的模型,即logistic regression。
\]
\]
求事件的对数几率:
\]
对数几率是一个关于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\)的估计值。用梯度下降法或拟牛顿法求解。
损失函数:
- Gold Standard
- Hinge Loss
SVM
- Log Loss
Logistic Regression
、Softmax Regression
- Squared Loss
Linear Regression
- Boosting
代价函数:
这里使用对数函数作为损失函数:
\]
用梯度下降法或拟牛顿法求解。
三、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\)罗列起来:
\begin{array}{c}
\theta_1^T \\
\theta_2^T \\
\vdots \\
\theta_k^T
\end{array}
\right]\]
得到softmax回归的代价函数:
\]
可以看出softmax是logistic的推广,同样用梯度下降法或拟牛顿法求解。
Reference
- http://www.cnblogs.com/bzjia-blog/p/3366780.html
- http://www.cnblogs.com/bzjia-blog/p/3370869.html
- 李航 著 《统计学习方法》
- http://blog.csdn.net/viewcode/article/details/8794401
- http://blog.csdn.net/abcjennifer/article/details/7716281
- Deva Ramanan 《Machine Learning》 Lecture1
### 线性回归(Regression)的更多相关文章
- 线性回归 Linear Regression
成本函数(cost function)也叫损失函数(loss function),用来定义模型与观测值的误差.模型预测的价格与训练集数据的差异称为残差(residuals)或训练误差(test err ...
- 线性回归、梯度下降(Linear Regression、Gradient Descent)
转载请注明出自BYRans博客:http://www.cnblogs.com/BYRans/ 实例 首先举个例子,假设我们有一个二手房交易记录的数据集,已知房屋面积.卧室数量和房屋的交易价格,如下表: ...
- Matlab实现线性回归和逻辑回归: Linear Regression & Logistic Regression
原文:http://blog.csdn.net/abcjennifer/article/details/7732417 本文为Maching Learning 栏目补充内容,为上几章中所提到单参数线性 ...
- Stanford机器学习---第二讲. 多变量线性回归 Linear Regression with multiple variable
原文:http://blog.csdn.net/abcjennifer/article/details/7700772 本栏目(Machine learning)包括单参数的线性回归.多参数的线性回归 ...
- Sklearn库例子2:分类——线性回归分类(Line Regression )例子
线性回归:通过拟合线性模型的回归系数W =(w_1,…,w_p)来减少数据中观察到的结果和实际结果之间的残差平方和,并通过线性逼近进行预测. 从数学上讲,它解决了下面这个形式的问题: Lin ...
- 机器学习之多变量线性回归(Linear Regression with multiple variables)
1. Multiple features(多维特征) 在机器学习之单变量线性回归(Linear Regression with One Variable)我们提到过的线性回归中,我们只有一个单一特征量 ...
- 多元线性回归(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% ...
- Locally weighted linear regression(局部加权线性回归)
(整理自AndrewNG的课件,转载请注明.整理者:华科小涛@http://www.cnblogs.com/hust-ghtao/) 前面几篇博客主要介绍了线性回归的学习算法,那么它有什么不足的地方么 ...
- Linear Regression(线性回归)(一)—LMS algorithm
(整理自AndrewNG的课件,转载请注明.整理者:华科小涛@http://www.cnblogs.com/hust-ghtao/) 1.问题的引出 先从一个简单的例子说起吧,房地产公司有一些关于Po ...
随机推荐
- 在eclipse中使用javap工具反汇编
1.配置 Run---external tools---external tools configurations 选择Program 新建javap运行方式 设置location.workspace ...
- 关于local storage 和 session storage以及cookie 区别简析
session storage 和local storage 都是存储在客户端的浏览器内: 一:关于COOKIE 的缺陷 * Cookie的问题 * 数据存储都是以明文(未加密)方式进行存储 * 安全 ...
- 【Stage3D学习笔记续】真正的3D世界(一):透视矩阵
如果各位看官跟着我的学习笔记一路看过来的话,一定会吐槽我的,这都是什么3D啊?从头到尾整个都是在使用GPU绘制一堆2D图像而已,的确,之前我们一直使用正交矩阵利用GPU加速来实现2D世界的展示,算不上 ...
- 多年的.NET开发,也只学会了这么几招
折腾了这么多年的.NET开发,也只学会了这么几招 软件开发不是生活的全部,但是好的生活全靠它了 随着工作年龄逐渐增加,身边的重担也越来越多.以前可以在公司加班到晚上10点,现在不行了.以前可以通宵 ...
- eclipse反编译插件
eclipse翻译的插件很多,jadclipse 是其中一款.设置很简单. ①.下载net.sf.jadclipse_3.3.0.jar 官方网站:http://sourceforge.net/pro ...
- libpq程序例子
程序: [root@lex tst]# cat testlibpq.c /* * testlibpq.c * Test the C version of LIBPQ, the POSTGRES fro ...
- 简单详细的OD破解教程
2007-08-04 15:46作者:CCDebuger注:昨天在网上见到了这篇文章,但缺少插图,从另外一篇文章中也看到了类似的的教程文章,里面的插图质量实在不敢恭维.在一个论坛中正好下载了文章中所介 ...
- python抓取伯乐在线的全部文章,对标题分词后存入mongodb中
依赖包: 1.pymongo 2.jieba # -*- coding: utf-8 -*- """ @author: jiangfuqiang "" ...
- android startActivityForResult(Intent intent, int requestCode) 整理与总结! .
假设有两个Activity,主界面A,功能界面B,由A启动B,并传数据给B,B在经过处理后把数据传回给A. 先是A传B: Bundle bundle = new Bundle();bundle.put ...
- 四、Socket之UDP异步传输文件-用控件显示文件传输进度
上一篇文章三.Socket之UDP异步传输文件中,实现了多文件的传输和MD5校验,还显示了文件传输过程中的信息,在这一篇文章中,将介绍怎样实现传输文件的进度显示和实现选择保存文件路径. 首先,来实现一 ...