机器学习中自变量和因变量的选择

m
microsat
楼主 (北美华人网)
机器学习预测学生是好学生还是差学生。
自变量包括 x1 ) 主课平均学习成绩(0到100的整数) x2 ) 副课平均学习成绩(0到100的整数) x3 ) 年龄 x4 ) 性别 x5 ) 年级(1到12的整数)

因变量 y 好或者差
这个因变量y的产生,实际上由x1 和 x2 推倒出来的。推倒规则如下 if x1>70 & x2 > 60 then student is good. otherwise, student is bad.
现在,用x1和x2,再加上x3, x4, x5, 联合起来机器学习建模,预测y。模型如下 model is glm( y ~ x1,x2, x3, x4, x5)
请问,这个建模过程犯了什么错误?
再举个例子。机器学习预测 胚胎移植后7周,胚胎是否在妇女的子宫里着床。 模型的预测变量为Beta-hCG,雌激素水平,孕酮水平, 模型的输出为胚胎着床与否
胚胎的着床与否是一个医生给出的判断,这个医生给出这个判断,就是根据这三个变量Beta-hCG,雌激素水平,孕酮水平。
现在我们的数据集有四个变量 : 胚胎着床与否(yes or no),Beta-hCG,雌激素水平,孕酮水平
基于这四个变量的数据集, 有人建立一个机器学习模型,用Beta-hCG,雌激素水平,孕酮水平这3个变量,来预测胚胎着床与否(yes or no)。
请问,这个机器学习模型是不是很荒唐,很无意义。因为金标准就是根据这三个变量Beta-hCG,雌激素水平,孕酮水平。 而不是真正的胚胎是否在子宫内着床。
请问你的感觉是什么? 错,错在哪儿?这种错误叫什么名字?(答案:leakage)
请问下面这个例子为什么不作为leakage考虑? MRI的影像图,来预测癌症与否。 而给出这个癌症与否结论的医生,确是根据MRI的影像图,来判断的。 现在我们很多研究论文,都在搞deep learning。自变量就是MRI的影像图,因变量就是癌症与否。
在宇宙中,哪些变量,我们是不应该去建立机器学习模型去学习和预测的?因为它会导致leakage。 比如:男女 哪些变量,我们可以去建立机器学习模型去学习和预测的。 比如:用基因变异,来诊断和预测病人是否得癌症。
有没有大牛,能shed some light on this?
注意:这个医学模型只讨论胚胎是否着床,并不讨论是否能成功生子。也就是说胚胎以后流产了,也不能说明胚胎着床失败。这个模型只是预测是否在着床这个阶段,着床是否成功。
多谢!
2022.8.5 今天继续请教各位大牛关于这个问题。
最近我审一篇稿子,用机器学习的方法评价学生的性能。input 变量为学生GPA(0-5),性别,国籍,年龄,年级。 目标变量为合格与否。 机器学习的效果非常好,预测非常准确。但是 我发现了一个问题,就是这个合格与否,这个作者是怎么收集的。他也不回答。我要求作者提供原数据,也被拒绝了。我问他你是不是定义 GPA大于等于3的都算合格,小于3的都算不合格,答复是他们的定义比这个复杂得多。我现在想请教各位。假设他们就是这样定义合格与否的:定义 GPA大于等于3的都算合格,小于3的都算不合格。然后用学生GPA,性别,国籍,年龄,年级,作为输入变量来预测这个目标变量-- 合格与否。 这样做属于还是不属于用y+X来预测y?  也就是target leakage? 










w
wudadan
回复 1楼microsat的帖子
用Y和X一起来预测Y 学术上 叫脱裤子放屁
b
bye2020
Leakage.
w
wfmlover
你咋不用有没有boobs来预测一个人是男的还是女的
m
microsat
回复 1楼microsat的帖子
用Y和X一起来预测Y 学术上 叫脱裤子放屁
wudadan 发表于 2022-08-04 14:24

最近,发现好多机器学习,都是这样做。
用x1,x2,....xn来预测y 但是y的评定和测量确是人为的根据某个xi或者xj来决定的。
有的比较隐晦。y的评定和测量是通过z1和z2. 但是z1和z2其实和xi或者xj已经存在某种大家公认的联系。
m
microsat
Leakage.
bye2020 发表于 2022-08-04 14:25

