- 博客(29)
- 收藏
- 关注
原创 机器学习-推荐系统(下)
在之前分析的协同过滤算法中,讨论到如何进行推荐时,分为了两种推荐模式:用户协同与项目协同。在这两种模式中,它们的共同点是都。这样带来的弊端有:对于没有评分或其他信息的项目,我们无法获得相关的用户行为数据,也就无法进行推荐,即冷启动问题;同时,为了保证推荐的可行性,我们需要拥有大量的用户行为数据,即需要拥有足够多的用户行为才能够生成可靠的模式。因此引入了基于内容的过滤算法,在此算法中,我们会更加关注项目的固有特性,即进行推荐。
2025-10-13 20:35:52
899
原创 机器学习-推荐系统(上)
推荐系统是日常生活中很常见的一种算法,比如购物软件中主界面上展示的商品、影视软件中首页展示的视频等,下面以电影评分为例,介绍推荐系统的建模过程。首先,设用户数为,电影数为。显然,在收集的数据中有一些电影可能并没有被所有用户观看过,因此以二元变量来表示:用户j是否有对电影i进行评分,有则为1,反之为0。而对于已经被评分的电影,表示评分分数。
2025-10-12 22:40:14
593
1
原创 机器学习-异常检测
异常检测也是无监督学习的一种,通过查看正常事件的无标签数据集,从而学习来检测/发出异常警报。如上图所示,红色部分表示训练集样本,而绿色部分表示新样本。如果新样本的位置与训练集样本接近,我们倾向于认为新样本正常;而如果与训练集样本有较大差异,则认为存在异常情况。
2025-09-08 16:15:39
1183
原创 机器学习-K-means聚类
机器学习可以分为无监督学习与有监督学习两类,之前所了解的线性回归、逻辑回归与决策树等等,都是有监督学习,根据学习输入样本特征与标签之间来进行回归、分类等。而无监督学习则没有标签,需要自动的来寻找挖掘来一些可用的信息,对于聚类而言,则是。
2025-09-07 17:54:05
1034
原创 机器学习-决策树(下)
前面讨论提到的所有决策树都是只有单个决策树,而实际上如果样本数据存在一些微小的变化,决策树却有可能发生很大的变动,因为每一个节点的选择都与样本息息相关。因此这样的决策树对数据变动非常敏感,为了增强稳健性我们可以一次构造多个决策树。为了构造多个决策树,我们需要对原始的样本进行处理,已得到多批训练样本,因此引入的概念,即在每一次随机抽取后,将抽取到的样本重新放回,再进行下一次抽样。有放回抽样可以创建与原训练集的新训练集。
2025-09-05 16:15:01
478
原创 机器学习-决策树(上)
决策树的结构与python中的二叉树结构()相似,不过决策树中除了叶节点之外的其他节点,都被称之为,构建决策树的过程,也就是选取每一个节点采用哪一个特征作为划分依据的过程。以解决二元分类问题为例,最终的叶节点输出只有两种情况:0或1,那么在前面的每一个决策节点时我们自然希望每一个节点分支得到的样本尽可能属于,也就是说得到的示例样本纯度最高。因此,我们引入“熵”的概念,熵用于衡量,其表达式如下:其中:——所有样本中正例的占比;——所有样本中负例的占比。
2025-08-12 22:32:07
1162
原创 机器学习-增加样本、精确率与召回率
当模型出现较大误差时,有一种改进方法就是增加样本数据,我们可以通过对模型的高偏差与高方差分析来确定增加样本是否有效,而如何增加样本,则可以通过模型的来考虑。误差分析是对模型判断的进行分析,找出这些错误之间的等,从而地增加样本。例如:在垃圾邮件的分类中,如果绝大多数划分错误的样本是某一特定类型的邮件,那么针对性的增加这一类型的样本则很大程度上可以帮助我们的模型降低误差,而如果我们只是一味的增加所有类型的样本,同样的新增样本数量实际上得到的效果远不如前者。除了这种方法之外,还有两种增加样本的方法,分别是。
2025-08-10 21:47:05
1132
1
原创 机器学习-模型评估、选择与优化
之前已经了解过了简单的线性回归、逻辑回归以及SoftMax回归的模型建立过程,我们可以把损失函数总结为下式:这6个方法对于某些特定的问题有较好的效果,而我们需要做的就是:通过测试与分析找出究竟是什么原因导致了模型出现的较大误差,从而对症下药,选择不同的方案来优化。对于特征量(1-2个)较少的问题,我们可以根据样本以及模型来做出具体图像,从而很容易的找出问题所在,而对于特征量很多的问题,我们无法直接作图,因此考虑将样本进行划分。
2025-08-08 22:33:49
833
原创 机器学习-SoftMax回归
根据之前对于逻辑回归的了解可知,分类模型的输出是该样本为某个类别的。对于更一般的分类问题,比如进行缺陷的分类时,可能的缺陷会有划痕、变色、缺角等。假设共有N个类别,那么可以将输出o定义为长为N的向量,向量中的每一个元素都代表了该样本为某一个类的置信度。对于真实的样本,其对应标签就是一个只有一个元素为1,其他元素全部为0的向量。
2025-07-22 21:32:24
641
原创 深度学习-神经网络推理与训练(向前/反向传播)
神经网络算法是为了模拟人脑的工作过程,人脑中的神经元可以接受以及发出信号,根据这些收发信号的传递过程,最终解决问题。而将这个过程应用于实际问题中,它的流程可以表示为下图,其中文字部分代表信号,也可以理解为模型的输入输出,⚪代表神经元,根据输入信号进行处理得到输出。我们可以将蓝色的三个⚪组合为层,每一层的神经元具有, 并输出一些数据;同样的,右侧这个单独的神经元也形成了一个层。如果某一层的输出就是模型的最终输出,那么这一层就被称为。而在本图中,初始的四个数据就是,而中间的部分则被称为。
2025-07-20 21:52:33
675
1
原创 机器学习-逻辑回归
前面我们提到过,分类与回归不同的地方在于,分类的输出往往是范围更小的某几类,而不是大范围甚至无限范围的任意数值,由此我们引入逻辑回归。
2025-07-04 21:06:44
1122
原创 机器学习-线性回归
机器学习可以分类监督学习与无监督学习。对于监督学习而言,我们会提供,以及包括正确答案的,这个输出被称为,而通过学习所提供的这些输入输出,我们可以习得这之中的,从而在提供其他没有见过的输入时,更大可能的准确的给出它对应的输出标签。常见的监督学习有:回归、分类。同样都是在寻找映射关系,这两者的区别在于,分类中我们得到的预测类型更小部分,如种类的判别、0-1分类等,而对于回归,可能得到的输出范围十分广泛。对于无监督学习而言,我们通过对于对于给定。
2025-07-02 15:42:21
760
原创 PY数据结构-图
图是比树更为一般的结构,同样由节点和边构成。图中的基本组成部分为顶点Vertex,其具有名称标识key与数据项payload;两个顶点之间则通过边Edge来进行链接,便可以是有向/无向的,相应的图称之为有向图/无向图;为了表达从顶点到另一顶点的“代价”,则给边赋予了权重。图G可以定义为顶点与边的集合,即G=(V,E),而E中的每条边e=(v,w),v、w均为V中的顶点。若图G是赋权图,则边e中可以添加权重分量;图中的路径,则是由边连接起来的顶点序列。
2025-06-29 16:22:31
805
原创 PY数据结构-树
不同节点之间的子节点间是隔离的、相互独立的;没有子节点的节点称为叶节点,每一个叶节点都具有唯一性;除根节点外,每一个节点都具有来自于另一个节点的入边,除叶节点外,每一个节点都可以有多条连接到其他节点的出边,边具有出入方向;由边依次连接在一起的节点的有序列表称为路径;根节点的层级为0,从根节点至某一结点的路径中,所包含的变得数量,就是该节点的层次,而树中,所有节点的最大层级,就称为树的高度。
2025-06-25 22:15:42
714
原创 PY数据结构-数据查找与排序
对于之前提到过的有序表与无序表,在进行数据查找时,可以分为数据存在和不存在两种情况,对应的复杂度分别为1~n,n;1~n,1~n,因此对于这两种数据类型,查找的复杂度实际上差异不大。不过,考虑到有序表的特性,我们可以通过其他的查找方法来缩小所需比对数据的范围,从而实现更快速的查找。
2025-06-22 18:59:41
415
原创 Pandas数据合并
调用的数组与被合并的数组中,在on指定列处,有几次相同,就将合并几次,最终得到的合并结果就有几行。how可以指定连接方式,指定为outer时,取并集,此时存在相同时与默认交集一致,而对于指定列处不相同的元素所在的行,也将直接合并,缺失值以NaN补齐。指定为left/right时,则表示以左/右边的数组为准,此时基准数组的内容会全部显示,另一个数组在对应的行列元素不相同时,将以NaN补全。按行索引进行合并:join(),合并时以调用数组的行为准,当被合并的数组缺少对应行时,会以NaN补齐。
2025-05-25 16:46:49
260
原创 字符串离散化思路
对于原始数据中包含字符串需要进行离散化统计时,如对于电影的统计数据,一部电影往往有多个类型属性,而希望对于所有的电影类型出现次数进行统计时,就需要进行字符串的离散化。
2025-05-25 14:58:58
147
原创 Pandas D-02
判断是否为NaN:pd.isnull()、pd.notnull()方法,返回布尔值。存在多个筛选条件时,需要通过&/|连接每个条件,且每个条件需要被括号括起。通过by指定排序依据,通过ascending指定升序/降序(默认升序)。read_csv读取数据,并通过sort_values方法进行排序。切片与索引:[ ]方括号内。iloc:根据位置索引数据。loc:根据标签索引数据。
2025-05-23 17:03:45
254
原创 Pandas D-01
Pandas:处理除了数值(基于Numpy)之外,字符串、时间序列等信息常用数据类型:Series:一维数据,带标签数组;DataFrame:二维数据,Series容器。
2025-05-09 21:26:02
311
原创 Numpy D-02
一维数组:0轴;二维数组:0,1轴;三维数组:0,1,2轴例:对于shape为(2,4)来说,0轴长度为2,表示有两行,1轴长度为4,表示有四列对于shape为(2,2,3)来说,0轴长度为2,表示有两块,1轴长度为2,表示有两行,2轴长度为3,表示有三列。
2025-03-30 16:32:43
332
原创 matplotlib D-02
plt.hist(y,num_bins):y是包含所有数据的列表,num_bins是希望分出的组别数量。plt.scatter(x,y)绘制散点图。分析分布状态、频率等。
2025-03-25 20:48:36
291
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