【机器学习笔记】logistic回归
来源:互联网 发布:list是集合还是数组 编辑:程序博客网 时间:2024/05/22 10:41
本文章纯粹自己学习瞎写的 别看
Logistic回归是一种简单的分类算法,Logistic回归通过对数据分类边界的拟合来实现分类。
在分类情形下,经过学习后的LR分类器是一组权值,当测试样本的数据输入时,这组权值与测试数据按照线性加和得到
这里 是每个样本的个特征。
之后按照sigmoid函数的形式求出
MATLAB程序
梯度上升函数
function thetas = gradAscent(dataMat, classLabels, iterNum) [m, n] = size(dataMat); alpha = 0.001; %步长 thetas = ones(n, 1); for i = 1:iterNum h = 1.0 ./ (1 + exp(-(dataMat * thetas))); % sigmoid函数 error = classLabels - h; %梯度上升法 thetas = thetas + alpha * dataMat' * error; endend
主程序
clcclear;N = 500;data=[];%用于储存X中的来自不同模型的数据m1 = [1,0]';m2 = [1,3]';%三种模型S = 5*eye(2);%协方差矩阵%生成数据for i=1:N P = rand(1);%生成一个随机数 if(P<=0.5)%根据先验概率决定本次来自哪个模型 data = [data;mvnrnd(m1,S,1),1]; else data = [data;mvnrnd(m2,S,1),0]; endenddataMat = data(:,1:2); [m, n] = size(dataMat);dataSet = eye(m, n + 1);dataSet(:, 2:3) = dataMat; % 输入x的样本dataSet(:, 1) = 1; % 令第零维向量为1,便于计算labelMat = data(:,3); % 输出y的样本j = 0;k = 0;xcord1 = [];ycord1 = [];xcord2 = [];ycord2 = [];for i = 1:m if labelMat(i) == 1 % 对样本进行分类,归为1类 j = j + 1; xcord1(j) = dataMat(i, 1); ycord1(j) = dataMat(i, 2); else % 归为0类 k = k + 1; xcord2(k) = dataMat(i, 1); ycord2(k) = dataMat(i, 2); endendthetas = gradAscent(dataSet, labelMat, 500);x = -5.0 : 0.1 : 7.0;y = (-thetas(1) - thetas(2) * x) / thetas(3); % 分类边界figure(1);xlabel('x1');ylabel('x2');plot(xcord1, ycord1, 'go', 'MarkerSize', 6, 'LineWidth', 2);hold on;plot(xcord2, ycord2, 'bx', 'MarkerSize', 6, 'LineWidth', 2);plot(x, y, '-r', 'LineWidth', 2)
结果
数据集是自己生成的,没用seed,所以运行一次产生一次新的数据集
程序里有一部分搬了网上找的,介意的话通知我我会删掉
本文章纯粹自己学习写的,别看
阅读全文
0 0
- 机器学习笔记-Logistic回归
- 机器学习笔记:Logistic回归
- 【机器学习笔记】logistic回归
- 【机器学习笔记1】Logistic回归总结
- 机器学习实战笔记5(logistic回归)
- 机器学习实战Logistic回归笔记
- 机器学习笔记—Logistic 回归
- 【机器学习笔记1】Logistic回归总结
- 斯坦福大学机器学习笔记(4)-logistic回归
- 【机器学习笔记1】Logistic回归总结
- 机器学习笔记之Logistic回归算法
- 机器学习笔记(四)Logistic回归
- 【机器学习笔记1】Logistic回归总结
- 【机器学习笔记】Logistic回归总结
- 机器学习笔记(四)之Logistic回归
- 机器学习实战笔记-Logistic回归
- 机器学习-Logistic回归
- 机器学习-logistic回归
- java中常量池的特点
- JAVA多线程(三)
- JProfiler学习笔记
- 汽车加油问题(贪心算法)
- Java 内部类和闭包
- 【机器学习笔记】logistic回归
- 为什么要用单例模式而不是静态方法
- 十大最佳 Linux 服务器发行版
- XML技术(四)
- ADV-94-复数归一化
- 最少需要多少台虚拟设备?
- centos 7 上传下载小工具
- Java开发之java加密解密
- caffe学习--参数调整