
机器学习和人工智能
程序猿老王。
好记性不如烂笔头
展开
-
多项式拟合:鲁棒学习-Huber损失最小化
clear; clc;n = 10; N = 1000; x = linspace(-3, 3, n)'; X = linspace(-4, 4, N)';rng('default');y = x + 0.1*randn(n,1); y(n) = -4; % 异常值p(:, 1) = ones(n, 1); p(:, 2) = x; t0 = p\y; % 计...翻译 2018-08-14 09:28:51 · 1535 阅读 · 0 评论 -
随机梯度最小二乘:高斯核模型
clear; clc;n = 50;N = 1000;x = linspace(-3, 3, n)';X = linspace(-3, 3, N)';pix = pi*x;rng('default');y = sin(pix) ./ (pix) + 0.1*x + 0.05*randn(n, 1);hh = 2*0.3^2;t0 = randn(n, 1);e = 0.1...翻译 2018-08-12 10:30:46 · 805 阅读 · 0 评论 -
【Matlab学习手记】BP神经网络数据滚动预测
BP神经网络滚动预测未来数据:将预测的下一年数据作为已知数据继续预测下一年。代码clear; clc;data = [0 0.0252 0.0550 0.1104 0.1480 0.0252 0.0550 0.1104 0.1480 0.2111 0.0550 0.1104 0.14...原创 2019-06-05 23:46:21 · 11827 阅读 · 46 评论 -
【Matlab学习手记】梯度下降法
用一个实例来理解两种梯度下降方法。clear; clc;%% 一元函数梯度下降法% 示例:f(x) = min{(x - 1)^2}% 梯度:g(x) = 2 * (x - 1)yita = 0.25; % 学习率,一般设置小一点,否则容易在最小值附近震荡或者不收敛x1 = -5 : 0.1 : 5;y1 = (x1 - 1).^2;iteMax = 1000;xI...原创 2019-08-14 16:33:51 · 1632 阅读 · 4 评论 -
【Matlab学习手记】多元线性回归
介绍多元线性回归的三种方法:regress、左除、Adagrad梯度下降法。regress是Matlab内置函数,用于数据回归分析;左除这个思想很有用,可以解决很多问题,多元线性回归、多项式回归都可以用到这个方法;Adagrad是一种梯度方法。clear; clc;% 多元线性回归模型% z = w1 * x + w2 * y + w3% z = 5 * x + 10 * ...原创 2019-08-16 10:29:46 · 2987 阅读 · 0 评论 -
多项式拟合:鲁棒学习-Tukey损失最小化
clear; clc;n = 10; N = 1000; x = linspace(-3, 3, n)'; X = linspace(-4, 4, N)';rng('default');y = x + 0.1*randn(n,1); y(n) = -4; % 异常值y(n - 1) = -4;y(2) = -4;p(:, 1) = ones(n, 1); p(:...翻译 2018-08-14 09:28:37 · 1876 阅读 · 0 评论 -
【Matlab学习手记】ELM分类
实例:极限学习机(Extreme Learning Machine, ELM)在分类问题中的应用研究训练集正确率Accuracy = 90.6%(453/500)测试集正确率Accuracy = 82.6087%(57/69)病例总数:569 良性:357 恶性:212训练集病例总数:500 良性:316 恶性:184测试集病例总数:69 良性:41 恶性:28...原创 2018-08-11 09:51:31 · 9519 阅读 · 164 评论 -
Matlab学习手记——ELM数据回归拟合
极限学习机(Extreme Learning Machine, ELM)在回归拟合问题中的应用研究。代码function ELM_Regression()clear; clc;% 导入数据load data_regression.mat input output% 随机生成训练集、测试集k = randperm(size(input,1));% 训练集—1900个...原创 2018-08-13 08:38:55 · 4906 阅读 · 56 评论 -
【Matlab学习手记】BP神经网络数据预测
目的:利用BP神经网络进行数据预测。原理代码clear; clc;TestSamNum = 20; % 学习样本数量ForcastSamNum = 2; % 预测样本数量HiddenUnitNum=8; % 隐含层InDim = 3; % 输入层OutDi...原创 2018-08-11 09:50:55 · 62432 阅读 · 108 评论 -
【Matlab学习手记】基于带动量项的BP神经网络语音识别
正确率0.7699 1.0000 0.9275 0.9760代码clear; clc;% 加载四类语音信号load data1 c1load data2 c2load data3 c3load data4 c4% 四个特征信号矩阵合成一个矩阵data(1:500, :) = c1(1:500, :);data(501:1000, :) = ...原创 2018-08-11 09:51:05 · 2137 阅读 · 0 评论 -
【Matlab学习手记】多元非线性回归
介绍两种方法做多元非线性回归:lsqcurvefit、Adagrad 法。lsqcurvefit是Matlab提供的内置函数,用于基于最小二乘的曲线拟合问题;Adagrad是一种基于梯度的迭代方法,特点在步长不固定,随着迭代次数变化。clear; clc;% 多元非线性回归模型% z = w1 * exp(-x / w2) + w3 * y% z = 10 * exp(-x / 5...原创 2019-08-16 10:46:15 · 7697 阅读 · 7 评论