文献解读:有监督的机器学习在心理学上的应用

最近看了一篇论文,写的比较系统,也比较基础,对复习强化有作用,顺便写下来分享给大家,文献原文贴在下面:

Rosenbusch, H., Soldner, F., Evans, A. M., & Zeelenberg, M. (2021). Supervised machine learning methods in psychology: A practical introduction with annotated R code. Social and Personality Psychology Compass, 15(2), e12579.

温馨提醒大家,文献中有所有提到方法的数据和代码,所以愿意钻研的同学自己可以去下载尝试的,有些东西你不动手,光看是学不会的。

机器学习模型

基本上大家看的多的基础的心理学文章,最常见的就是做个ordinary least-squares (OLS) regression,比如我要探讨哪两个个变量的关系了,我看看回归系数显著不显著,基本上就是这么玩儿的。

另一种玩法,稍微高端一点,得去考虑用显著的信息预测将来的变化,就用到机器学习的方法。

第一种玩法中,我们关心系数的大小和显著性,第二种玩法我们则关心预测的准确性。

怎么去评估一个预测模型的准确性呢?当然得把模型拉出来溜溜,就是说我们把训练好的模型要应用到新的数据上,通过将预测结果和真实结果进行对比从而评价准确性,这是基本思路,所以我们会划分训练集和测试集。

作者举了个例子来说明这种思路对心理学研究的重要意义:前人已经发现了睡眠不足对自杀意向有显著影响,这个发现的现实意义怎么样挖掘?影响又如何?如果我能进一步发现睡眠剥夺真的可以预测自杀,是不是现实意义更大?

Previous work found, for instance, that insufficient sleep is associated with suicidal intentions (Ribeiro et al., 2012). This work, based on inferential tests, reveals a significant correlation between sleep deprivation and suicidal thoughts. However, it does not tell us how accurately sleep predicts suicidal intentions. Is the model accurate enough to implement alert systems based on sleep quality?

上面的工作就得依仗机器学习。

预测准确性

当结局是连续变量时,预测值和真实值的误差越小则越精确,此时评价标准有:

R2:这个其实就是大家做回归时会报告的R方,越大越好,公式和做法如下:

[图片上传失败...(image-5c5545-1661345703595)]

MAE:mean absolute error和mean absolute error RMSE:这两个指标都是预测值减去真实值的误差,越小越好,算法和做法如下:

[图片上传失败...(image-8e191c-1661345703595)]

当结局是分类变量的时候(此处只讨论二分类),我们会有混淆矩阵:

[图片上传失败...(image-c05e75-1661345703595)]

此时,评价标准有:

accuracy:就是预测对的比上预测总数,这个指标还可以衍生出来sensitivity和specificity,其算法和做法如下:

[图片上传失败...(image-20acf-1661345703595)]

[图片上传失败...(image-798bbb-1661345703595)]

如果我们希望阳性的个案都能被找出来,此时我们就会偏向于提高模型的sensitivity,如果我们不希望有太多的假阳性,我们就会偏向于提高模型的precision,如果我们也不知道该不该有所偏向,我们还能结合precision和sensitivity再生成一个新的指标叫做F1score,其算法和做法如下:

[图片上传失败...(image-c8d27d-1661345703595)]

模型验证

总体思想:训练模型的数据不能用来验证,不然就overfitting的问题就避免不了,尤其是训练样本本身不大的时候。

模型验证有两个办法:一个是划分数据Train–test split,另一个是交叉验证K-fold cross-validation。各有优劣不过交叉验证更好点。

基本上大家做的比较多的还是划分数据,就是将数据划分为训练集和测试集,训练集用来训练模型,用测试集评估模型表现,这种情况如果样本本身比较小,结果将会非常不稳定,强烈不推荐,K折交叉验证就会好很多。

作者给出的意见是:交叉验证常规都得做,不做是应该给出理由的!

K折交叉验证的代码如下:

[图片上传失败...(image-6a01a7-1661345703595)]

样本量问题

对于机器学习的样本量,总体基调是:可多可少,越大越好,没有精确标准或指南。

但是可以参考几个方面:一是以往同类型研究,二是预试验,就是如果可以的话找同类型的数据进行预试验,探究出样本量和同类学习问题预测准确性的关系,找到饱和点,这个饱和点对应的样本量就是你需要的样本量;三就是模拟数据,根据已有知识或经验模拟出数据,做出学习曲线,确定样本量,如下:

