机器学习
东哥爱编程
人工智能算法,Ai图像算法。
欢迎合作,私信。
展开
-
损失函数的盘点与总结
是l2 和l1 的结合体, 在梯度较小时,采用l2 较为平滑的方式, 较大时采用稳定的梯度下降。容易受到离群点,脏数据的影响,一开始梯度太大,容易出现训练不稳定, 梯度爆炸。这样会有一个问题就是 为0 的时候不可导,另外当梯度很小时,很难收敛到极小值。所以, l2 中, 预测和真实值的差值越大, 损失越大。,忽略求和及系数,则有L1(x)=x^2,其导数为。差值越大, 导数越大,反之, 容易收敛到极小值。前期收敛快,梯度不变,不容易收脏数据的影响,令 x = fx - y。原创 2023-04-18 09:09:55 · 103 阅读 · 0 评论 -
决策树的损失函数(四)
Tleaf 是叶子节点的个数,叶子节点越多, 越差,容易过拟合。C(T) 是 叶子节点的个数 * 叶子节点的熵值。Nt 当前叶子节点有几个样本。Ht 当前叶子节点的熵值。Ct越小,代表效果越好。原创 2022-11-03 13:46:23 · 142 阅读 · 0 评论 -
决策树的生成(三)
【代码】决策树的生成(三)原创 2022-11-03 09:37:37 · 174 阅读 · 0 评论 -
vs studio 安装opencv 环境
附加库目录:C:\Program Files\opencv\opencv\build\x64\vc15\lib。将D:\soft\opencv\build\x64\vc15\bin 放入即可,根据个人情况调整。-需要设置链接器中的常规中的附加库目录以及输入中的附加依赖项。直接官网下载,选择桌面c++...原创 2022-08-02 17:50:08 · 735 阅读 · 0 评论 -
图像特征提取算法之LBP算法(2)
为了适应位置不确定性,分成了多个cell进行采集特征,即每个cell分别进行计算,得到的直方图进行汇总,最后用分类算法进行分类。取附近的八个点与自身的灰度值进行比较,大于自身的点取1,小于的取0;灰度图的取值在0~255,所以,频度直方图的十进制取值为256维。对于光照不敏感,因为同一个区域会受到一样的光照,大小关系不变。根据顺时针方向以二进制的形式进行排列,计算所得的值。关于Haar算法和积分图可以参考上一篇文章。接下来聊聊关于LBP算法。...原创 2022-07-28 16:23:03 · 414 阅读 · 0 评论 -
图像特征提取算法之Haar特征原理(一)
A=point4+point1-point2-point3理解下减去了两次point1所以加上一个。所以计算特征的时候,只需要把所有的点的区域存起来,再根据需要存取就可以了。特征值=白色-黑色=A-B。这里有一张128*128的图。我们运用积分图进行计算。这里是图片的像素表示,......原创 2022-07-28 14:11:29 · 893 阅读 · 0 评论 -
SVM的学习(一)
svm原创 2022-07-15 09:21:09 · 197 阅读 · 0 评论 -
opencv 的应用(1)
规定图片操作的区域, 设定ROIroi 需要操作的区域将logo图片灰度化,制作阈值maskmask 为, 黑色区域为需要提取的部分,白色为过滤的部分logo 的mask 区域logo的图像添加在图片上获取logo 的区域加在一起完成效果......原创 2022-07-04 17:38:11 · 573 阅读 · 0 评论 -
利用朴素贝叶斯公式和词袋模型进行 垃圾邮件的判断实战
垃圾邮件是最基础的机器学习案例,其中涉及到的知识也比较全面。所以作为一个案例来进行学习和总结将垃圾邮件自动识别, 其实是个二分类问题,我们需要将目标进行分解, 降低实现的难度。可以看到准确率和recall还是比较高的,达到了97%数据链接:点击......原创 2022-06-30 17:41:08 · 278 阅读 · 0 评论 -
机器学习中的算法--kMeans and DBSCAN
机器学习中的算法--kMeans and DBSCAN原创 2022-06-30 09:21:20 · 207 阅读 · 0 评论 -
运用mnist实现手写数字的评估模型
查看图片训练模型这里用了k邻算法进行数据分类评估模型混淆矩阵这将会平均每个数字的权重,平时越大的数影响越大,现在大的和小的都被归属到0-1之间或特定数值间。比如:平时10000, 100, 20, 对于10000的影响明显要更大,而现在10000- 8778/10000 范围也在0-1内,降低了大的数值影响的权重,而小数字不变。以上,就是目前学习到的多分类的评估方法。...原创 2022-06-29 16:27:45 · 257 阅读 · 0 评论 -
运用随机梯度下降, 小批量梯度下降,批量梯度下降的不同影响
的原创 2022-06-29 10:30:08 · 120 阅读 · 0 评论 -
讲讲关于Precision 与 Recall 的概念
公式为:p = TP/(TP + FP)解释为: 正确的正例/ 正确的正例 + 错误的正例看如下例子:其中: TP(true positive) = 20FP (False positive)= 30 理解为错误的划分为正确的例子的数量,30个男生所以p = 2/5公式为:p = TP/(TP + FN)FN : false nagitive 即错误判断为负样本了,也就是0 个,没有把女生判断为男生。TN: true nagitive 正确的判断为负样本的, 也就是剩下的50个男生, 也就是原创 2022-06-26 17:38:02 · 592 阅读 · 0 评论 -
利用opencv + moviepy制作批量剪辑脚本
完整代码如下:工程目录如下:原创 2022-06-24 13:48:15 · 888 阅读 · 0 评论 -
谈谈 keras 的损失函数
可以看看书本作者的阐述原文意思为:看你输出的是什么格式的one-hot 的话用categorical_crossentropy数字编码的话用sparse_categorical_cossentropy一个用于多分类,一个用于二分类原创 2022-06-23 10:14:26 · 356 阅读 · 0 评论 -
softmax的理解
#softmax一般用于输出层,其原理和结构可以分成两个, soft max, 如图所示:来看另一个常用的激活函数sigmoid一般: softmax 和 categorical_crossentropysigmoid 和 binary_crossentropy原创 2022-06-23 09:57:00 · 132 阅读 · 0 评论 -
关于决策树的原理和实现 python
香龙在文中指出,它的准确信息量应该是:其中[公式]表示以2为底的对数, p1, p2, p3为每个条件的概率。对于一个随机的变量X, 他的信息熵应该是如我们的二分类问题, p(x) = p1 p(y) = 1-p1 其中, 0......原创 2022-06-21 10:44:53 · 246 阅读 · 0 评论 -
卷积神经网络 卷积后输出的大小
实现 手写字体的分类识别,直接上代码:原创 2022-06-15 10:41:34 · 139 阅读 · 0 评论 -
卷积神经网络 卷积后输出的大小
上公式:对于pdding 公式原创 2022-06-11 14:55:24 · 362 阅读 · 0 评论 -
关于 神经网络 的理解
-学了一个多月的机器学习,对于神经网络才刚刚接触,感知机的实现相对好理解,但神经网络的逻辑较为复杂,在这做一个总结和思考。希望能得到各位大佬的指正。关键的感知机的参数优化方法:wi = w + n(y- y_pre)xibi = b + n(y- y_pre)h = wi xi + bi下面进行正向传播的代码实现而反向传播的实现比较复杂,解释下, 我们要计算出Loss 对于所有参数的导数,即每个参数会影响到Loss 的变化大小, 然后不断调整参数大小,达到降低loss 的效果。我们现在的目的就是原创 2022-06-10 15:19:20 · 332 阅读 · 0 评论 -
手写神经网络及反向传播推导-python 版
手写神经网络及反向传播原创 2022-06-10 14:36:52 · 292 阅读 · 0 评论 -
从零手写感知器 python 篇
从零手写一个感知器项目项目项目项目1项目2项目3 计划任务 完成任务创建一个表格一个简单的表格是这么创建的:使用居中使用居左使用居右SmartyPants将ASCII标点字符转换为“智能”印刷标点HTML实体。例如:一个具有注脚的文本。1Markdown将文本转换为 HTML。您可以使用渲染LaTeX数学表达式 KaTeX:Gamma公式展示 Γ(n)=(n−1)!∀n∈N\Gamma(n) = (n-1)!\quad\foralln\in\mathbb .原创 2022-06-07 16:45:34 · 201 阅读 · 0 评论 -
K邻算法实现手写字体的识别,python
# -*- coding: utf-8 -*-"K邻算法实现"from sklearn.datasets import load_digitsfrom sklearn.neighbors import KNeighborsClassifierfrom sklearn.model_selection import GridSearchCV, train_test_splitimport matplotlib.pyplot as pltfrom tensorflow import kerasfa原创 2022-05-31 13:48:00 · 169 阅读 · 0 评论 -
基于随机森林算法实现泰坦尼克号的生存预测,python
在Kaggle有这样一个经典的题目,根据船上的用户基本信息,判断剩下的人是否能生存下来。话不多说直接进入主题。文章目录下载数据集整理数据数据数字化训练模型,并预测,写入到文件当中下载数据集Kaggle或数据集下载包含了源代码+训练集+ 测试集整理数据这一部主要处理缺失的数据,将年龄等常数用平均值代替将登船口用众数代替def select_data(): selected_features = ['Pclass', 'Sex', 'Age', 'SibSp', 'Parch原创 2022-05-30 16:50:26 · 769 阅读 · 0 评论 -
关于pandas的DataFrame 的使用,loc, iloc的区别
文章目录DataFrame的基础概念创建方法创建代码操作方法 (loc, iloc)总结:DataFrame的基础概念data 有点类似Excel表格的东西, 他的每一行被称为一个Record, 每一列称为Series创建方法data = pd.DataFrame(data, index, columns, dtype, copy)data 为一个二维的数组, 如ndarray, list, dict, map, series)index 为每行的索引名称,与行数一一对应,否则报错col原创 2022-05-30 14:59:29 · 525 阅读 · 0 评论 -
关于链接提取文章关键字的实现- python
今天刷新闻的时候,想到能不能有个软件可以快速帮我总结新闻的要点,我直接通过关键字就能大概浏览文章的内容。说干就干# -*- coding: utf-8 -*-import jiebafrom sklearn.feature_extraction.text import TfidfVectorizerfrom wordcloud import WordCloudimport matplotlib.pyplot as pltimport reimport requestsfrom bs4 imp原创 2022-05-28 15:18:37 · 345 阅读 · 0 评论 -
关于文章关键字词云的生成
本文教程主要用于用python 生成文章关键字词云图如下:运用的是python 的TF-IDF算法TF算法TF --某个词语出现的词频率为了统一数据,进行标准化处理TF = 词语出现的数量/总的词语数 = 词语数/出现最多的词语数IDF = log(总样本数/包含该次的样本数 + 1) +1 是为了不让分母为0 可以发现,如果一个词越常见,那么分母就越大,逆文档频率就越小越接近0。分母之所以要加1,是为了避免分母为0(即所有文档都不包含该词)的平滑处理。log表示对得到的值取对数原创 2022-05-28 14:11:31 · 674 阅读 · 0 评论 -
谈谈关于python 的分词框架jieba(结巴库)的使用
学习到口袋分词的内容,里面关于jieba的内容较为模糊,特此整理下用法。同时也整体的整理下知识文章目录安装使用引入基础方法词性的获取关键字提取关键位置提取安装pip install jieba如需升级,则运行pip install --upgrade pip使用引入import jieba基础方法jieba.cut(str, cut_all = True)解析: cut 返回迭代器 generate, 需要遍历获取jieba.lcut(str, cut_all= True)原创 2022-05-26 17:18:03 · 1109 阅读 · 0 评论 -
用sklearn进行手写数字的识别训练,获取学习率和惩罚系数,机器学习入门推荐案例(1)
理论总是让人感觉乏味和枯燥,对于学习率和惩罚系数是如何确定的呢?我们可以用列举法来评价每个参数的得分,进而获取最优的模型参数。一、 获取手写数据集合from sklearn.datesets import load_digitsfrom sklearn.model_selection import train_test_splitfrom sklearn.preprocessing import StandardScalerimport matplotlib.pyplot as pltdef l原创 2022-05-25 19:23:20 · 748 阅读 · 0 评论 -
对于损失函数MASE的计算公式
首先,定义一个预测回归函数: f(x) = O1 x + O2 (O1,O2是要求的参数)也就是损失函数 = 平方根误差 =原创 2022-05-23 11:26:48 · 1236 阅读 · 0 评论 -
pandas 的cut详解
可以将数据进行分组cut (data, bins, right=False,labels=None,retbins=False,precision=3,include_lowest=False, duplicates=‘raise’)data: 数据bins: 分组的个数right: 是否包含右边,默认包含左边labels: 自定义分组标签retbins: 是否返回分组的列表precision: 精度,保留区间小数点的位数,默认为3.include_lowest: 左区间开或闭,默认闭原创 2022-05-17 14:54:42 · 605 阅读 · 0 评论 -
机器学习(三)--关于分层采样的理解
最近学到关于数据分层采样的内容,总结一下分层采样的定义: 根据不同群体的比例在数据里通过比例进行采样,减少采样的误差,针对数据量过大时会显得没那么有意义,ps: 小数据量有必要,大数据没必要举例:比如取100个学生里,70%个男生,30%个女生,取有没有收藏笔记本的爱好,如果随机采样,会有偏差,但如果按比例来调查,70%的男生,30%的女生,会符合学校的学生特征。python 的分层采样data = np.array(range(10))traget = array([0, 0, 0,0原创 2022-05-17 11:38:14 · 2468 阅读 · 0 评论 -
分享几个数据网站 机器学习(二)
流行的开源数据仓库:UC Irvine Machine Learning RepositoryAmazon’s AWS datasetsKaggle datasets准入口(提供开源数据列表)http://dataportals.org/http://opendatamonitor.eu/http://quandl.com/其它列出流行开源数据仓库的网页:Wikipedia’s list of Machine Learning datasetsQuora.com questionDa.原创 2022-05-12 15:54:49 · 187 阅读 · 0 评论 -
机器学习-入门(1)
机器学习是让机器通过学习数据对某些任务做得更好,而不使用确定的代码规则。有许多不同类型的机器学习系统:监督或非监督,批量或在线,基于实例或基于模型, 等等。在机器学习项目中,我们从训练集中收集数据,然后对学习算法进行训练。如果算法是 基于模型的,就调节一些参数,让模型拟合到训练集(即,对训练集本身作出好的预 测),然后希望它对新样本也能有好预测。如果算法是基于实例的,就是用记忆学习样 本,然后用相似度推广到新实例。 如果训练集太小、数据没有代表性、含有噪声、或掺有不相关的特征(垃圾进,垃圾 出),系.原创 2022-05-12 13:41:25 · 384 阅读 · 0 评论