- 博客(83)
- 收藏
- 关注
原创 从0开始学习R语言--Day31--概率图模型
例如医生在给患者做诊断时,有些检查需要耗费的时间很久,但仅仅凭借一些其他的症状,他就可以对病人患某种病有个大概的猜想,从而先做出一些措施来降低风险,毕竟等到疾病真正发生时可能会来不及。从结果可以看到,患者中有无肺癌,咳嗽的概率有明显的不同,这说明咳嗽确实是肺癌的一个重要表现,但反过来,咳嗽的也有可能是其他原因导致的。如果反过来去看因果发生的概率,即咳嗽的人群中患有肺癌的概率,便会发现概率没有想象中那么大,这能辅助我们考虑多种情况。同样的,我们有时候也想要在数据样本不够全面时就能对结果有个大概的了解。
2025-06-25 00:13:52
75
原创 从0开始学习R语言--Day30--函数型分析
但如果数据本身具有时间特性的话,我们可以尝试运用函数型分析,将静态的离散点转为动态过程来分析,即若本来是分析离散点对另一个变量的影响,那么转换后就变为研究一条曲线的变化趋势是否对应了另一个变量的变化特点。比如气温数据分析冰淇淋销量时,只看离散点只能知道气温越高,销量越好,但若看趋势,很可能捕捉到在下午气温会比其他时候更高,卖出更多冰淇淋的特点。图像显示温度按照正弦曲线的趋势波动,但在实际应用中,在画图时一般不推荐用标准化的时间轴,会忽略真实的现实信息,像这里便无法判断时间段指的是一个小时还是12个小时。
2025-06-24 00:04:46
160
原创 从0开始学习R语言--Day29--社交网络分析
在探寻数据之间的关系时,由于数据类型的限制,很多时候我们可以从数据的现实角度出发去选择方法,而不是一昧地从头尝试不同方法去分类。假如我们用的是传染病在市面上的传播路径数据,亦或是病毒对于基因的感染模块,就可以采用社交网络分析的方法,它的原理是类似于我们平时使用软件时会弹出“你可能认识的人”,通过比对非共同好友的共同好友数来判断两人是否认识。而用户5和49拥有一样的共友数量,则说明他们的社交重叠度更高,更有可能是认识的,从图中也能看到靠的更近。
2025-06-23 00:26:26
102
原创 从0开始学习计算机视觉--Day03--K近邻算法
如果我们碰到数据量较小的数据集时,由于要分配数据,所用的验证集的数据量会很小,结果不一定对超参数的选择有意义,此时我们可以选择用交叉验证的方式来对超参数进行择优,即还是将一部分数据作为测试集,但剩下的不再分为训练集和验证集,而是将数据分为几份,分别取其中一份作为验证集,对算法进行反复验证,取超参数表现比较稳定的那一组作为结果,若数据量较大则不建议这么做,因为数据量较大就不需要额外处理验证集,且这样的多次训练会消耗大量时间和算力,得不偿失。
2025-06-23 00:25:35
582
原创 从0开始学习R语言--Day28--高维回归
但当特征数量远大于样本量时,可能会因为出现无数多个完美解导致过拟合现象,也使得在计算时搜索最有特征子集的方法不再可行(因为计算量过大)。鉴于此,我们可以使用高维回归,该方法会对很多特征的系数做出限制,一是增加惩罚项,许多特征的系数为0,减少算法的计算量;我的结果表明,有45个变量是有效的,但所画的图则表明只有前五个变量是有效的,其他变量的系数都是0,造成这个原因很可能是因为lambda不够大(惩罚值较小),所以才让模型引入了40个无关变量。
2025-06-21 23:23:08
231
原创 从0开始学习计算机视觉--Day02--数据驱动
在当时的imagenet比赛初期,识别图像的算法依旧是采用分层式的结构:先是计算一些图像的特征和局部不变特征,通过一些池化操作(一般会取窗口内的最大值或平均值作为输出,能够减少数据量,保留重要特征,达到降低复杂度,增强鲁棒性的效果)后,再通过一些多层处理(通过多层对数据进行处理,实现模拟人眼处理特征的过程,即从简单到复杂特征的识别)后,最终将结果描述符传递给线性SVM。其中,在2012年,错误率有了一个明显的降低,这得益于当时所提出的一个算法:卷积神经网络,而这个也是计算机视觉中的重点模型。
2025-06-21 23:21:44
460
原创 从0开始学计算机视觉--Day1--计算机视觉的起源
而随着时代的发展,不仅视觉数据的质量在上升,我们所使用的数据集,也有了不一样的处理方式:我们一般会采用有标注的图片进行训练(即标号是什么图片),有助于模型进行更好地学习。在早期的视觉研究中,要在计算机中成像一幅图片,或者是一个3D物品,需要先将它的边缘构建出来,也就是通过一些手段将边缘描出来,一开始是用一个个叉仿照线的结构,勾勒出一个类似的边缘,接着我们通过不规则的曲线,把深度信息和物品与场景的不规则性拼接在一起,最终将已经构造出的内容拼接在一起,就能得到一个由表面和体积图等分层内容组装的3D模型。
2025-06-20 00:20:20
345
原创 从0开始学习R语言--Day27--空间自相关
例如我们在分析城市犯罪率的时候,用聚类分析的思维,我们可能会思考不同城市的犯罪特征是什么,是否有相似点,亦或是试图把城市分成几种犯罪模式的归属;而如果用空间自相关的思想去看待,问题会变成,高犯罪率的街区在空间上是否聚集或靠近,哪些区域是犯罪率高的热点区域这种客观空间上的问题。Moran's值为0.858接近1,表明结果是强正空间相关的,p小于0.05更加强了结果的说服性,而图中所显示的说明重点区域多在横轴大于7.5的边缘地带,数据中有这个特征的在计算时需要额外乘以系数。
2025-06-18 23:32:38
320
原创 从0开始学习R语言--Day26--因果推断
从结果可以看到,单纯的比较康复时间,会隐藏在背后的很多原因,比如患者本身的病情,患者年龄较大,免疫力低等。进一步看线性回归控制变量,控制了相同的病情和年龄去看康复时间,治疗的方案会减少5天多,用倾向得分模拟的随机试验的得到的结果跟控制变量得到的结果差不多,加强了结果的可信度。这就好比测试一款新药是否真的能治病,假如吃药的患者康复的更快,那到底是因为药物本身的效果好,还是因为患者本身更健康,平时有控制饮食合理作息与运动,从而在患病后更快地凭借自身免疫力战胜病毒。
2025-06-17 23:53:24
302
原创 从0开始学习R语言--Day25--A/B测试 vs 多臂老虎机
二来,在很多场景中,差的方案会在落地测试时不可避免地对用户造成不好的体验。后者对应的一般是在用户的实时反馈和广告的点击率上,那么这种情况,我们会采用动态规划的方式,随着实验的进行,不断地减少差方案的数据,通过这种迭代的方式来降低额外的损失,从而实现快速地聚焦到优质方案。结果显示,在25天的模拟中,多臂老虎机算法最终分配了24%的流量给某个广告版本(可能是A或B),76%给另一个版本,符合原理的表现,同时24%的数据给另一个方案则保留了可能万一真的忽略了潜在方案的可能。
2025-06-16 23:46:16
218
原创 从0开始学习R语言--Day24--稀疏建模
从输出中可以看到,如果是用普通线性回归,结果显示统计量失效,无法解释;而稀疏建模则是把其余的冗余变量的系数都强制归为0了,而从图像可以观察到,当参数减少时,模型包含的特征逐渐增多,误差也在逐渐下降。这听起来有点像是稳健回归,但区别在于稳健回归是为了将数据的整体趋势不被部分离散点所带歪,而稀疏建模则是在损失函数中添加惩罚项,从而自动筛选保留少数的重要特征,而不是仅仅通过是否离散来判断。每个指标都是根据真实数据计算得出的,但是只有少数是能作为解释模型的,其余的都算是冗余特征。
2025-06-15 23:52:24
322
原创 从0开始学习语言模型--Day02-如何最大化利用硬件
毕竟我们平时练习用到的数据,很多都是别人处理好的,不管是在网站爬取的统计数据,还是网页上的文本,都是需要进行大量的细节操作来进行筛选的,以确保数据尽可能多保留我们想要的信息的前提下(一般会用到分类器来过滤掉垃圾信息,以及用去重来保证信息的唯一性,不让模型重复识别某类信息),更好地被模型识别。我们模型所用的数据和参数一般存储在内存里,假设把内存比喻为仓库,GPU比喻为工厂,那么我们所要做的就是最大限度提高数据在仓库和工厂之间运输的效率,像我们常说的矩阵乘法、融合或分块等算法都是在减少数据运输的成本。
2025-06-15 23:49:47
939
原创 从0开始学习语言模型--Day01--亲自构筑语言模型的重要性
在如今这个时代,人工智能俨然已经成了一个大家耳熟能详的词汇。随着技术的发展,它在不断地降低计算机领域一些工作的门槛,甚至有时候我们能看到一个可能六年前还需要从头开始学习的职业,现在只需要能掌握一个专属的小模型就可以拥有不俗的工作能力了。但实际上,一旦所研究的数据的规模到达增长到一定程度后,很多小语言模型都不再能够支撑这些学习强度了。鉴于此,从基础开始学大语言课程是很有必要的,正所谓要了解一个事物,最好的方式就是自己亲手构筑一个事物。
2025-06-14 23:45:00
465
原创 从0开始学习R语言--Day23--稳健回归
一般来说,对于打印出来后明显分布的比较集中,靠近线分布的数据,我们会优先用最小二乘法(OLS)去回归数据,在正常的情况下它的效果很好,但如果数据中存在了比较离谱的离散点,那么由于OLS的算法机制,它会为了强行去拟合这些离散点去扭曲回归线,也就是让其产生偏离,这会严重误导我们对数据的判断。而稳健回归在这类处理中,引入了权重,通过对离散点的误差计算,当它认为这是会产生极大误差的点时,会赋予这些点很低的权重(有时甚至接近于0),从而使模型能够忽略这些离散点,较好的呈现出数据本身的统计性质。
2025-06-14 23:39:18
532
原创 从0开始学习R语言--Day22--km曲线
从输出中,我们可以观察到两组的中位生存时间很接近,说明两组数据的病人存活率差不多,而图片中两条曲线的趋势相近,且置信区间(图中的阴影部分)大部分重叠,更进一步说明了两组数据的差异性不大。最后观察p值远大于0.05,说明在统计上两组数据没有显著不同。而KM曲线可以很好地反映人群在时间序列上的生存率,且能考虑到中途生存出院的数据,因为死亡率并不会等到病人都死亡了再去计算,而KM曲线对于这类数据的处理是出院人群不影响生存概率,即不会提高它,只是当做数据集的长度变短了,这样可以有效避免对于生存率和药物效果的误判。
2025-06-14 00:11:26
581
原创 从0开始学习R语言--Day21--Kruskal-Wallis检验与Friedman检验
Friedman检验同样用于检验水平,但比较倾向于检验不同时期的水平,比如有甲乙丙三人的期中、期末、模拟考成绩,假设只看成绩来判断,分别用成绩计算每个学生自己三个时期成绩排名(纵向对比,排名在学生个人内部),并计算每个时期的学生平均排名,就可以得到在每个时期学生的水平是否有进步。Kruskal-Wallis检验一般用于比较常见的比较三个群体的水平,比如我们有一班、二班、三班的语文成绩,我们将三个班的学生成绩混合在一起进行排名,也就是我们平时所说的级排名。
2025-06-11 00:17:16
480
原创 从0开始学习R语言--Day20--Wilcoxon秩和检验
即使是用缩进的方法,把数据缩进到(1-99%)或(1-95%)的范围内,假如有一些数据点集中在数据分布的尾端,这依然会影响到我们对数据特点的判断,尤其是需要探寻数据组之间的联系或关系的时候。而实际上,假设我们要探究的不是数据在统计上的数值关系,而是因果关系或比较,我们可以把数据处理成秩次的形式,从而去对比数据组,这样相当于把数据的分布都固定下来,也就相当于去对比两组数据的中位数了。从结果可以看到,p值远小于0.05,所画的箱线图也证明了A、B组的差异比较明显,中位数相差了10。
2025-06-10 00:03:15
422
原创 从0开始学习R语言--Day20-ARIMA与格兰杰因果检验
用简单的话来说就是,假设要研究小明生病的原因是不是不吃蔬菜,那么就先只看小明不生病的记录,尝试用过去生病的数据来预测未来是否会生病,再用小明不吃蔬菜期间的生病记录来预测,看看结果会不会更准,以此来辅助判断。同样的,可以看到关于y能否帮助x更好地去预测,p值为0.607 > 0.05,这说明x和y是相互独立的两个变量(在统计意义上),注意,即使我们用格兰杰因果得出这样的结果,我们也不能直接下这种判断,还需要考虑是否是因为影响了什么中间变量导致了变化。
2025-06-09 00:00:34
584
原创 从0开始学习R语言--Day18--分类变量关联性检验
在平时的分析中,关于分类的问题不仅仅会出现在如何将数据分类,还会体现在要如何去挖掘不同分类指甲呢关系,今天我们来学习分类变量关联性检验的相关方法。
2025-06-06 23:40:41
655
原创 从0开始学习R语言--Day17--Cox回归
协变量过多导致的过拟合(在训练数据上表现好但泛化能力差)、多重共线性(变量间高度相关,导致系数估计不稳定)以及统计功效降低(每个变量的效应可能被稀释)等问题,虽然不能直接修改cox的参数来改变,但是我们可以用曲线救国的方式,将风险转移或分割开来。但是我们得到的病人数据,往往会有很多的协变量,即使我们通过计算来减少指标对结果的影响,我们的数据中依然会有很多的协变量,且其之间还可能存在互相的影响以及合并症对结局的影响,也就是会导致研究的方向歪了。
2025-06-06 00:08:35
423
原创 从0开始学习R语言--Day16--倾向得分匹配
当然了,PSM不是真的给出两组有着接近相同的特征的数据,而是计算(倾向得分)概率值,其结果代表了这个数据基于它的特征会受到外界干预的可能性,其作用就是找出两组拥有相近倾向得分的数据。当然,在日常对数据的分析中,不能单看这两个值,因为在样本很大的情况下,即便其本来的效果很小,也会体现出显著性。在运用R进行生信分析时,我们经常会遇到需要我们确定某种蛋白或药物是否有效的课题,此时往往都需要用两组数据或更多去看其生效情况,但如果我们在数据清洗后直接查看结果,经常会得出其很有效的错觉。
2025-06-03 23:58:57
483
原创 从0开始学习R语言--Day15--非参数检验
假设我们有A,B两筐苹果,我们并不知道重量具体是多少,且看着苹果有很多不同大小,有的异常大,有的特别小。此时,我们先对两筐苹果做上属于各自的A、B标记,然后混在一起,通过天平比较大小,也就是对苹果重量做个排名。此时我们进一步计算,由于p=0.0004871 ,小于等于0.05,从而可以确定存在显著的差异,而不是因为异常值导致的差异。如果在进行T检验去比较两组数据差异时,假如数据里存在异常值,会把数据之间的差异拉的很大,影响正常的判断。那么这个时候,我们可以尝试用非参数检验的方式来比较数据。
2025-06-02 23:43:02
680
原创 从0开始学习R语言--Day14--贝叶斯统计与结构方程模型
从输出中我们可以看到,CFI,RMSEA等指标都在标准范围内,说明模型与数据的匹配性较高;从输出中我们可以看到,模拟数据中的实际患病率与我们用贝叶斯统计计算得出的差不多,而输出的列表里也能观察到阳性预测的正确率只有100/585≈17.09%,这说明在实际上的应用场景中,我们在看到类似于“99%的准确率”时不要被误导,要验证过基础概率后再下结论,相对的,假如在信用评分模型中,用户的违约率很低,那么如果出现很多高风险决策,这也可能是误报,当然最好是要查看背后的解释。
2025-06-02 00:18:10
1021
原创 从0开始学习R语言--Day13--混合效应与生存分析
生存分析的关键在于从开始观察到事件发生的时间段内,是否发生了我们想要看到的事件,像预测病人死亡时,我们就会用到生存分析,但不一样的是,我们需要对数据进行筛选,就像生存分析的核心所说的,要筛选出符合所要事件的数据,当然了,这就跟指标有关了,比如在医学中常见的课题:患某类病的病人,在患有另一种病后死亡的概率,这种就需要筛选病人的药物,两种病的合并症,拿取的数据是否是在两类病发生中间的等等。而且,生存分析还可以利用缺少”结局“的数据,即如果病人还活着的数据,而不需要人为地赋予一个结局。
2025-06-01 00:58:15
997
原创 从0开始学习R语言--Day11--主成分分析
首先,Standard deviation中的PC1的数值最大,代表其携带信息最多,从这个身高的例子来讲,就是PC1的数据(可能是体型大小)其实就反映了身高与体重之间的变化,要注意PCA所生成的变量,不再是原始数据集的变量,他只是蕴含了其中的信息;PCA是一种降维技术,它把一堆相关的变量(比如身高、体重、年龄)转换成少数几个不相关的新变量(叫“主成分”),这些新变量能最大程度保留原始数据的信息。保留最大方差:第一个主成分(PC1)方向是数据变化最大的方向,第二个(PC2)是剩余变化最大的方向,依此类推。
2025-05-27 23:35:21
557
原创 从0开始学习R语言--Day10--时间序列分析数据
在数据分析中,我们经常会看到带有时间属性的数据,比如股价波动,各种商品销售数据,网站的网络用户活跃度等。一般来说,根据需求我们会分为两种,分析历史数据的特点和预测未来时间段的数据。
2025-05-26 23:59:29
676
1
原创 从0开始学习R语言--Day09--方差分析
前两天我们学习了T检验来判断两组数据之间的差异是显著存在还是因为偶然,但如果存在多组数据,我们还是两两去对比作T检验的话,会存在假阳性(也就是把没有差异判断为有差异),虽然每次单独的T检验只有5%,但即使数据只是多了三组,也要作三次T检验,假阳性的概率就被叠加到了大概14%。
2025-05-26 00:20:20
1226
原创 R语言学习--Day06--数据框与列表的区别以及聚类分析
dataframe和list是我们在R中常见的两种数据结构,也许我们经常使用,但如果到了我们需要存储数据或者构建数据的结构时,不清楚其中的区别,很容易在后续的数据处理中吃亏。
2025-05-23 00:32:55
276
原创 R语言学习--Day05--绘图技巧
相比一般的分布图,假设我们要分析一个分布图,我们就可以从图里判断不同的分组里,哪个元素占比较多,如果需要的话,也可以在后面加对应数值(但一般为了美观都不会加,毕竟是要放在论文里的)。要注意的是,如果只是一般的图,不管是保存为PDF或图片都可以,但如果是细节比较多的图片,还是建议输出为PDF,这样做的好处还有一个,就是可以把图片以PDF的形式发给大模型来互动交流。假如想要把图片变得更美观,想微调标题或一些方格的位置之类的,可以下载Adobe Illustrator,把保存的PDF拖进去修改。
2025-05-21 23:41:56
356
原创 R语言学习--Day04--数据分析技巧
特别的,有时候我们在拿到数据时,就跟非监督学习一样,我们只知道要分析数据特点,但对结果的分布缺乏概念,这时我们就可以采取先把数据分布画出来的操作,注意数据的数量,如果样本少,我们直接画箱线图或者散点图就行,但如果数据非常多,那此时用六边形图,就比较合适了。在清洗完数据,在对数据分析前,我们要懂得先梳理一下我们的逻辑,即数据是什么形式的,要进行哪种分析,有可能呈现什么特点,进而再想怎么处理数据去画图可以最大程度地凸显我们要的特点。然后分别生成六边形图和箱线图。
2025-05-20 23:56:51
375
原创 从0开始学习大模型--Day10--尝试chaltglm微调
首先,通过视频教程,我们在阿里云领取免费算力,创建一个DSW实例,并在其中打开轻量轻量微调和推理ChatGlm模型。(由于版本更新,需要先打开,在Langcher界面点击tool下的DSW Gallery)然后依次按照教程里的指示,把我们需要的包,数据等用于微调必要的组件都下载好(只需要点击类似于播放键的按钮下载,等到其出现绿色即可)可以看到这是一个关于淘宝电商的数据集,summary前是产品特点,也就是关键词,后面是产品的详细说明。今天,让我们来尝试着开始简单的微调,熟悉熟悉微调是怎么改变模型的。
2025-05-20 00:38:20
276
原创 从0开始学习大模型--Day09--langchain初步使用实战
但在实际的操作中,我们往往是用我们自己准备好的文件来圈定范围,一是我们所用的专业知识更全面,能够更好地训练模型,使其成为一个垂直于该领域的模型,二是能够减少模型的幻觉带来的错误答案,毕竟其接受的干扰信息更少。其实这里我们就能看得出,一个通用的大模型,和我们给了方向和限定的大模型,思考的答案是不一样的,解决问题的方式也不一样,所以,我们使用大模型时就要进行微调,这也是下一章节的内容。中间如何进入到langchain界面请参考结尾视频链接。可以看到,给出补充后,续写的内容更饱满,也有了主题。
2025-05-19 00:15:15
334
原创 R语言学习--Day03--数据清洗技巧
在一般情况下,我们都是在数据分析的需求前提下去选择使用R语言。而实际上,数据分析里,百分之八十的工作,都是在数据清洗。并不只是我们平时会提到的异常值处理或者是整合格式,更多会涉及到将各种各样的数据整合,按照要求去除掉不合规的数据,再并到一起形成一个纯净的,可利用的数据,甚至有些时候还需要进行脱敏操作,防止对后续模型训练之类的影响,下面我来介绍一下经常会用到的操作。
2025-05-16 22:59:19
497
原创 R语言学习--Day02--实战经验反馈
最近在做需要用R语言做数据清洗的项目,在网上看再多的技巧与语法,都不如在项目中实战学习的快,下面是我通过实战得来的经验。
2025-05-15 00:10:04
395
原创 从0开始学习大模型--Day08--langchain架构
从基本原理到优化,其实我们能看到这些方法都在说明一个点:理清思路,明确需求在使用大模型的过程中尤为重要,大模型会节省我们搜索和学习的时间和成本,但是对于项目的了解和如何解决,确实我们自己要思考的,即便连入了专业的知识库,模型也只能根据给出的知识提供方向,我们要重视如何在跟AI的互动中找到问题,让AI这面“镜子”好好发挥它的作用。子链(sub-chains):将复杂的任务拆分为一个个紧密联系的流程,可能A子链的输出是B子链的输入,也有可能是A、B并行去影响C,尽可能地将复杂任务的细节分析清楚;
2025-05-14 00:23:53
263
原创 从0开始学习大模型--Day07--大模型的核心知识点
当用户开始输入问题提问时,大模型会先将其向量化,与数据库中的向量作比对,将相似的向量提取出来,转成文本块,并与提示词模版相结合,从而变成一段更合理,更有逻辑性,能让大模型看懂的提示词输入给大模型,从而输出回答,在上述处理文本的过程,就是RAG。比如,假如公司新来了个维修人员,他可以直接调用AI知识库去学习维修手册,痛点,需要注意的点以及不懂得地方都可以直接问AI知识库,在一定程度上起到了老师傅的作用。通过细致调整输入语句,可以优化 AI的理解和响应,从而提升整体的交互体验。大模型处理用户问题的过程。
2025-05-12 23:23:51
555
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人