逻辑回归--Octave实现

2023-10-27

The logistic regression cost function is convex, so gradient descent will always find the global minimum.

问题一:采用逻辑回归

Suppose that you are the administrator of a university department and you want to determine each applicant's chance of admission based on their results on two exams. You have historical data from previous applicants that you can use as a training set for logistic regression. For each training example, you have the applicant's scores on two exams and the admissions decision.
Your task is to build a classi cation model that estimates an applicant's probability of admission based the scores from those two exams. This outline and the framework code in ex2.m will guide you through the exercise.

1. 最主要的步骤是计算cost fucnction和 gradient

function [J, grad] = costFunction(theta, X, y)
% Initialize some useful values
m = length(y); % number of training examples

% You need to return the following variables correctly 
J = 0;
grad = zeros(size(theta));

Jtmp=0;
h= zeros(m,1);

%step1:compute hx
hx = X*theta;

%step2:compute h(hx)
h = sigmoid(hx);

%step3:compute cost function's sum part
for i=1:m,
    Jtmp=Jtmp+(-y(i)*log(h(i))-(1-y(i))*log(1-h(i)));
end;
J=(1/m)*Jtmp;

%step4:compute gradient's sum part    
sum1 =zeros(size(X,2),1);%#features row
for i=1:m
    sum1 = sum1+(h(i)-y(i)).*X(i,:)';
end;
    
grad= (1/m)*sum1;

2. 其中调用的sigmoid(S型函数)如下:

function g = sigmoid(z)
%SIGMOID Compute sigmoid functoon
%   J = SIGMOID(z) computes the sigmoid of z.

% You need to return the following variables correctly 
g = zeros(size(z));
for i =1:size(z,1)
    for j =1:size(z,2)
        g(i,j)=1/(1+e^(-z(i,j)));
    end;
end;

3.调用octave的内建函数fminunc();来获得最优的theta和最小的cost。

<

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

逻辑回归--Octave实现 的相关文章

  • 【QT5 带参connect语法记录】

    QT5 带参connect语法记录 slot版 lamda版 Qt4版 未测试 更多细节参考 slot版 void QListWidget itemClicked2 QListWidgetItem QListWidget itemClick

