实验内容

1、了解分类和逻辑回归的技术原理,给出满足分类问题的假设函数形式,通过最大似然函数估计推导出新的代价函数
2、针对二分类问题,采用matlab编程,得到分类结果,实验通过程序,分析,加深对逻辑回归分类问题的理解

实验原理

1、分类问题中,由于y是离散值且y∈{0,1},则假设函数满足0≤hθ(x)≤1,因此选择:

2、对hθ(x)输出作进一步解释,hθ(x)是根据输入x得到的y=1或者(y=0)的可能性。因此假设:

3、假设m组训练试验是相互独立的,得到似然估计函数:

4、最大似然函数:

5、代价函数:

6、通过批梯度下降,同时更新所有的θj:其中α是学习率

数据集

链接:https://pan.quark.cn/s/54f8b6d8f1df
提取码:4UwS
第一、二列是入学前考试的成绩,第三列为是否可以入学:1(可以),2(不可以)

实验过程:

1、划分数据集,并展示训练数据集

>> data = load('E:/桌面/成绩单.txt');
>> X = data(:,1:2);
>> y = data(:,3);
>> [h,w] = size(train_data);
>>  for i=1:hif train_data(i,3)==1scatter(train_data(i,1),train_data(i,2),'g*');grid on;hold on;elsescatter(train_data(i,1),train_data(i,2),'r.');grid on;hold on;endend

2、利用梯度下降算法求解最小的J和theta

%利用梯度下降的算法求解出最小的J和theta
>> alpha = 0.001;%学习率
>> [m,n] = size(X);
>> X = [ones(m,1) X];%特征矩阵
>> initial_theta = zeros(n+1,1);%初始化theta
>> prediction = X*initial_theta;%初始化预测
>> logistic = 1./(1+exp(-prediction));%逻辑函数
>> sqrError = (logistic-y)'*X;%均方误差
>> theta = initial_theta-alpha*(1/m)*sqrError';
>> couverg = (1/m)*sqrError';%J(theta)求导,用于判断是否达到最低点
>> J = -1*sum(y.*log(logistic)+(1-y).*log((1-logistic)))/m;%代价函数
>> a = 1;
>> Boolean = zeros(size(X,2),1);
%在最低点处退出循环,即导数为0
%while all(couverg(:)~=Boolean(:))
>> while a ~= 40000000prediction2 = X*theta;logistic1 = 1./(1+exp(-prediction2));sqrError2 = (logistic1-y)'*X;J = -1*sum(y.*log(logistic1)+(1-y).*log(1-logistic1))/m;theta = theta - alpha*(1/m)*sqrError2';couverg = (1/m)*sqrError2';a = a+1;end

解的J:

解得theta:

3、预测结果:

%预测某个学生的成绩为[45,90],求被录取的概率
>> pre1 = logsig([1 45 90]*theta)*100;
>> pre1pre1 =99.93%预测某个学生的成绩为[45,45],求被录取的概率
>> pre2 = logsig([1 45 45]*theta)*100;
>> pre2pre2 =2.73

4、实验总结:
在逻辑分类的代价函数的推导过程中使用了最大似然估计,但最大似然估计求的是最大值,而代价函数求得是最小值,因此只差一个负号,这里的代价函数其实是一个交叉熵。除了梯度下降算法,还可以使用BFGC(变换度法)、L-BFGS(限制变尺度法),这些算法的优点是可以自动选取好得学习率,通常比下降算法要快的多,但也比较复杂。