多谢!总算找到这个词了。
m
microsat
你咋不用有没有boobs来预测一个人是男的还是女的
wfmlover 发表于 2022-08-04 14:27

你的建议提醒了我。
当今,奥运会,测试是男是女,用的是什么金标准?
在宇宙中,有些变量不能去机器学习和预测。否则就没有意义。
比如:男女。
这种变量,就必须是定义好的。
是不是这样?
m
microsat
回复 1楼microsat的帖子
用Y和X一起来预测Y 学术上 叫脱裤子放屁
wudadan 发表于 2022-08-04 14:24

为什么下面这个例子不是呢。
MRI的影像图,来预测癌症与否。 而给出这个癌症与否结论的医生,确是根据MRI的影像图,来判断的。
z
zhangaa2004
回复 1楼microsat的帖子
粗浅的回一个: 楼主这里说的其实并非是真正的“学习”,其实就是一个“建模”。 建模是为了描述一个“确定存在”却未知的关系的。比如,一个因变量Y,我们知道它的值可能是由X1, X2, X3确定的。但是呢,究竟是怎样的一种确定关系呢?也就是寻找一个“显式”表达式f(X)来描述Y=f(X1, X2, X3,...)。这里最简单的就是线性回归了,因为至少它指明了一个“方向”。如果需要更加细致的描述,需要非线性回归或者其他更高级的工具。
机器学习是要寻找一个“可能”的因果关联,注意这里的关联是我们认为它可能存在的。那么这里的输出变量Y,是依照实际观测得到的。比如鸭子和鸡,或者狗狗和喵,单单从外观就可以判定,而并不需要人们按照其他已知变量进行推演。这里的“模型”就是一种按照不同的阈值进行分类和再分类,最终实现一种“识别”。
这两类有时候确实容易混杂在一起含混不清,毕竟机器学习很多东西其实源自统计建模。比如识别癌症的例子。Radiologist根据染色图寻找癌细胞,那么这个判定用来做Y,而其他病人相关资料以及曾经各种检验作为X向量,那么如果要进行统计建模呢,首先要考虑X向量里面的变量是不是都显著的,其次可能还要进行变量筛选。但是因为大数据它大啊,GPU算力它就强啊,没必要像传统统计那么扣扣索索的,还要讲究什么容差,直接丢进去一个神经网络,它就香啊。而且这么大量的数据建立的模型,再加上各种validation以及drop-off之类的,精度也高过了传统的建模了。
整个过程,看上去似乎就是Y源自X,然后我用X去拟合了Y。嗯,确实似乎是脱裤子发射了一个屁,但不同的是我们观察到了那只屁股啊。
m
microsat
回复 1楼microsat的帖子
粗浅的回一个: 楼主这里说的其实并非是真正的“学习”,其实就是一个“建模”。 建模是为了描述一个“确定存在”却未知的关系的。比如,一个因变量Y,我们知道它的值可能是由X1, X2, X3确定的。但是呢,究竟是怎样的一种确定关系呢?也就是寻找一个“显式”表达式f(X)来描述Y=f(X1, X2, X3,...)。这里最简单的就是线性回归了,因为至少它指明了一个“方向”。如果需要更加细致的描述,需要非线性回归或者其他更高级的工具。
机器学习是要寻找一个“可能”的因果关联,注意这里的关联是我们认为它可能存在的。那么这里的输出变量Y,是依照实际观测得到的。比如鸭子和鸡,或者狗狗和喵,单单从外观就可以判定,而并不需要人们按照其他已知变量进行推演。这里的“模型”就是一种按照不同的阈值进行分类和再分类,最终实现一种“识别”。
这两类有时候确实容易混杂在一起含混不清,毕竟机器学习很多东西其实源自统计建模。比如识别癌症的例子。Radiologist根据染色图寻找癌细胞,那么这个判定用来做Y,而其他病人相关资料以及曾经各种检验作为X向量,那么如果要进行统计建模呢,首先要考虑X向量里面的变量是不是都显著的,其次可能还要进行变量筛选。但是因为大数据它大啊,GPU算力它就强啊,没必要像传统统计那么扣扣索索的,还要讲究什么容差,直接丢进去一个神经网络,它就香啊。而且这么大量的数据建立的模型,再加上各种validation以及drop-off之类的,精度也高过了传统的建模了。
整个过程,看上去似乎就是Y源自X,然后我用X去拟合了Y。嗯,确实似乎是脱裤子发射了一个屁,但不同的是我们观察到了那只屁股啊。

