基于matlab的逻辑回归示例
最近研究机器学习算法,属于小白,学习了“寒小阳”博主的文章(地址:http://blog.csdn.net/han_xiaoyang/article/details/49123419)后,对机器学习的逻辑回归有了个大概的认识,再借助另一位博主“ Earendil ”(地址:https://www.cnblogs.com/earendil/p/8268757.html)对于其中公式的详细推导,试着用matlab语言自己实现一遍,现与大家分享,代码如下:
clc
clear all
close all
data1 = importdata(‘data1.txt’);
%归一化
data1(:,1) = (data1(:,1)- mean(data1(:,1)))./ std(data1(:,1));
data1(:,2) = (data1(:,2)- mean(data1(:,2)))./ std(data1(:,2));
[m,n] = size(data1);
figure
for row = 1:m
if data1(row,3) == 1
plot(data1(row,1),data1(row,2),’.’);
hold on
else
plot(data1(row,1),data1(row, 2),‘x’);
hold on
end
end
%矩阵化
x0 = ones(m,1);
X = [x0,data1(:,1),data1(:,2)];
[m1,n1] = size(X);
theta = ones(n1,1);%初始化
alpha = 0.001;%步长
for iter = 1:5000
A = Xtheta;
g_A = 1./(1+exp(-A));
y = data1(:,3);
Err = g_A - y;
theta_new = theta - alpha(X’*Err);%更新变量
theta = theta_new;
end
x_1 = data1(:,1);
y_1 = -(theta(1) + theta(2)*x_1)/theta(3);
figure
plot(x_1,y_1);
hold on
for row = 1:m
if data1(row,3) == 1
plot(data1(row,1),data1(row,2),’.’);
hold on
else
plot(data1(row,1),data1(row, 2),‘x’);
hold on
end
end
在此,我将原始数据归一化,得到的结果如下:
这里,有一点有点困惑,原文博主没有将原始数据归一化,也能求得正确的分界线,但是我如果不归一化,就会得到错误的结果,如下图:
机器学习小白,有两点问题:
1、为什么不讲数据归一化,就得不到正确的分界线?
2、关于博主“ Earendil ”公式推导中,如下划线部分总觉得掉了一个负号。但是按照博主推导结果却得出了正确的分界线(数据归一化后),是我对公式推导的误解吗?请大牛们不吝赐教。
基于matlab的逻辑回归示例相关推荐
- R语言glm拟合logistic回归模型实战:基于glm构建逻辑回归模型及模型系数统计显著性分析、每个预测因子对响应变量的贡献
R语言glm拟合logistic回归模型实战:基于glm构建逻辑回归模型及模型系数统计显著性分析.每个预测因子对响应变量的贡献 目录
- TF之LoR:基于tensorflow利用逻辑回归算LoR法实现手写数字图片识别提高准确率
TF之LoR:基于tensorflow利用逻辑回归算LoR法实现手写数字图片识别提高准确率 目录 输出结果 设计代码 输出结果 设计代码 #TF之LoR:基于tensorflow实现手写数字图片识别准 ...
- 【数据分析与挖掘】基于LightGBM,XGBoost,逻辑回归的分类预测实战:英雄联盟数据(有数据集和代码)
机器学习-LightGBM 一.LightGBM的介绍与应用 1.1 LightGBM的介绍 1.2 LightGBM的应用 二.数据集来源 三.基于英雄联盟数据集的LightGBM分类实战 Step ...
- 【Python学习系列十六】基于scikit-learn库逻辑回归训练模型(delta比赛代码)
delta比赛的场景:给定数据样本,设计模型训练预测二分类结果,并通过f1-score评估结果.比赛中对特征抽取.样本扰动.过拟合.强相关特征.归一化等概念有实际的理解和应用. 这里给出的代码是基于逻 ...
- 构造matlab决策树分类器,Matlab建立逻辑回归,决策树,SVM,KNN和朴素贝叶斯模型分类绘制ROC曲线...
尽管对于较高的阈值,SVM可以产生更好的ROC值,但逻辑回归通常更擅长区分不良雷达收益与良好雷达.朴素贝叶斯的ROC曲线通常低于其他两个ROC曲线,这表明样本内性能比其他两个分类器方法差. 比较所 ...
- 机器学习_基于arctan的逻辑回归
一.主要内容 最近看到两篇文章,写用arctan 来优化relu激活函数的文章. <基于Arc-LSTM的人职匹配研究> <基于ArcReLU函数的神经网络激活函数优化研究> ...
- 【甘道夫】基于scikit-learn实现逻辑回归LogisticRegression
难得有不涉及机密,同时又有一定记录价值的收获,记录下来,以备查阅. 欢迎转载,请注明出处: http://blog.csdn.net/u010967382/article/details/502252 ...
- Spark:基于PySpark的逻辑回归和决策树模型对泰旦尼克号幸存者预测的机器学习流程
pyspark的ML回顾下 文章目录 官网文档 环境 泰坦尼克号数据分析 泰坦尼克号数据清洗整理 Spark ML Pipeline Titanic幸存者预测:逻辑回归LR模型 模型训练 模型预测 T ...
- 基于 TensorFlow 的逻辑回归详解
Logistic ( 逻辑回归 ) 一.基本概念简介以及理论讲解 1.1.回归 1.2.Logistic 函数的逆函数 –> Logit 函数 1.2.1.伯努利分布 1.2.2 Logit 函 ...
最新文章
- 转 深入理解Midlet类
- 电脑仙人掌机器人作文_神奇的仙人掌作文400字
- Understanding Extension Class Loading--官方
- golang包math/rand使用示例
- myeclipse不编译
- java中412是什么错_HTTP 412 错误 – 先决条件失败 (Precondition failed)
- 16 MM配置-BP业务伙伴-定义屏幕格式的账户组(供应商)
- Linux 配置vim编辑器
- c语言 变参函数的使用方法,c语言变参函数的vsprintf与va_list的用法
- 使用Hystrix守护应用(1)
- 8.数据结构 --- 动态存储管理
- OWASP 创始人:关注首要问题,开源库也可以放心使用
- 运行VS2008提示找不到一个或多个组件,请重新安装该应用程序错误的解决方法V
- DNS云学堂 | 行车不规范亲人两行泪,NS不规范运维两行泪
- (二)注释(comment)详解
- Aspose.Words 删除批注
- 笔记本电脑开机黑屏只能看到鼠标箭头
- NULL,0,`0`,`\0`,0你分得清吗?
- gif太大了怎么压缩?教你一招轻松压缩gif大小
- Linux搜索文件和文件夹的方法
热门文章
- 很黄很暴力的图片搜索引擎
- android手机来电自动报名字,读短信来电报姓名
- 猴子选大王(c语言)
- 超详细markdown语法和typora教程
- android 优化编译,Android-Easy-Compile(安卓编译优化系统)
- 关于计算机编程的收获的作文,编程的乐趣作文800字
- js:字符串(string)转json
- new HashMap(list.size())指定size就能完全避免扩容带来的额外开销了吗?
- VSFTPD搭建过程记录
- 内网渗透-红队内网渗透工具(Viper)