吴恩达机器学习(十六)逻辑回归、简化代价函数、高级优化、多元分类
文章目录
- 1.逻辑回归
- 2.简化代价函数与梯度下降
- 3.高级优化
- 4.多元分类:一对多
1.逻辑回归
以下是监督学习问题中的逻辑回归模型的拟合问题,我们有一个训练集:
我们如何选择参数θ
当y=1时,cost(hθ(x(i)),y(i))=-log(hθ(x(i))):
当y=0时,cost(hθ(x(i)),y(i))=-log(1-hθ(x(i))):
这个曲线的特点是在hθ(x)趋于1时激增,趋于正无穷,也就是说如果最后发现y=0,我们几乎可以非常肯定地预测y=1的概率是1,那么我们就要付出非常大的代价值,相反,如果hθ(x)=0且y=0,那么假设函数预测对了。
2.简化代价函数与梯度下降
已知逻辑回归的代价函数是:
现用一个式子来同时表示以上两个式子:cost(hθ(x(i)),y(i))=-ylog(hθ(x(i)))-(1-y)log(1-hθ(x(i)))
代价函数:
梯度下降过程:
将偏导数代入:
对θ迭代更新的过程:
最后,如果特征范围差距很大的话,那么应用特征缩放的方法,同样也可以让逻辑回归中梯度下降收敛更快
3.高级优化
我们来了解一下高级优化算法和一些高级的优化概念,这些算法能够大量提高逻辑回归运行的速度。我们需要做的是能够编写代码,当输入参数θ时,会计算出J(θ)以及j分别取0,1,…,n时J(θ)对θj的偏导数项。
例:
通过观察可知θ1、θ2的最优解是θ1=5、θ2=5,现欲使用无约束最小化函数来求θ1、θ2的最优解。
代价函数:
function [jVal,gradient] = costFunction(theta)
jVal = (theta(1) - 5)^2 + (theta(2) - 5)^2;
gradient = zeros(2,1);
gradient(1) = 2*(theta(1)-5);
gradient(2) = 2*(theta(2)-5);
无约束最小化函数求θ1、θ2的最优解:
%options变量存储想要的options的数据结果;
%‘GradObj=on’设置梯度目标参数为打开
%‘MaxIter=100’设置最大迭代次数为100
options = optimset('GradObj','on','MaxIter',100);
initialTheta = zeros(2,1);%给出一个θ的猜测初始值
[optTheta,functionVal,exitFlag] = fminunc(@costFunction,initialTheta,options);
运行结果:
结果分析:exitFlag=1表示函数已经收敛了,optTheta=[5,5]表示θ1、θ2找到了最优解,是θ1=5、θ2=5;需注意的是θ的维数大于等于2,所以猜测初始值initialTheta的维数应大于等于2.
4.多元分类:一对多
小结:
比如在三个分类器运行输入x,然后选择hθ(x)最大的分类器,即三个中可信度最高,效果最好的那个分类器。
吴恩达机器学习(十六)逻辑回归、简化代价函数、高级优化、多元分类相关推荐
- 吴恩达机器学习 8.6 逻辑回归(Logistic Regression)
6.1 分类问题 参考文档: 6 - 1 - Classification (8 min).mkv 在这个以及接下来的几个视频中,开始介绍分类问题. 在分类问题中,你要预测的变量 $y$ 是离散的值, ...
- 吴恩达机器学习课后习题——逻辑回归
机器学习课后作业-逻辑回归 逻辑回归 逻辑回归算法,是一种给分类算法,这个算法的实质是:它输出值永远在0到 1 之间. 将要构建一个逻辑回归模型来预测,某个学生是否被大学录取.设想你是大学相关部分的管 ...
- 吴恩达机器学习之线性逻辑回归实现部分
C++实现 "linear_regression.h" //二分类逻辑回归模型 struct elem_log {double y;double* x; //用数组传入自变量数据( ...
- 吴恩达机器学习作业二——逻辑回归
有了作业一的铺垫,作业二的代码更容易理解了. 逻辑回归 题目描述:在训练的初始阶段,我们将要构建一个逻辑回归模型来预测,某个学生是否被大学录取.设想你是大学相关部分的管理者,想通过申请学生两次测试的评 ...
- python第六周实验_机器学习 | 吴恩达机器学习第六周编程作业(Python版)
实验指导书 下载密码:ovyt 本篇博客主要讲解,吴恩达机器学习第六周的编程作业,作业内容主要是实现一个正则化的线性回归算法,涉及本周讲的模型选择问题,绘制学习曲线判断高偏差/高方差问题.原始实 ...
- 机器学习 | 吴恩达机器学习第六周编程作业(Python版)
实验指导书 下载密码:ovyt 本篇博客主要讲解,吴恩达机器学习第六周的编程作业,作业内容主要是实现一个正则化的线性回归算法,涉及本周讲的模型选择问题,绘制学习曲线判断高偏差/高方差问题.原始实 ...
- 吴恩达机器学习(六)神经网络(前向传播)
目录 0. 前言 1. 神经网络模型 2. 前向传播(forward propagation) 3. 神经网络中的多分类 学习完吴恩达老师机器学习课程的神经网络,简单的做个笔记.文中部分描述属于个人消 ...
- 吴恩达第三周逻辑回归
分类问题 我们尝试预测的是结果是否属于某一个类(例如正确或错误) 分类举例 判断一封电子邮件是否是垃圾邮件 判断一次金融交易是否是欺诈 判断一个肿瘤是恶性的还是良性的 考查二元分类问题 我们将因变量( ...
- 西瓜书+实战+吴恩达机器学习(六)监督学习之逻辑回归 Logistic Regression
文章目录 0. 前言 1. 逻辑回归参数求解方法 如果这篇文章对你有一点小小的帮助,请给个关注,点个赞喔,我会非常开心的~ 0. 前言 逻辑回归,根据数据对分类边界进行回归,以此分类. y=σ(wTx ...
- 吴恩达机器学习笔记 —— 7 Logistic回归
http://www.cnblogs.com/xing901022/p/9332529.html 本章主要讲解了逻辑回归相关的问题,比如什么是分类?逻辑回归如何定义损失函数?逻辑回归如何求最优解?如何 ...
最新文章
- X3D中Profile如何翻译
- linux课程教学设计,《LINUX操作系统》课程整体教学设计.doc
- 如何在 C# 循环中捕获局部变量?
- 鸿蒙os下载到电脑上,鸿蒙系统pc版下载2.0
- 石油勘探是属于计算机应用中的,计算机在石油勘探开发中的应用论文
- 关于JWT(Json Web Token)的思考及使用心得
- Java基础知识强化68:基本类型包装类之Character概述和Character常见方法
- mongodb-查询
- 如何从业务代码中抽离出可复用的微组件
- 美了美了!22款精美的 iOS 应用程序图标模板
- AD PCB板子长度宽度 PCB板子尺寸大小信息
- css移动端页面单位,视窗单位在移动端上的使用技巧
- 三阶段提交协议(有限状态自动机)
- Matlab与1stOpt多元非线性回归
- 学习黑马JVM的笔记
- Falled to crcate the site. Peaseauthorize ArcGIS Server by navigating to the Apps page
- 叮咚~您有一份个税申报,请查收!
- java实现社交账号登录
- python scripts 目录空
- vba 字符串换行的几种方法
热门文章
- 「iPad刷机」iPad屏幕提示不可用一招搞定它
- C语言学生选课系统实现
- MySQL 8 复制(二)——半同步复制
- 神经网络--------(2)对conv以及fc的理解
- 迈动互联“三位一体”智慧医院系统建设不断创新
- me shy是什么歌 抖音make_wrap me in plastic音乐
- XMPP中文 XEP-0030:服务发现
- 2021-11-09剑指OfferII001.整数除法
- Erlang-编译、运行和命令行参数(转自-“Quick Win -- 五多”)
- 从一道笔试题谈算法优化(下)