随机推荐

  • 第三章作业

    例3 1 在一个班级中随机抽取9名学生 得到每名学生的英语考试分数如下 91 69 75 78 81 96 92 88 86 计算9名学生的平均考试分数 解 根据式3 1有 x 91 69 75 78 81 96 92 88 86 9 84
  • 动态生成多个 React createRef

    有这么个需求 从接口获取数据 数据格式为 dataList 接口获取的数据 tableData 表格数据 const dataList tableData1 tableData2 tableData3 需要实现的效果大概长这样 dataLi
  • 【学习SLAM】Bundle Adjustment 光束法平差详解

    首先引述来自维基百科的定义 假设我们有一个3D空间中的点 他被位于不同位置的多个摄像机看到 那么所谓的光束法平差 Bundle Adjustment 就是能够从这些多视角信息中提取出3D点的坐标以及各个摄像机的相对位置和光学信息的过程 可能
  • C++ future async promise 用法详解 - shared_future

    shared future 文章目录 shared future 获得方式 作用 区别 原理 基本函数 基本用法 获得方式 只能由 future 得到 作用 同 future 区别 可以多线程 多次访问 shared state 原理 sh
  • C++分糖果

    题目背景 TDOG为大家准备了很多糖果作为节日礼物 由小T负责发放 题目描述 但是糖果被分开装在 nn 个袋子中 每个袋子里的糖果数量不一定相同 糖果一共要分发给 kk 个小伙伴 为了公平起见 发放给每个小伙伴的糖果数量要一致 小T想给小伙
  • 什么是LAMP?LAMP有什么优势?

    什么是LAMP LAMP 是指Linux 操作系统 Apache HTTP 服务器 MySQL 数据库 和 PHP 网络编程语言 一般用来建立 web 应用平台 和 Java J2EE 架构相比 LAMP 具有 Web 资源丰富 轻量 快速
  • 用Python完成毫秒级抢单,助你秒杀淘宝大单

    目录 引言 环境 需求分析 前期准备 淘宝购物流程回顾 秒杀的实现 代码梳理 总结 0 引言 年中购物618大狂欢开始了 各大电商又开始了大力度的折扣促销 我们的小胖又给大家谋了一波福利 淘宝APP直接搜索 小胖发福利 每天领取三次粉丝专属
  • Golang去除字符串前后空格

    v EthName strings Trim v EthName 两种方法都可以 v EthName strings TrimSpace v EthName
  • Python报错: python setup.py egg_info" failed with error code 1

    Python报错 Command python setup py egg info failed with error code 1 in private var folders 0m 7s1flm9j03d35pkr92jcsv3w000
  • 【PyTorch】torch.Tensor详解和常用操作

    学习教材 动手学深度学习 PYTORCH 版 DEMO https github com ShusenTang Dive into DL PyTorch PDF 制作by Marcus Yang https github com cheny
  • 排名第25位!众享比特连续两年上榜“北京民营企业中小百强”

    2022年9月26日 2022北京民营企业百强发布会成功召开 北京市工商业联合会发布了2022北京民营企业百强 1 4 榜单 北京众享比特科技有限公司连续两年荣登 北京民营企业中小百强榜单 排名前进57位 位列第25位 2022年 全市共有
  • 【AutoHotkey】 解析并执行 字符串中的 函数表达式

    预期效果 str func1 123 456 ExecFunc str 实现方式 正则文本解析出函数名及其参数 array形式 执行 该函数与其参数 难点
  • linux fseek函数用法详解

    1 功 能 重定位流 数据流 文件 上的 文件内部位置 指针 注意 不是 定位文件指针 文件指针指向文件 流 位置 指针指向文件内部的字节位置 随着文件的读取会移动 文件指针如果不重新赋值将不会改变指向别的文件 2 用 法 int fsee
  • JS算法之动态规划

    如果不能避免被剥削的命运 就要提高自己被剥削的价值 大家好 我是柒八九 今天 我们继续探索JS算法相关的知识点 我们来谈谈关于动态规划的相关知识点和具体的算法 如果 想了解其他数据结构的算法介绍 可以参考我们已经发布的文章 如下是算法系列的
  • MFC CPropertySheet控件

    步骤一 新建一个对话框 步骤二 新建三个属性页对话框资源 IDD PROPPAGE LARGE 并对新建的三个属性页对话框生成三个类 基类为CPropertyPage 步骤三 插入一个新的类 用于创建属性表单 基类为CPropertyShe
  • Twitter的like动画安卓版 - 备选方案

    英文 Twitter s like animation in Android alternative 相关动画网址 http frogermcs github io twitters like animation in android al
  • VCRUNTIME140_1.dll丢失是怎么回事?三个解决方法分享

    最近打开软件或者游戏的时出现了以下问题一开始以为是自己手残又误删了什么 重新安装了两次也没有解决 看网上有许多朋友安装其他软件时会出现缺少VCRUNTIME140 dll 其实VCRUNTIME140 1 dll是微软Visual C Re
  • JavaScript实现网页打印,可设置页眉、页脚、页边距

    WebBrowser是IE内置的浏览器控件 无需用户下载 即可实现客户端页面打印 关于这个组件还有其他的用法 列举如下 WebBrowser ExecWB 1 1 打开 Web ExecWB 2 1 关闭现在所有的IE窗口 并打开一个新窗口
  • fit_transform和transform

    1 二者区别 fit 用来求得训练集X的均值 方差 最大值 最小值 这些训练集X固有的属性 transform 在fit的基础上 进行标准化 降维 归一化等操作 fit transform 包含上述两个功能 2 为什么训练集用fit tra
  • 逻辑回归--Octave实现

    The logistic regression cost function is convex so gradient descent will always find the global minimum 问题一 采用逻辑回归 Suppo