机器学习
mstar1992
研究僧
展开
-
用神经网络实现命名实体识别
基于普通NN的模型 基本的模型如图所示,主要采用基于窗口的方法。embedding layer: 如图,对于中心词“on”来说,根据窗口大小5分别截取前两个词与后两个词。每一个词都有K个特征,Feature 1是词向量特征,Feature 2-K是自定义特征,比如是否都是小写,首字母是否大写等。通过Lookup Table 查找词特征的向量表示,然后将向量连接起来作为神经网络的输入。NN :原创 2017-02-16 16:20:00 · 3287 阅读 · 0 评论 -
机器学习算法中的假设函数与损失函数以及梯度
线性回归:假设函数 hθ(x)=θTxh_\theta(x)=\theta^Tx损失函数 J(θ)=12∑mi=0(hθ(xi)−yi)2+\lamda∑J(\theta)=\frac{1}{2}\sum_{i=0}^m(h_\theta(x^i)-y^i)^2+\lamda \sum梯度 θj:=\lamda\theta_j:=\lamda原创 2017-01-01 15:48:05 · 6475 阅读 · 0 评论 -
样本不均衡的常见处理方法
假定样本A类比B类多,且严重不平衡:A类降采样 随机降采样A类分成若干子类,分别与B类进入ML模型基于聚类的A类分割B类过采样 避免降采样造成的信息损失B类数据合成 随机插值得到新样本降低A类权值,提高B类权值原创 2017-02-14 11:20:55 · 3266 阅读 · 0 评论 -
熵、联合熵、条件熵、交叉熵与相对熵意义
熵:H(X)=−∑xp(x)lnp(x)H(X)=-\sum_x p(x)lnp(x) 衡量不确定性的度量联合熵: H(X,Y)=−∑x,yp(x,y)lnp(x,y)H(X,Y)=-\sum_{x,y} p(x,y)lnp(x,y) (X,Y)在一起时的不确定性度量 条件熵: H(X,Y)−H(X)=−∑x,yp(x,y)lnp(y|x)H(X,Y)-H(X)=-\sum_{x,y} p(原创 2017-02-14 14:46:11 · 12405 阅读 · 3 评论 -
svm损失和交叉熵损失
多分类svm损失损失函数: Li=∑j≠yimax(0,sj−syi+Δ)L_i=∑_{j≠y_i}max(0,s_j−s_{y_i}+Δ) 解释: SVM想要正确分类的分数syis_{y_i}比不正确分类的分数sjs_j至少要高ΔΔ。 举例来说:假设通过分类我们得到一个分数向量,s=[13,−7,11],正确的分类是第一个, Δ Δ 是10,那么损失等于: Li=max(0,−7−13+翻译 2017-02-27 10:55:59 · 2458 阅读 · 0 评论 -
文本中的特征提取与特征选择
特征提取Bag of Words分词计算每个词出现的次数from sklearn.feature_extraction.text import CountVectorizervectorizer = CountVectorizer(min_df=1)corpus = [ 'This is the first document.', 'This is the second原创 2017-03-27 17:09:44 · 12508 阅读 · 0 评论 -
交叉验证
交叉验证的形式K折交叉验证,初始采样分割成K个子样本,一个单独的子样本被保留作为验证模型的数据,其他K-1个样本用来训练。交叉验证重复K次,每个子样本验证一次,平均K次的结果或者使用其它结合方式,最终得到一个单一估测。这个方法的优势在于,同时重复运用随机产生的子样本进行训练和验证,每次的结果验证一次,10折交叉验证是最常用的。Holdout 验证:将原始数据随机分为两组,一组做为训练集,一组做为原创 2017-03-27 14:53:54 · 10757 阅读 · 1 评论