斯坦福机器学习课程 Exercise 习题四
2024-10-06 13:22:05
Exercise 4: Logistic Regression and Newton’s Method
回顾一下线性回归
hθ(x)=θTx
Logistic Regression
hθ(x)=11+e−θTx=p{y=1|x;θ}
cost(hθ(x),y)的选择
cost(hθ(x),y)=−loghθ(x) (y=1)
选择对数似然损失函数作为逻辑回归的Cost Function 原因是这个cost函数是凸函数,具有碗状的形状,而凸函数具有良好的性质:对
于凸函数来说局部最小值点即为全局最小值点,因此只要能求得这类函数的一个最小值点,该点一定为全局最小值点。
当hθ(x)=1的时候cost =0 反之cost=+∞
同理,cost(hθ(x),y)=−log(1−hθ(x)) (y=0)
当hθ(x)=0的时候cost =0 反之cost=+∞
in summarize
cost(hθ(x),y)=−y loghθ(x)−(1−y)log(1−hθ(x)) (y=1 or 0)
J(θ)=1mcost(hθ(x(i)),y(i))
J(θ)=−1m∑i=1m[y loghθ(x)+(1−y)log(1−hθ(x))]
牛顿迭代法
xn+1=xn−f′(xn)f′′(xn)
decision boundary
hθ(x)=1−g(θTx)=0.5
θ0+θ1x1+θ2x2=0
x2=−1θ2(θ0+θ1x1)
plot_y=−1θ2(θ0+θ1X)
预测不被admitted的概率
prob=1−g(θTx)
for i=1:MAX_ITR
z=x*theta;
h=g(z);
deltaJ= (1/m).* x' * (h - y);
Hessian=(1/m).*x'* diag(h) * diag(1-h) * x;
J(i)= (1/m) * sum (-y.*log(h) - (1-y).*log(1-h) );
theta = theta - Hessian \ deltaJ;
end
关键的地方是 Hessian矩阵的求法:
Ng的课程讲到
H=1m∑i=1m[h(x(i))R(1−h(x(i)))R∗(x(i))∗(x(i))T]
后面的则是
R(n+1)×1∗R1×(n+1)
h(x(i))是向量,因此在矩阵运算的时候,将向量表示成对角矩阵。
diag(h)∗diag(1−h)
本文完
最新文章
- ThinkPHP3.2.3整合smarty模板(一)
- 详细解说Java Spring的JavaConfig注解 【抄】
- Vue.js线程机制问题还是数据双向绑定有延迟的问题
- mysql定时任务简单例子
- 业务系统的JVM启动参数推荐
- 第一次,触碰Web App项目,栽过的那些坑。
- 基于GPL329xx linux平台电容屏gsl1680的驱动调试分析
- Mac OS X 系统目录结构
- 【nodemailer】 之邮件附件
- PC-如何提高计算机的启动和关机的速度?
- 转:shell 经典, shell 十三问
- C# 创建验证码图片
- Linux Root密码忘记怎么办?用Vultr vps教程演示重置root密码
- C语言程序设计第三次作业——选择结构(一)
- 2018春招实习笔试面试总结(PHP)
- 微信内分享第三方H5链接无法使用内置浏览器打开的解决方案
- 虚拟机部署hadoop集群准备工作之多虚拟机设置网络信息
- Web API中使用CORS解决跨域
- Android View体系(三)属性动画
- ASP.Net MVC(4) 之js css引用与压缩
热门文章
- Ubuntu18.04 显卡驱动+Cuda安装踩坑记录 以及Ubuntu虚拟内存的添加
- jupyter编辑快捷键
- ORM增删改查
- 【集群监控】JMX exporter+Prometheus+Grafana监控Hadoop集群
- ELK 学习笔记之 elasticsearch 版本控制
- 新手学分布式-动态修改Nginx配置的一些想法
- rest_framework视图
- 编程杂谈——std::vector与List<;T>;的性能比较
- 将自定义功能添加到Spring Data Repository
- Spring源码分析(一)预备篇=》基本知识储备