机器学习
文章平均质量分 66
日出2133
代码是写给人看的,而不是写给机器运行的。
展开
-
标签平滑(label smoothing) torch和tensorflow的实现
在常见的多分类问题中,先经过softmax处理后进行交叉熵计算,原理很简单可以将计算loss理解为,为了使得网络对测试集预测的概率分布和其真实分布接近,常用的做法是使用one-hot对真实标签进行编码,然后用预测概率去拟合one-hot的真实概率。但是这样会带来两个问题:无法保证模型的泛化能力,使网络过于自信会导致过拟合;全概率和0概率鼓励所属类别和其他类别之间的差距尽可能加大,而由梯度有界可知,这种情况很难adapt。会造成模型过于相信预测的类别。标签平滑可以缓解这个问题,可以有两个角度理解这件事原创 2022-05-17 16:14:27 · 1520 阅读 · 0 评论 -
torch系列之手写数字识别(实战)
识别准确率99%有问题留言。直接上代码:文件夹名称:MNIST_CNN_train文件:model_CNN.py文件:train.py文件:test.py原创 2021-12-02 18:38:56 · 1646 阅读 · 0 评论 -
倒排表的应用--搜索引擎
来源于搜索引擎,海量爬取数据之后,用的是倒排表海量数据的遍历时间复杂度是O(n)如何解决:解决思想:层次过滤, 过滤条件从简单到复杂, 层次间的时间复杂度为递增先过滤部分,再过滤部分,遍历剩余部分要知道某个单词存在在哪些文档里面;具体实施:建立一张表格,记录所有单词被包含在哪些文档之中;应用于问答系统:1、遍历输入的问题,查找每个单词在所有问题中出现的次数;2、若剩余数量多,可统计两个或者多个单词,在同一个问题中出现的次数;3、然后进行语句相似度的计算..原创 2020-06-09 09:08:50 · 174 阅读 · 0 评论 -
2020-06-06 nlp03之词向量简述
接上篇one-hotone-hot与词向量的分布式表示的不同 举个例子:我们每天都在进步的one-hot表示:我们(1,0, 0, 0, 0) 每天( 0, 1, 0, 0, 0) 都(0, 0, 1, 0, 0) 在( 0, 0, 0, 1,0) 进步( 0, 0, 0, 0, 1)词向量的表示:我们(0.2,0.1, 0.3, 0.5, 0.8) 每天( 0.5, 1.6, 0.4, 0.8, 0.1) 都(...原创 2020-06-08 10:12:01 · 445 阅读 · 0 评论 -
2020-06-03 nlp_02之文本向量化的几种方式:one-hot, 文本相似度(欧氏距离、余弦相似度), tf-idf
one-hot P30通过构建词典的顺序,找出对应单词的位置,词典:中文有20万-30万个常用词, rnn和lstm中,也有使用字符集的,常用字符大概5000个例子:词典(只有7个单词,即7个维度):[今天, 天气, 不错, 挺,风和日丽,的, 明天]每个单词的表示:今天:[1, 0, 0, 0, 0, 0, 0]不错:[0, 0, 1, 0, 0, 0, 0]的: [0, 0, 0, 0, 0, 1, 0]句子的表示:两种方式:1、boolean, 不...原创 2020-06-03 15:23:38 · 1696 阅读 · 0 评论 -
python深度学习---人工智能杂记
人工智能的简洁定义如下:努力将通常由人类完成的智力任务自动化。早期的国际象棋程序仅包含程序员精心编写的硬编码规则,并不属于机器学习。在相当长的时间内,许多专家相信,只要程序员精 心编写足够多的明确规则来处理知识,就可以实现与人类水平相当的人工智能。这一方法被称为符号主义人工智能(symbolic AI),从 20 世纪 50 年代到 80 年代末是人工智能的主流范式。 在 20 世纪 80 年代的专家系统(expert system)热潮中,这一方法的热度达到了顶峰;...原创 2020-06-02 16:44:49 · 175 阅读 · 0 评论 -
2020-05-29 nlp_01之停用词过滤、stemming
停用词把停用词、出现频率很低的词汇过滤掉。原因:经常出现的或者频率很低的词,并没有实际意义的词,可以认为是噪声,会影响模型的判断,给模型带来一定的影响目的:筛选出价值比较高的特征,可以把停用词理解成价值比较小的特征,可以忽略不计例子:英文: the an their中文:的 啊 好 很好 等同样也得根据具体的场景进行判断对于情感分析的词:好,很好 是需要保留的建议使用:已有的停用词库(如:NLTK),然后删除自己认为有用的词语筛选规则: 将文本汇总分词之后, 筛选..原创 2020-05-29 10:55:49 · 729 阅读 · 0 评论 -
非语言模型之SkipGram与CBOW
1、条件概率:P(A|B) = P(AB)/P(B);P(A|B)——在 B 条件下 A 的概率。即事件A 在另外一个事件 B 已经发生条件下的发生概率;P(AB)——事件A、 B同时发生的概率,即联合概率.联合概率表示两个事件共同发生的概率.A 与 B 的联合概率表示为 P(AB) 或者 P(A,B);P(B)——事件B发生的概率;2、用一张图开说明两者之间的区别:3、sk...转载 2020-02-24 09:09:53 · 5340 阅读 · 0 评论 -
机器学习之模型融合
模型融合简单来说就是通过对一组的基分类器以某种方式进行组合,以提升模型整体性能的方法。当然,模型融合不能起到决定性作用,在影响模型结果的因素中,一般来说是数据>特征>模型>模型融合。在业界流传着这么一句话,数据和特征决定了机器学习的上限,而模型和算法只是在逼近这个上限而已。所以,无论是在比赛中还是在处理实际问题的时候特征工程无疑是非常重要的,在数据和特征都无法提升比赛成绩的时候,...转载 2019-12-09 11:26:14 · 544 阅读 · 0 评论 -
多分类机器学习评价指标之准确率、精确率、召回率、F1值、ROC、AUC
准确率、精确率、召回率、F1值定义:准确率(Accuracy):正确分类的样本个数占总样本个数, A = (TP + TN) / N精确率(Precision):预测正确的正例数据占预测为正例数据的比例, P = TP / (TP + FP)召回率(Recall):预测为正确的正例数据占实际为正例数据的比例, R = TP / (TP + FN)F1 值(F1 score...原创 2019-12-04 19:00:17 · 18698 阅读 · 2 评论 -
机器学习之混淆矩阵的两种画法(实战)
混淆矩阵主要用于表示分类精度,利用横轴为预测结果,纵轴为标准结果的表格图,可视化地展示算法的分类性能。import seaborn as snssns.set()C2 = confusion_matrix(y_test, y_predict, labels=[0,1,2])# # 方法一# f, ax = plt.subplots()# print(C2) # 打印出来看看...原创 2019-11-01 09:51:58 · 5697 阅读 · 2 评论 -
机器学习 + flask 简单的模型上线
from sklearn.externals import joblibfrom flask import Flask,requestapp = Flask(__name__)@app.route('/')def hello_world(): return 'Hello World!'@app.route('/predict/<sen>')def predic...原创 2019-11-01 11:24:30 · 327 阅读 · 0 评论