CS229 笔记03
CS229 笔记03
局部加权线性回归
- Non-Parametric Learning Algorithm (非参数学习方法)
Number of parameters grows with the size of sample. (参数的数目随着样本的数目增加而增加。) - Locally Weighted Regression (局部加权线性回归)
损失函数的定义为: $ J_\Theta=\sum_i{w^{(i)}(y^{(i)}-\Theta^{{\rm T}}x^{(i)})^2} $ 。
其中 $ w^{(i)}={\rm {exp}}[-\frac{1}{2}(x^{(i)}-x)^2] $ . 即对于一个待预测的 \(x\) ,训练集中离 \(x\) 越远的样本,其对于模型的影响就越小。这也就意味着在每作出一个预测之前,都要重新训练一遍模型。
线性模型的概率解释
Probabilistic Interpretation (概率解释)
假设真实房价 \(y^{(i)}=\Theta^{{\rm T}}x^{(i)}+\varepsilon^{(i)}\) ,其中 \(\varepsilon^{(i)}\) 为误差。
因为误差是由很多其它未知因素引起的,在未知因素比较多,且假设这些未知因素是相互独立的时候,根据中心极限定理,可以认为 \(\varepsilon^{(i)}\) 服从正态分布。
即 \(\varepsilon^{(i)} \sim {\scr N}(0,\sigma^2)\) , \({\rm P}(\varepsilon^{(i)})=\frac{1}{\sqrt2 \pi \sigma}\exp{\left[-\frac{(\varepsilon^{(i)})^2}{2\sigma^2}\right]}\) 。
从而对于给定的 \(\Theta\) 和 \(x^{(i)}\) ,\(y^{(i)} \sim {\scr N}(\Theta^{{\rm T}}x^{(i)}, \sigma^2)\) ,即 \(P(y^{(i)}|x^{(i)};\Theta)=\frac{1}{\sqrt2 \pi \sigma}\exp{\left[-\frac{(y^{(i)}-\Theta^{{\rm T}}x^{(i)})^2}{2\sigma^2}\right]}\) 。
对于整个样本集 \(X\) ,模型所做出的估计与真实值 \(Y\) 的相似程度(也称作“似然性”)可以看作是模型预测出“正确”的 \(Y\) 的概率,即似然性可表示为 \(L(\Theta)=P(Y|X;\Theta)\) 。
对于每个样本 \(x^{(i)}\) 及其目标值 \(y^{(i)}\) ,若假设每个目标值都是独立同分布的(IID),所可则直接把 $P(y^{(i)}|x^{(i)};\Theta) $ 连乘起来,即 \(L(\Theta)=P(Y|X;\Theta)=\prod_i{P(y^{(i)}|x^{(i)};\Theta)}\) 。
而训练模型所需的工作就是最大化预测出“正确”的 \(Y\) 的概率,即最大似然估计(Maximize Likelihood)。
为了方便,令 \(l(\Theta)=\log{L(\Theta)}\) 。
\[
\begin{eqnarray*}
l(\Theta)&=&\log{L(\Theta)} \\[1em]
&=&\log{\prod_{i}^{m}{P(y^{(i)}|x^{(i)};\Theta)}} \\[1em]
&=&\log{\prod_{i}^{m}{\frac{1}{\sqrt2 \pi \sigma}\exp{\left[-\frac{(y^{(i)}-\Theta^{{\rm T}}x^{(i)})^2}{2\sigma^2}\right]}}} \\[1em]
&=&\sum_{i}^{m}{\log{\frac{1}{\sqrt2 \pi \sigma}}-\frac{(y^{(i)}-\Theta^{{\rm T}}x^{(i)})^2}{2\sigma^2}} \\[1em]
&=&m\log{\frac{1}{\sqrt2 \pi \sigma}}-\frac{1}{\sigma^2}\sum_{i}^{m}{\frac{(y^{(i)}-\Theta^{{\rm T}}x^{(i)})^2}{2}} \\[1em]
\end{eqnarray*}
\]要想最大化 \(l(\Theta)\) ,就要最小化 \(\sum_{i}^{m}{\frac{(y^{(i)}-\Theta^{{\rm T}}x^{(i)})^2}{2}}\) 。
而\(\sum_{i}^{m}{\frac{(y^{(i)}-\Theta^{{\rm T}}x^{(i)})^2}{2}}\) 就是之前提到过的 \(J(\Theta)\) 。
这就从概率的角度解释了为什么误差要用最小二乘(Minimize Square),而不是最小化 \(y^{(i)}-\Theta^{{\rm T}}x^{(i)}\) 的绝对值或者三次方、四次方等等。
逻辑回归
Logistic Regression (逻辑回归)
虽然叫做“回归”,实际上是用来解决分类问题。
Logistic Function / Sigmoid Function
\[
g(z)=\frac{1}{1+e^{-z}}
\]训练过程推导
在Logistic Regression中,估计函数变成了 \(h_\Theta(x^{(i)})=g(\Theta^{{\rm T}}x)=\frac{1}{1+e^{-\Theta^{{\rm T}}x}}\) 。
由于 \(g(z)\) 的取值范围是 \((0,1)\) ,所以函数值可以直接看作是概率,即:
\[
\begin{eqnarray*}
P(y^{(i)}=1|x^{(i)};\Theta)&=&h_\Theta(x^{(i)}) \\[1em]
P(y^{(i)}=0|x^{(i)};\Theta)&=&1-h_\Theta(x^{(i)}) \\[1em]
P(y^{(i)}|x^{(i)};\Theta)&=&\left[h_\Theta(x^{(i)})\right]^{y^{(i)}}\left[1-h_\Theta(x^{(i)})\right]^{1-y^{(i)}} \\[1em]
\end{eqnarray*}
\]根据之前的讨论,令 \(L(\Theta)=P(Y|X;\Theta)=\prod_i^m{P(y^{(i)}|x^{(i)};\Theta)}\) , \(l(\Theta)=\log{L(\Theta)}\) 。
展开可得:
\[
\begin{eqnarray*}
l(\Theta)&=&\log{L(\Theta)} \\[1em]
&=&\log{\prod_i^m{P(y^{(i)}|x^{(i)};\Theta)}} \\[1em]
&=&\log{\prod_i^m{\left[h_\Theta(x^{(i)})\right]^{y^{(i)}}\left[1-h_\Theta(x^{(i)})\right]^{1-y^{(i)}}}} \\[1em]
&=&\sum_i^m\log{\left[h_\Theta(x^{(i)})\right]^{y^{(i)}}\left[1-h_\Theta(x^{(i)})\right]^{1-y^{(i)}}} \\[1em]
&=&\sum_i^m{y^{(i)}}\log{\left[h_\Theta(x^{(i)})\right]}+({1-y^{(i)}})\log{\left[1-h_\Theta(x^{(i)})\right]} \\[1em]
\end{eqnarray*}
\]\(h_\Theta(x^{(i)})\) 对 \(\Theta\) 求偏导:
\[
\begin{eqnarray*}
\frac{\partial}{\partial \theta_j}{h_\Theta(x^{(i)})}&=&\frac{\partial}{\partial \theta_j}{\frac{1}{1+e^{-\Theta^{{\rm T}}x^{(i)}}}} \\[1em]
&=&\frac{-1}{\left(1+e^{-\Theta^{{\rm T}}x^{(i)}}\right)^2}\frac{\partial}{\partial \theta_j}{e^{-\Theta^{{\rm T}}x^{(i)}}} \\[1em]
&=&\frac{e^{-\Theta^{{\rm T}}x^{(i)}}}{\left(1+e^{-\Theta^{{\rm T}}x^{(i)}}\right)^2}\frac{\partial}{\partial \theta_j}{\Theta^{{\rm T}}x^{(i)}} \\[1em]
&=&\frac{e^{-\Theta^{{\rm T}}x^{(i)}}}{\left(1+e^{-\Theta^{{\rm T}}x^{(i)}}\right)^2}x^{(i)}_j \\[1em]
\therefore \frac{\partial}{\partial \Theta}{h_\Theta(x^{(i)})}&=&\frac{e^{-\Theta^{{\rm T}}x^{(i)}}}{\left(1+e^{-\Theta^{{\rm T}}x^{(i)}}\right)^2}x^{(i)} \\[1em]
\end{eqnarray*}
\]\(l(\Theta)\) 对 \(\Theta\) 求偏导:
\[
\begin{eqnarray*}
[\nabla_\Theta l(\Theta)]_j&=&\frac{\partial l(\Theta)}{\partial \theta_j} \\[1em]
&=&\frac{\partial}{\partial \theta_j}{\sum_i^m{y^{(i)}\log{[h_\Theta(x^{(i)})]}+(1-y^{(i)})\log{[1-h_\Theta(x^{(i)})]}}} \\[1em]
&=&\sum_i^m{y^{(i)}\frac{\partial}{\partial \theta_j}\log{[h_\Theta(x^{(i)})]}+(1-y^{(i)})\frac{\partial}{\partial \theta_j}\log{[1-h_\Theta(x^{(i)})]}} \\[1em]
&=&\sum_i^m{\frac{y^{(i)}}{h_\Theta(x^{(i)})}\frac{\partial}{\partial \theta_j}{h_\Theta(x^{(i)})}+\frac{1-y^{(i)}}{1-h_\Theta(x^{(i)})}\frac{\partial}{\partial \theta_j}{[1-h_\Theta(x^{(i)})}]} \\[1em]
&=&\sum_i^m{\left(\frac{y^{(i)}}{h_\Theta(x^{(i)})}-\frac{1-y^{(i)}}{1-h_\Theta(x^{(i)})}\right)\frac{\partial}{\partial \theta_j}{h_\Theta(x^{(i)})}} \\[1em]
&=&\sum_i^m{\left(\frac{y^{(i)}}{\frac{1}{1+e^{-\Theta^{{\rm T}}x}}}-\frac{1-y^{(i)}}{1-\frac{1}{1+e^{-\Theta^{{\rm T}}x}}}\right)\frac{e^{-\Theta^{{\rm T}}x^{(i)}}}{\left(1+e^{-\Theta^{{\rm T}}x^{(i)}}\right)^2}x^{(i)}_j} \\[1em]
&=&\sum_i^m{\frac{2y^{(i)}-1}{1+e^{\Theta^{{\rm T}}x^{(i)}}}x^{(i)}_j} \\[1em]
\therefore \nabla_\Theta l(\Theta)&=&\sum_i^m{\frac{2y^{(i)}-1}{1+e^{\Theta^{{\rm T}}x^{(i)}}}x^{(i)}} \\[1em]
\end{eqnarray*}
\]训练的目标就是找到一个理想的 \(\Theta\) ,最大化 \(l(\Theta)\) 。
所以训练过程就是:
\[
\Theta :=\Theta+\alpha \nabla_\Theta l(\Theta)
\]
感知机
Perception Algorithm(感知机算法)
Step Function(阶梯函数)
\[
g(z)=\begin{cases}1, &{z\geq0}\\[1em]0,&{\text{Otherwise}}\end{cases}
\]
CS229 笔记03的更多相关文章
- 《30天自制操作系统》笔记(03)——使用Vmware
<30天自制操作系统>笔记(03)——使用Vmware 进度回顾 在上一篇,实现了用IPL加载OS程序到内存,然后JMP到OS程序这一功能:并且总结出下一步的OS开发结构.但是遇到了真机测 ...
- JS自学笔记03
JS自学笔记03 1.函数练习: 如果函数所需参数为数组,在声明和定义时按照普通变量名书写参数列表,在编写函数体内容时体现其为一个数组即可,再传参时可以直接将具体的数组传进去 即 var max=ge ...
- 机器学习实战(Machine Learning in Action)学习笔记————03.决策树原理、源码解析及测试
机器学习实战(Machine Learning in Action)学习笔记————03.决策树原理.源码解析及测试 关键字:决策树.python.源码解析.测试作者:米仓山下时间:2018-10-2 ...
- CS229 笔记08
CS229 笔记08 Kernel 回顾之前的优化问题 原始问题为: \[ \min_{w,b} \frac{1}{2}||w||^2\\[1.5em] {\text{s.t.}}y^{(i)}\le ...
- CS229 笔记07
CS229 笔记07 Optimal Margin Classifier 回顾SVM \[ \begin{eqnarray*} h_{w,b}&=&g(w^{\rm T}x+b)\\[ ...
- CS229 笔记06
CS229 笔记06 朴素贝叶斯 事件模型 事件模型与普通的朴素贝叶斯算法不同的是,在事件模型中,假设文本词典一共有 \(k\) 个词,训练集一共有 \(m\) 封邮件,第 \(i\) 封邮件的词的个 ...
- CS229 笔记05
CS229 笔记05 生成学习方法 判别学习方法的主要思想是假设属于不同target的样本,服从不同的分布. 例如 \(P(x|y=0) \sim {\scr N}(\mu_1,\sigma_1^2) ...
- CS229 笔记04
CS229 笔记04 Logistic Regression Newton's Method 根据之前的讨论,在Logistic Regression中的一些符号有: \[ \begin{eqnarr ...
- CS229 笔记02
CS229 笔记02 公式推导 $ {\text {For simplicity, Let }} A, B, C \in {\Bbb {R}}^{n \times n}. $ $ {\bf {\t ...
随机推荐
- B1004. 成绩排名
这一题总算是把C++的重载活学活用了一回,节省了很多脑细胞. #include<bits/stdc++.h> using namespace std; struct student{ st ...
- PHP Lavavel 使用控制器 传递变量 以及调用 视图模板
控制器第一次入门使用 位置: 在app/Http/Controllers 目录下创建文件名格式:例如 UserController路由调用格式:Route::get('user/tom','UserC ...
- 开源一个最近写的spring与mongodb结合的demo(spring-mongodb-demo)
由于工作需要,给同事们分享了一下mongodb的使用,其中主要就是做了一个spring-data+mongodb的小例子,本着分享的精神,就上传到了github.com上,有需要的同学请移步githu ...
- PAT甲题题解-1075. PAT Judge (25)-排序
相当于是模拟OJ评测,这里注意最后输出:1.那些所有提交结果都是-1的(即均未通过编译器的),或者从没有一次提交过的用户,不需要输出.2.提交结果为-1的题目,最后输出分数是03.某个题目从没有提交过 ...
- 《Linux内核设计与实现》第18章读书整理
第十八章.调试 18.1 准备开始 如果bug能重现的话,将会有很大的帮助. 18.2 内核中的bug Bug多种多样,产生的原因可以有无数的原因,表象也变化多端. 从隐藏在源代码中的错误到展现在目击 ...
- Daily Scrum 10.20
今天进行了团队第一次scrum meeting,在这次会议中,我们针对NABC模型以及开发前期的工作进行了探讨. 第一次会议 主要内容如下: 为了大家接下来几周的开发效率,需要共同商量团队的一些规则 ...
- ELK 性能(1) — Logstash 性能及其替代方案
ELK 性能(1) - Logstash 性能及其替代方案 介绍 当谈及集中日志到 Elasticsearch 时,首先想到的日志传输(log shipper)就是 Logstash.开发者听说过它, ...
- 『编程题全队』alpha阶段项目复审
小组的名字和链接 优点 缺点,bug 报告 最终名次 Gakki赛高 (1)支持注册账号和账号管理(2) 支持自动登录,提供便捷性(3)题目不重复且题目答案准确(4)支持排行榜统计功能(5)自己设计算 ...
- OneZero第二周第四次站立会议(2016.3.31)
会议时间:2016年3月30日 13:00~13:20 会议成员:冉华,张敏,王巍,夏一鸣. 会议目的:汇报前一天工作,全体成员评论,确定会后修改内容或分配下一步任务. 会议内容: 1.前端,夏.张 ...
- springMVC下出现http 400错误
参数绑定过程中类型转换失败 Failed to convert property value of type 'java.lang.String' to required type 'java.uti ...