zhangaa2004 发表于 2022-08-04 15:21

多谢!我举个更形象的例子。这样大家讨论起来更深入。
如果我们有一个婴儿的身高变量,还有他的体重变量,那么这两个变量之间,可以拟合,可以回归,也可以机器学习。这些显得都好懂,没任何问题。
下面,复杂的来了。 假设,我们有一群婴儿的出生年龄(按月份),身高,体重,这三个变量,然后儿医会根据这3个变量产生一个新变量,生长是否正常。我们假设这个儿医只根据这3个变量,不根据其他变量来判断婴儿生长是否正常。
当我们有了这4个变量的时候,出生年龄(按月份),身高,体重,生长是否正常,我们把前三个作为输入,第四个(生长是否正常)作为输出,来建立一个机器学习模型。
请问这样的机器学习模型有意义吗?是不是脱裤子放屁,多此一举? 这样的机器学习模型,算是leakage吗? 
h
hoxu
你那个着床的例子,问题是医生判断是不是1.同一个医生;2. 都有这个 feature.
如果1否的话,那医生的判断就不能认为是同一个 feature, 2 否的话,model 可能就没用
m
microsat
你那个着床的例子,问题是医生判断是不是1.同一个医生;2. 都有这个 feature.
如果1否的话,那医生的判断就不能认为是同一个 feature, 2 否的话,model 可能就没用
hoxu 发表于 2022-08-04 15:57

着床这个例子比较高深,一般的人没有一点医学的不太容易理解。
请用我举的第二个简单一点的例子来阐述你的观点。
假设,我们有一群婴儿的出生年龄(按月份),身高,体重,这三个变量,然后儿医会根据这3个变量产生一个新变量,生长是否正常。我们假设这个儿医只根据这3个变量,不根据其他变量来判断婴儿生长是否正常。
当我们有了这4个变量的时候,出生年龄(按月份),身高,体重,生长是否正常,我们把前三个作为输入,第四个(生长是否正常)作为输出,来建立一个机器学习模型。
为了模型和问题的简单化,我们假设就同一个诊所的同一个医生。这个模型的应用,也只限定在这个医生名下的所有儿童病人(未来的)。
同样的假定,也实施于着床问题。只用于那个移植诊所的那个医生的将来的所有病人。不用于其他诊所或者其他医生。 我的问题不是这个模型有没有用,而是这个模型的建立过程是不是存在leakage,也就是是否存在楼上所说的多此一举?因为模型是学习和预测 Y~x1+x2+x3. 而实际Y的确定确是人为根据x1,x2,x3来搞定的。 如果Y可以用x1,x2,x3来判定,还有必要用机器学习来学习和预测Y~x1+x2+x3吗?

i
ivoryzz
要学习 因为线性关系的系数要不断的更新
m
microsat
最近我审一篇稿子,用机器学习的方法评价学生的性能。input 变量为学生GPA(0-5),性别,国籍,年龄,年级。 目标变量为合格与否。 机器学习的效果非常好,预测非常准确。但是 我发现了一个问题,就是这个合格与否,这个作者是怎么收集的。他也不回答。我要求作者提供原数据,也被拒绝了。我问他你是不是定义 GPA大于等于3的都算合格,小于3的都算不合格,答复是他们的定义比这个复杂得多。我现在想请教各位。假设他们就是这样定义合格与否的:定义 GPA大于等于3的都算合格,小于3的都算不合格。然后用学生GPA,性别,国籍,年龄,年级,作为输入变量来预测这个目标变量-- 合格与否。 这样做属于还是不属于用y+X来预测y?  也就是target leakage?