写这篇的原因是辅修论文,写的大数据相关的金融论文,写到最后除了论文题目里有个保险,其他就再也没跟金融有关了。由于有点偏医学,所以最后用的方法是逻辑回归,朴素贝叶斯和TextCNN,主要是做了医疗大数据分类的处理,像电子病历的处理,运动app数据整合等等。在最后发现毕竟不是真的做大数据这一块的,很多细节,像二分类变量的向量处理考虑的都不细致,应该是说根本没考虑。最后写了1w9,我真是个天才。
下面这些基本都是参考别人的机器学习概论写的与我论文题材相关的的内容,也就是主要是文本分类。还有TF-IDF已经是传统的算法了,现在基本都用word2vec。
梯度消失问题:随着隐藏层数目的增加,分类准确率反而下降。
预训练+微调:在各层预训练完成后,再对利用BP算法对整个网络进行微调。相当于是先寻找局部最优,然后整合起来寻找全局最优。
梯度剪切、正则
LSTM:长短期记忆网络,通过复杂的门在接下来更新的时候记住前几次训练的残留记忆。经常用于生成文本中。
relu、leakrelu、elu等激活函数:就是激活函数的导数为1,那么就不存在梯度消失问题。
CNN:卷积神经网络,作用于图像、音频、文本等。
特征提取+分类思想,现在讲究将特征提取过程和分类过程整合。
1.输入层(预处理):去均值、归一化、PCA/SVD降维等
2.卷积层:感受野(几个小朋友分别以不同特征去观察图)、特征图、权值共享。卷积的作用在于增强原始信号特征,并且降低噪音。
3.激活的作用在于将线性函数转化为非线性函数,常见的有sigmoid、tanh、relu、leakrelu、maxout
4.池化的作用在于减少图像的空间,有最大池化和平均池化,最大池化就是选当前邻域范围内最大的值代替当前整个邻域。
5.全连接层用于分类,也就是对feature map进行投票,如这个特征是猫,那个特征是狗。
然而现在由于全连接层数量太大,对于200、300M的模型束手无策,因此常用平均池化或1*1卷积。
向前传播阶段:输入到输出.
向后传播阶段:算实际输出Op与相应的理想输出Yp的差,再按极小化误差的方法反向传播调整权值矩阵。
1.过拟合指在训练集上表现得过于优异,而在测试集中表现的不好。如果训练集中数据有偏差,则训练出来的权重数据就有不对的地方。也就是协方差过大,在测试集上的损失函数会表现的很大。
2.欠拟合也就是提取的特征比较少,无法识别到具体图片。训练集数据多一些就可以了。
造成过拟合的原因是参数过多,模型的复杂度和分类的不对的问题。
参数越大模型越复杂,越复杂的模型越容易过拟合。
解决办法:正则化、dropout部分神经元、增大训练样本。
1.正则化通过修改代价函数,由于过拟合会出现某一小区间梯度变化巨大的情况(因为他要联系到每一个点),因此加入一个L1正则或者L2正则函数,用于约束参数使其不要太大,可在一定程度上减少过拟合的情况。
2.Dropout是通过修改神经网络本身实现,每次迭代都随机删除一部分隐层单元,相当于训练了很多个半数网络,随着训练的进行结果越来越正确。
梯度下降算法用于求最小值,这个最小值是局部最小值而不是全局最小值。梯度下降法是用于解决最优化问题,最优化也就是求解函数极值的问题。
损失函数是用来估量模型的预测值f(x)与真实值y的不一致程度,损失函数越小,模型的鲁棒性就越好。损失函数是经验风险函数的核心部分。模型的结构风险函数包含了经验风险项和正则项。
https://blog.youkuaiyun.com/zhulf0804/article/details/52250220
常用的损失函数:0-1损失函数、平方损失函数、绝对损失函数、对数损失函数、
常用分类函数:KNN算法、SVM分类方法、决策树算法、ID3算法
组合分类算法:随机森林、Boosting、GBDT
KNN算法(特征空间最邻近的样本属于哪个类则该样本也属于这个类,适合大样本)
回归分析是一种预测性的建模技术,通常用于预测分析,时间序列模型及发现变量之间的因果关系。
极大似然估计:指一个样本中数据越大越倾向于正态分布。对
logistic回归是研究因变量为二分类或多分类观察结果与影响因素(自变量)之间关系的一种多变量分析方法。
用于分析定性分类数据。
NLP分词,语料库。Trie树适合用来做分词和模糊匹配,
朴素贝叶斯分类器
ID3
jieba分词工具涉及到的算法:(重点:基于统计)
1.基于前缀词典实现高效的词图扫描,生成句子中汉字所有可能成词情况所构成的有向无环图(DAG)
//Trie树的典型应用是统计、排序和保存大量的字符串,经常被搜索引擎系统用于文本词频统计。
//http://www.cnblogs.com/huangxincheng/archive/2012/11/25/2788268.html
2.采用了动态规划查找最大概率路径,找出基于词频的最大切分组合
//语言模型N-GRAM、NPLM、Word2vec。
3.对于未登录词,采用了基于汉字成词能力的HMM模型,采用Viterbi算法进行计算
4.基于Viterbi算法做词性标注
//Viterbi原理是当事物之间具有关联性时,可以通过统计两个以上相关事件同时出现的概率,来确定事件的可能状态。
HMM隐马尔科夫模型中文分词+Viterbi算法:
HMM五元组:ObservedSet、InitStatus(BEMS)、TransProbMatrix、EmitProbMatrix、StatusSet
观测序列、状态初始概率、状态转移概率、状态发射概率、隐藏状态序列
5.基于tf-idf和textrank模型抽取关键词
//TextRank:基于文本的推荐或者基于文本的搜索,需要了解文本关键词,关键词提取的准确程度关系到推荐系统或搜索系统的最终效果。分词、添加词性标注、过滤停用词(以上三步获得候选关键词)、构建候选关键词图G=(V,E)、采用共现关系、确定共现窗口大小、迭代传播各节点的权重直至收敛、节点权重进行倒序排序、以此获得关键词。
大概意思就是说根据语料库去掉停用词,然后用前缀树进行分割找到所有的,在语料库中存在的候选词,然后将候选词以DAG的形式表现出来,再使用如N-GRAM等模型和动规从末尾开始计算出每种切分结果的概率,最大的那个概率就是需要的切分结果。
对于1-gram,其假设是P(wn|w1w2…wn-1)≈P(wn|wn-1)
对于2-gram,其假设是P(wn|w1w2…wn-1)≈P(wn|wn-1,wn-2)
对于3-gram,其假设是P(wn|w1w2…wn-1)≈P(wn|wn-1,wn-2,wn-3)