[图片上传失败...(image-3dae9-1661345703595)]

四就是看看模型在训练集和测试集的表现差异,如果我们发现模型在训练集中表现很好,放在测试集中就不行了,那么就提示数据量不够。

反正记住总体基调:预先想设定算法的样本量的尝试都是不合理的(本身你就是data-driven的,提前限制数据量显然说不过去),但是机器学习的样本量一般都得大:

In summary, machine learning projects split data into separate training and testing sets. As the shape of the best prediction model is determined based on the data, it is more difficult and less common to preregister required sample sizes. However, machine learning requires extra data for out-of-sample evaluation and prediction models often include many predictors/coefficients; as a result, required sample sizes are typically large

常见的机器学习模型

1.岭回归Ridge regression

传统的ols回归的目标是减少总体残差,随之的问题就是有可能系数过多模型过于复杂,岭回归可以简单理解为在使得模型残差尽可能小的情况下,也同时避免模型过度复杂(minimize the sum of squared beta coefficients),从而使得模型的推广性更好,预测能力更强。

两种模型的损失函数如下:

[图片上传失败...(image-ed9405-1661345703595)]

可以看到岭回归加了一个对回归系数的惩罚项。系数那慕达是岭回归的超参数,那慕达越大表示模型越保守,越不容易过拟合:

Lambda quantifies how strongly regression weights should be suppressed, thereby dictating the tradeoff between error reduction and model simplicity. Higher values of lambda lead to a stronger penalization of regression weights and therefore a more restricted/conservative model

这儿是本文首次提到超参(之前文章也有介绍,感兴趣的同学去翻翻),这个超参是不能从数据中学习出来的,是需要人调的。叫做调参。

岭回归的R语言实现代码如下:

[图片上传失败...(image-9bb5d-1661345703595)]

2.决策树与随机森林

关于基于树的分类算法,我记得之前有写一篇文章大家可以去瞅瞅。简单来讲就是每个观测通过一颗树,不停地分叉一直分到最终的叶子上,每个叶子内的观测被认为是一类,对于基于树的算法一个很重要的评估标准的就是同一个叶子内的观测的一致性。我们当然是希望模型给我们分了不同的叶子,叶子内的数据完全一致,不同叶子的数据完全不同,这是理想情况,这个一致性的大小可以用熵值来表示,熵值的算法和决策树示意图见下:

[图片上传失败...(image-50ef6-1661345703595)]

[图片上传失败...(image-cdea3f-1661345703595)]

这棵树可大可小,理论上可以无限延长,使得训练模型可以完全匹配数据,但是牺牲模型的推广性,模型到底训练到何种程度,也有超参可以控制maximum “number of leaves” or “number of data splits.”

决策树的示例代码如下:

[图片上传失败...(image-daf24e-1661345703595)]

再来看随机森林,很多树就成了森林,随机森林便是很多决策树组成的,不是一棵树已经可以给出结果了吗?为啥要弄一片森林?森林中树与树又有何不同?请看下面的解答:

When building each decision tree, a random (bootstrapped) sample of available observations is selected, and a random subset of available predictor variables is considered for each split. Having many different decision trees based on slightly different sets of observations and predictor variables minimizes the biases of individual trees and reduces overfitting

具体在训练过程中要用几颗树,也是超参,需要你来决定,不过一般都很大,随机森林的实现代码如下:

[图片上传失败...(image-efa820-1661345703594)]

我们还可以将随机森林的结果何决策树的结果进行比较:

[图片上传失败...(image-116990-1661345703594)]

可以看到预测准确性还是随机森林显著高。

小结

今天给大家分享了机器学习的一些基本,内容都来自文献,原文中作者还给出了机器学习模型结果报告的相关建议,推荐去读原文哈,希望对大家有所帮助。

今天的文章只提到有监督的学习,什么是有监督什么是无监督请翻看之前文章。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 224,289评论 6 522
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 95,968评论 3 402
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 171,336评论 0 366
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 60,718评论 1 300
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 69,734评论 6 399
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 53,240评论 1 314
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 41,631评论 3 428
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 40,599评论 0 279
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 47,139评论 1 324
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 39,166评论 3 345
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 41,286评论 1 354
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 36,917评论 5 350
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 42,604评论 3 336
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 33,075评论 0 25
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 34,205评论 1 275
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 49,814评论 3 381
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 46,351评论 2 365

推荐阅读更多精彩内容