- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在从Andrewra Ng上Coursera上的机器学习课程。在这项工作中,我正在使用MatLab中的逻辑回归来计算成本函数,但正在收到“使用sfminbx出错(第27行)
目标函数在开始时未定义。 fminunc无法继续。”。
我应该补充一点,下面的costFunction函数中的成本J是NaN,因为log(sigmoid(X * theta))是-Inf向量。我确定这与异常有关。你能帮忙吗?
我的成本函数如下所示:
function [J, grad] = costFunction(theta, X, y)
m = length(y); % number of training examples
J = 0;
grad = zeros(size(theta));
h = sigmoid(theta * X);
J = - (1 / m) * ((log(h)' * y) + (log(1 - h)' * (1 - y)));
grad = (1 / m) * X' * (h - y);
end
data = load('ex2data1.txt');
X = data(:, [1, 2]); y = data(:, 3);
[m, n] = size(X);
% Add intercept term to x and X_test
X = [ones(m, 1) X];
% Initialize fitting parameters
initial_theta = zeros(n + 1, 1);
% Compute and display initial cost and gradient
[cost, grad] = costFunction(initial_theta, X, y);
fprintf('Cost at initial theta (zeros): %f\n', cost);
fprintf('Expected cost (approx): 0.693\n');
fprintf('Gradient at initial theta (zeros): \n');
fprintf(' %f \n', grad);
fprintf('Expected gradients (approx):\n -0.1000\n -12.0092\n -11.2628\n');
% Compute and display cost and gradient with non-zero theta
test_theta = [-24; 0.2; 0.2];
[cost, grad] = costFunction(test_theta, X, y);
fprintf('\nCost at test theta: %f\n', cost);
fprintf('Expected cost (approx): 0.218\n');
fprintf('Gradient at test theta: \n');
fprintf(' %f \n', grad);
fprintf('Expected gradients (approx):\n 0.043\n 2.566\n 2.647\n');
fprintf('\nProgram paused. Press enter to continue.\n');
pause;
%% ============= Part 3: Optimizing using fminunc =============
% In this exercise, you will use a built-in function (fminunc) to find the
% optimal parameters theta.
% Set options for fminunc
options = optimset('GradObj', 'on', 'MaxIter', 400, 'Algorithm', 'trust-
region');
% Run fminunc to obtain the optimal theta
% This function will return theta and the cost
[theta, cost] = ...
fminunc(@(t)(costFunction(t, X, y)), initial_theta, options);
end
最佳答案
我看到的唯一问题是您应该写h = sigmoid(X * theta)
而不是h = sigmoid(theta * X)
。更改此代码后,我从您的代码中得到的答案与我从同一任务的代码中得到的答案相同。
关于matlab - Logistic回归中的麻烦计算成本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43578301/
在 Azure 机器学习工作室的测试项目中,根据我的理解,我有一些问题。在我的项目(在 R 中)中,我使用了二元 Logistic 回归,但在 AML 中我发现了两个 Logistic 回归:二类和多
我想估计医疗数据逻辑回归中使用的 sigmoidal/logistic 的最佳参数(在最后提到:斜率和截距)。这是我用 python 所做的: import numpy as np from skle
我在 R 中运行逻辑回归模型。我使用了 Zelig 和 Car 包。但是,我想知道是否有一种简单的方法可以获得模型的模型拟合统计数据。 (伪 R 方、卡方、对数似然等) 最佳答案 假设 glm1 is
在逻辑回归中,SAS 可以选择使用“降序”选项对 1 而不是 0 进行建模。 R 中有什么方法可以让我们做同样的事情吗? 我正在使用的代码如下: glm(y~x1+x2+x3, family=bino
作为后续 this question ,我拟合了具有定量和定性解释变量之间相互作用的多元 Logistic 回归。 MWE如下: Type |z|) (Intercept) -0.65518
我已经开始使用 Vowpal Wabbit 对于逻辑回归,但是我无法重现它给出的结果。也许它确实有一些未记录的“魔法”,但是有没有人能够复制/验证/检查逻辑回归的计算? 例如,使用下面的简单数据,我们
有没有办法像 statsmodels 一样为 scikit 逻辑回归模型提供类似的、不错的输出?有了所有的 p 值,标准。一张表中的错误等? 最佳答案 正如您和其他人所指出的,这是 scikit le
我正在使用 vowpal wabbit 进行逻辑回归。我了解到,vowpal wabbit 从给定的训练数据中选择一个保留集进行验证。这组是随机选择的吗?我有一个非常不平衡的数据集,包含 100 多个
我使用逻辑回归编写了一个多类分类器,该分类器使用一对多方法进行训练。我想绘制经过训练的分类器的学习曲线。 学习曲线应该按类别绘制,还是应该作为整个分类器的单个图?这有什么不同吗? 需要澄清的是,学习曲
在scipy.special.expit中,逻辑函数实现如下: if x < 0 a = exp(x) a / (1 + a) else 1 / (1 + exp(-x)) 但
逻辑斯蒂映射在混沌数学中是一个很经典的例子,它可以说明混沌可以从很简单的非线性方程中产生。 逻辑斯蒂映射公式如下: x_n表示当前人口与最大人口数量的比值,mu为参数,相当于人口增长速率。
我是数据科学或机器学习的新手。我尝试从 here 实现代码,但预测只返回 1 个类。 这是我的代码: classification_data = data.drop([10], axis=1).val
请帮助解释 Weka 库中由 weka.classifiers.functions.Logistic 生成的逻辑回归结果。 我使用来自 Weka 示例的数字数据: @relation weather
RSNNS 上的 CRAN 文档仅提及 Act_Logistic 作为隐藏层激活函数的示例。 RSNNS 中是否有所有可用激活函数的列表? 我专门寻找双曲正切函数的语法。 最佳答案 是的,大多数(全部
我正在使用 scikit-learn 的 linear_model.LogisticRegression 来执行多项逻辑回归。我想初始化求解器的种子值,即我想给求解器它的初始猜测作为系数的值。 有谁知
glmnet 中有没有办法进行一阶交互? 例如,如果我的 X 矩阵是: V1 V2 V3 0 1 0 1 0 1 1 0 0 ... 有没有办法指定它在不手动创建列的情况下按照 `y
我目前有一个程序,它采用特征向量和分类,并将其应用于已知的权重 vector ,以使用逻辑回归生成损失梯度。这是代码: double[] grad = new double[featureSize];
我正在关注 Siraj Raval 关于使用梯度下降的逻辑回归的视频: 1) 较长视频的链接: https://www.youtube.com/watch?v=XdM6ER7zTLk&t=2686s
我目前正在学习机器学习,但没有统计学背景。无论我在哪里看到物流功能,它总是: wx + b 但是this example in Theano documentation使用: wx - b 请问是哪一
我正在编写一些基本的神经网络方法 - 特别是激活函数 - 并且已经达到了我垃圾数学知识的极限。我理解各自的范围(-1/1)(0/1)等,但不同的描述和实现让我感到困惑。 具体来说,sigmoid、lo
我是一名优秀的程序员,十分优秀!