问题标签 [liblinear]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
machine-learning - liblinear L1 与 L2 逻辑回归性能差异
我正在使用 LIBLINEAR 训练一个简单的逻辑回归分类器。只有3个特征,标签是二进制0-1。
示例输入文件:
现在,如果我使用“-s 6”,即“ L1 正则化逻辑回归”,那么 10 倍交叉验证准确率约为 70%,并且每次迭代都在几秒钟内完成。但是如果我使用“-s 7”,也就是“ L2-regularized logistic regression (dual) ”,那么训练迭代次数超过1000,10倍准确率只有60%。
有没有人见过这种奇怪的行为?据我了解,L1 和 L2 之间的唯一区别是正则化项是使用 abs(x) 还是 pow(x, 2)。
scala - Spark运行Liblinear无法加载JBLAS jar
我正在运行 spark 1.4.0、hadoop 2.7.0 和 JDK 7。我正在尝试运行此处提供的 Liblinear 示例代码。
liblinear jar 可以工作,但是在训练模型时找不到 JBLAS 库。我尝试在启动 spark 时在 --jars 选项中包含一个 JBLAS 库,以及使用 maven 安装 jar(尽管我必须添加我是 spark 和 maven 的新手,所以我可能做错了)。
抛出的具体错误是这样的:
运行此行时:
谢谢。
svm - Liblinear 中相同的训练数据生成不同的模型
我正在使用 Liblinear 来训练分类问题的模型。我注意到改变训练数据中样本的顺序会导致不同的模型。为了测试这一点,我创建了两个不同的 liblinear 问题,它们以不同的顺序包含相同的数据。
这是什么原因?这可以避免吗?
visual-c++ - liblinear 重建:二进制文件冻结
我一直在尝试按照自述文件中的说明,使用 Visual c++ 和 nmake 为 liblinear 重建 Windows 二进制文件。我需要重建,因为我需要 SVM 概率输出。我按照常见问题解答 ( https://www.csie.ntu.edu.tw/~cjlin/liblinear/FAQ.html#training_and_prediction )中的建议修改了 linear.cpp 中的 check_probability_model 方法。构建成功而没有错误,但是当我执行二进制文件 train.exe 或 predict.exe 之一时,它们冻结/挂起而没有输出。未修改的代码也会发生这种情况。zip 文件中包含的二进制文件运行良好。
有人知道可能导致这种情况的原因吗?
我安装了 Visual Studio 2015 Community 和 Visual c++ 编译器。我在 makefile 中使用了 64 位设置。
svm - 减少 LIBSVM 中的模型文件大小
我想减小模型文件大小。我们可以通过减少模型文件权重中的位数来减少它吗?我的模型文件中的类数约为 3800,特征数约为 357000。以下是模型文件的摘录。我可以减少这些权重的位数吗?
python - liblinear svm 无法收敛后的内存错误
在收到与 liblinear 无法收敛有关的错误消息后,将生成以下错误跟踪。我试图了解错误指的是什么,以及如何防范它。
svm 来自 SKLearn,这里是设置它的代码。
错误跟踪
python - 使用 LIBLINEAR 或 LIBSVM 进行自定义 SVM 优化
我有一个 PU 学习任务,我在这篇论文中发现了一个看起来像解决它的特殊算法:https ://www.cs.uic.edu/~liub/publications/ICDM-03.pdf
我希望实现第 5 部分中描述的“有偏”SVM 的非标准公式。
它使用两个参数 C+ 和 C- 来对正错误和负错误进行不同的加权。
我想我会在这个问题上使用现有的 SVM 求解器,不仅可以加快跑腿工作,还可以确保最佳时间复杂度,因为我的特征空间和样本数量都非常大(因此我希望使用 LIBLINEAR)。
有没有办法像上面那样指定自定义损失函数?
谢谢您的帮助。
c# - 使用 Accord.Net 和 Liblinear 更改类权重
如何使用 Liblinear 实现为 Accord.Net 的分类(任何模型)指定类权重。此外,我可以将自动平衡用于类似于 sciKit.Learn 的实现的不平衡数据。
提前致谢
r - 在不同样本上训练的线性 SVM 模型的决策值是否具有可比性?
如果我的问题不清楚,我将尝试举一个更具体的例子:
我正在执行 ak fold 交叉验证以拟合线性 SVM 模型的成本参数(我在 R 中使用 LiblineaR 包)。因此,对于每个成本值,我都有 k 个模型,每个模型都在数据集的不同但重叠的样本上进行训练。然后下一步是在整个训练集上训练模型,并在不包含在任何 k 折叠中的验证集上进行测试 - 标准。
对于我正在解决的问题,误报被认为比误报成本更高,因此在每个 k 折叠中,我都根据加权准确度度量调整决策阈值。我的问题是,一旦为每个 k 个模型选择了决策阈值,取这些决策阈值的平均值并将其应用于最终模型输出是否有意义?
例如,假设成本为 1 是最好的,我有 k=4 个模型以 1 的成本训练。这 4 个模型的调整决策阈值为 0.12、0.14、0.04、0.02,平均值为 0.08。如果我在整个数据集上使用 1 的成本训练模型,我可以使用 0.08 作为决策阈值吗?
或者在不同样本上训练的模型的决策值是否不可比较,在这种情况下取平均值就没有意义了?
scikit-learn - scikit学习linearsvc信心
我正在使用 scikit-learn 的 LinearSVC SVM 实现,并且正在尝试理解多类预测。查看 coef_ 和 intercept_ 我可以得到超平面权重。例如,在我的两个特征和四个标签的学习问题上,我得到
当我使用 decision_function 方法时,我得到与上述函数相对应的值。但文件说
样本的置信度分数是该样本到超平面的有符号距离。
但是decision_function 不返回有符号距离,它只返回f()。
更具体地说,我假设 LinearSVC 使用具有常数 1 特征的标准技巧来表示阈值。(这可能是错误的。)对于我的示例问题,这给出了一个三维特征空间,其中实例始终采用 (1,x1,x2) 形式。假设没有其他阈值项,该算法将学习一个超平面 w=(w0, w1, w2),该超平面通过该三维空间中的原点。现在我得到一个预测点,称之为 z=(1,a,b)。该点到超平面的有符号距离(边距)是多少。它只是点(w,z)/2norm(w)。LinearSVC 代码返回 dot(w,z)
谢谢,克里斯