我想用logistic回归建立一个简单的情感分析分类器。我从cs.uic.edu下载了一个积极和消极的单词列表。有6000多个单词,既有正面的也有负面的。线性分类器的形式为:(维基百科参考)
\sum_{1}^{N} w_j*x_j
其中w是向量x的权重,N是单词的个数。例如,如果向量awesome的权重为3,那么在下面的句子中:
Food is awesome and music is awesome.
根据这一公式,它将成为:
3 * 2
其中3是向量awesome的权重,2是向量本身(表示在句子中发生的次数)
我的问题是如何决定系数的开始?这会是一个人工过程吗?有6000多个字。
我在python中实现了梯度下降的线性回归。为了了解它做得有多好,我将它与scikit-learn的LinearRegression()类进行了比较。由于某些原因,sklearn的平均性能总是超过我的程序MSE 3(我正在使用波士顿房屋数据集进行测试)。据我所知,我目前没有做梯度检查来检查收敛性,但我允许多次迭代,并且将学习速率设置得足够低,使它能够收敛。我的学习算法实现中有什么明显的缺陷吗?这是我的代码:
import numpy as np
from sklearn.linear_model import LinearRegression
def getWeights(x):
l
我试图从简单的线性单变量梯度下降到更高级的东西:一组点的最佳多项式拟合。我创建了一个简单的八度测试脚本,它允许我在二维空间中可视化地设置点,然后启动梯度dsecent算法,看看它是如何逐渐接近最佳匹配的。
不幸的是,它并不像简单的单变量线性回归那样有效:我得到的结果(当我得到它们时)与我所期望的多边形不一致!
以下是代码:
dim=5;
h = figure();
axis([-dim dim -dim dim]);
hold on
index = 1;
data = zeros(1,2);
while(1)
[x,y,b] = ginput(1);
if( length(b