基于最大似然估计(matlab实验)相关推荐

  1. [转]语音识别中区分性训练(Discriminative Training)和最大似然估计(ML)的区别...

    转:http://blog.sina.com.cn/s/blog_66f725ba0101bw8i.html 关于语音识别的声学模型训练方法已经是比较成熟的方法,一般企业或者研究机构会采用HTK工具包 ...

  2. 最大似然估计方法介绍

    1. 什么是最大似然估计? 在一次机器语言的学习中,引入了一个新概念-最大似然估计.然而面对繁琐的数学公式和复杂的推理过程,使我对概念非常模糊,也不懂到底是什么原理,但通过后来的慢慢学习使我对最大似然 ...

  3. p 型极大似然估计 matlab,最大似然估计的matlab实现

    最大似然估计的matlab实现 最大似然估计的matlab实现 实验目的: 在MVU估计量不存在或存在但不能求解的情况下,最大似然估计是获得实用估计的最通用的方法,利用它可简便地实现对复杂的估计问题的 ...

  4. matlab最小二乘法参数辨识,基于最小二乘法的MATLAB辨识仿真实验

    <工业控制计算机>2013 年第 26 卷第 7 期基于最小二乘法的 MATLAB 辨识仿真实验 崔秀美 刘文杰 陈 澄 (苏州大学机电工程学院,江苏 苏州 215021) Experim ...

  5. matlab实验论文,毕业论文--基于MATLAB的光学实验仿真

    毕业论文--基于MATLAB的光学实验仿真 本科毕业论文 题 目 基于基于 MATLABMATLAB 的光学实验仿真的光学实验仿真 学 院 物理科学与技术学院 专 业 物 理 学(师 范) 2014年 ...

  6. matlab复杂噪声产生实验报告,基于小波信号的噪声消除matlab实验报告.docx

    基于小波信号的噪声消除matlab实验报告.docx 南京师范大学物理科学与技术学院医用电子学论文论文名称:基于小波变换的心电信号噪声消除院系:物科院专业:电路与系统姓名:聂梦雅学号:12100204 ...

  7. 几何级数 函数 matlab,matlab 实验05数据的统计分析

    数据的统计分析 在日常生活中我们会在很多事件中收集到一些数据(比如:考试分数.窗口排队人数.月用电量.灯泡寿命.测量误差.产品质量.月降雨量等数据),这些数据的产生一般都是随机的.这些随机数据乍看起来 ...

  8. 最大似然估计(Maximum Likehood Estimation,MLE)和最大后验估计(Maximum A Posteriori estimation, MAP)

    概率与统计的区别 概率研究的问题是一个模型和它的参数已知的情况下,怎么去预测这个模型产生的结果的特性(如均值,方差,协方差等) 统计研究的问题是在已有的大量的数据的情况下,推断产生这堆数据的模型及其参 ...

  9. 最大似然估计(MLE),最大后验概率估计(MAP),贝叶斯估计入门讲解

    已知数据X,去拟合某个概率模型的参数θ,是最基本的机器学习过程. 本文将入门讲解3个最基本的方法:最大似然估计(Maximum Likelihood Estimation,简称MLE),最大后验概率估 ...

最新文章

  1. Mybatis知识(4)
  2. 【C++】C++0x :: Introduction to some amazing features
  3. 手写简版spring --4--注入属性和依赖对象
  4. Mybatis报错ClassNotfind
  5. C#判断某软件是否安装
  6. 95-30-050-java.util-LinkedHashMap
  7. wpa_supplicant wps手册的翻译
  8. 航空公司客户价值分析
  9. 计算机服务器硬件组成
  10. Tukey‘s test方法 异常值
  11. 计算机盘格式化有什么用,c盘格式化会怎么样?告诉你c盘格式化有什么影响?
  12. matlab运行.m文件的命令,怎样在matlab的命令窗口运行.m文件
  13. 新概念英语(第四册,旧版)复习(原文及全文翻译)——Lesson 58 - Hobbies(培养一种爱好)
  14. 【Android开发】
  15. 你应该知道的linux命令 — lsof
  16. 什么是多进程-多线程-多协程 ----进程和多进程
  17. OC基础语法-1.OC和C语言的对比
  18. Mysql只看这一篇就够啦
  19. 喜欢我十九年的男孩结婚了
  20. [0xFA-2021][Buuctf]Reverse_1

热门文章

  1. 融入动画技术的粒子效果文字动画交互应用
  2. Android Activity onDestroy() 不回调的解决方式
  3. ChromeDriver与Chrome版本对应关系及下载链接
  4. 1.面试题目汇总-嵌入式篇
  5. android 视频开发2分之2(仿美拍,糗百)
  6. 程序员开发什么小程序挣钱_作为程序员赚钱的5种独特方式
  7. springboot学习(七十三) springboot中使用springdoc替换swagger(springfox)
  8. 1. 随机事件 样本空间
  9. SSD系列算法原理讲解----(1)SSD系列算法介绍(主干网络、多尺度Feature Map预测)(笔记)
  10. Elasticsearch学习--查询(prefix、wildcard、regexp、fuzzy)