文章目录

  • 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)最大的分类器,即三个中可信度最高,效果最好的那个分类器。

吴恩达机器学习(十六)逻辑回归、简化代价函数、高级优化、多元分类相关推荐

  1. 吴恩达机器学习 8.6 逻辑回归(Logistic Regression)

    6.1 分类问题 参考文档: 6 - 1 - Classification (8 min).mkv 在这个以及接下来的几个视频中,开始介绍分类问题. 在分类问题中,你要预测的变量 $y$ 是离散的值, ...

  2. 吴恩达机器学习课后习题——逻辑回归

    机器学习课后作业-逻辑回归 逻辑回归 逻辑回归算法,是一种给分类算法,这个算法的实质是:它输出值永远在0到 1 之间. 将要构建一个逻辑回归模型来预测,某个学生是否被大学录取.设想你是大学相关部分的管 ...

  3. 吴恩达机器学习之线性逻辑回归实现部分

    C++实现 "linear_regression.h" //二分类逻辑回归模型 struct elem_log {double y;double* x; //用数组传入自变量数据( ...

  4. 吴恩达机器学习作业二——逻辑回归

    有了作业一的铺垫,作业二的代码更容易理解了. 逻辑回归 题目描述:在训练的初始阶段,我们将要构建一个逻辑回归模型来预测,某个学生是否被大学录取.设想你是大学相关部分的管理者,想通过申请学生两次测试的评 ...

  5. python第六周实验_机器学习 | 吴恩达机器学习第六周编程作业(Python版)

    实验指导书    下载密码:ovyt 本篇博客主要讲解,吴恩达机器学习第六周的编程作业,作业内容主要是实现一个正则化的线性回归算法,涉及本周讲的模型选择问题,绘制学习曲线判断高偏差/高方差问题.原始实 ...

  6. 机器学习 | 吴恩达机器学习第六周编程作业(Python版)

    实验指导书    下载密码:ovyt 本篇博客主要讲解,吴恩达机器学习第六周的编程作业,作业内容主要是实现一个正则化的线性回归算法,涉及本周讲的模型选择问题,绘制学习曲线判断高偏差/高方差问题.原始实 ...

  7. 吴恩达机器学习(六)神经网络(前向传播)

    目录 0. 前言 1. 神经网络模型 2. 前向传播(forward propagation) 3. 神经网络中的多分类 学习完吴恩达老师机器学习课程的神经网络,简单的做个笔记.文中部分描述属于个人消 ...

  8. 吴恩达第三周逻辑回归

    分类问题 我们尝试预测的是结果是否属于某一个类(例如正确或错误) 分类举例 判断一封电子邮件是否是垃圾邮件 判断一次金融交易是否是欺诈 判断一个肿瘤是恶性的还是良性的 考查二元分类问题 我们将因变量( ...

  9. 西瓜书+实战+吴恩达机器学习(六)监督学习之逻辑回归 Logistic Regression

    文章目录 0. 前言 1. 逻辑回归参数求解方法 如果这篇文章对你有一点小小的帮助,请给个关注,点个赞喔,我会非常开心的~ 0. 前言 逻辑回归,根据数据对分类边界进行回归,以此分类. y=σ(wTx ...

  10. 吴恩达机器学习笔记 —— 7 Logistic回归

    http://www.cnblogs.com/xing901022/p/9332529.html 本章主要讲解了逻辑回归相关的问题,比如什么是分类?逻辑回归如何定义损失函数?逻辑回归如何求最优解?如何 ...

最新文章

  1. X3D中Profile如何翻译
  2. linux课程教学设计,《LINUX操作系统》课程整体教学设计.doc
  3. 如何在 C# 循环中捕获局部变量?
  4. 鸿蒙os下载到电脑上,鸿蒙系统pc版下载2.0
  5. 石油勘探是属于计算机应用中的,计算机在石油勘探开发中的应用论文
  6. 关于JWT(Json Web Token)的思考及使用心得
  7. Java基础知识强化68:基本类型包装类之Character概述和Character常见方法
  8. mongodb-查询
  9. 如何从业务代码中抽离出可复用的微组件
  10. 美了美了!22款精美的 iOS 应用程序图标模板
  11. AD PCB板子长度宽度 PCB板子尺寸大小信息
  12. css移动端页面单位,视窗单位在移动端上的使用技巧
  13. 三阶段提交协议(有限状态自动机)
  14. Matlab与1stOpt多元非线性回归
  15. 学习黑马JVM的笔记
  16. Falled to crcate the site. Peaseauthorize ArcGIS Server by navigating to the Apps page
  17. 叮咚~您有一份个税申报,请查收!
  18. java实现社交账号登录
  19. python scripts 目录空
  20. vba 字符串换行的几种方法

热门文章

  1. 「iPad刷机」iPad屏幕提示不可用一招搞定它
  2. C语言学生选课系统实现
  3. MySQL 8 复制(二)——半同步复制
  4. 神经网络--------(2)对conv以及fc的理解
  5. 迈动互联“三位一体”智慧医院系统建设不断创新
  6. me shy是什么歌 抖音make_wrap me in plastic音乐
  7. XMPP中文 XEP-0030:服务发现
  8. 2021-11-09剑指OfferII001.整数除法
  9. Erlang-编译、运行和命令行参数(转自-“Quick Win -- 五多”)
  10. 从一道笔试题谈算法优化(下)