“数据分析”-前沿之“Logistic回归的应用”!

指尖上的数据|“数据分析”- 前沿之“Logistic回归的应用”(原创)!

作者:豹伯

导言:

化繁为简:将复杂理论简单化,将简单理论说极简化。

触类旁通:深度挖掘一个行业,以一生二,二生万业。

感谢您关注昊睿咨询今天“指尖上的数据”频道。

前面详细介绍了《指尖上的数据|“数据分析”之回归分析!》,今天介绍一下在前沿应用比较多的回归方法,Logistic回归的实际应用。

Logistic回归可能对某些人来说并不陌生,普通的分析工具做Logistic回归并不容易,对数据的形式和参数的要求很高,但是在Python环境下,结合人工智能的算法和工具实现起来只要“两句代码”。

首先来了解一下人工智能,机器学习和深度学习这三个概念,在网上找到一幅图很好的诠释了这三者的关系和历史。人工智能始于1956年,由一帮计算机专家在达特茅斯会议提出的概念,人工智能的先驱们想利用当时计算机的发展,来赋予计算机一定的智能,如:逻辑判断,问题解决等;当时计算机所具有的智能完全需要靠人力输入代码来实现特定的任务;然而人类的智能太广泛,根本无法依赖手工输入代码来涵盖。为此,科学家想到了如何让机器有学习能力,于是催生了机器学习,机器学习的本质是通过大量历史数据进行分析和学习,让机器自己掌握规律,并能根据实际情况对未来做出判断和预测。赋予机器学习的能力也得通过代码实现,发展到现在机器学习已经有了10大经典算法,每个算法对应着不同的应用场景和要求。深度学习其实是机器学习的一个分支,当科学家受到人脑运作原理的启发发明了神经网络,既为深度学习奠定了基础。深度学习通过复杂的神经网络(不仅是维度,更多是层数),使得机器可以突破线性的要求,从而进行各类复杂模型的学习、建立和预测。

回归目前是人工智能的基础,为了建立合理的回归模型,机器需要对大量的数据进行分析,这个过程定义为学习;为了保证模型的正确性,可以通过必要的数据进行验证,以确保误差的最小化,这个过程定义为测试;当模型建立符合要求后,就可以输入新的数据和条件让机器来做预测了。

回头看看Logistic回归是什么?

所有的回归都能使用一个方程来表达: Y = F(X), 既输入变量在一定形式下影响输出变量,Logistic回归特殊之处在于Y不是连续变量,如果想研究一下学生学习时间和考试的通过率的关系,那X则学习时间,Y为考试通过或者不通过(0,1),通过Logistic回归,可以很快建立二者之间的关系。如果我们还考虑学生的性别,学生智力因素,学生的家庭属性等等,行不行?答案当然是可以!无非增加X的维度而已。继续将这个例子引申到质量管理中,只需要将学习时间,学生性别,学生智力因素对应成产品参数,既多维度的X描述了产品特性参数,大量的历史数据将帮助建立X和Y(合格或者不合格率)的关系,一旦获得该模型,未来很容易根据产品特性对不合格率做出预测。

下面将简要看看Python环境下机器学习深度学习这两种方法来对二维X建立Logistic回归的差异(二维X比较容易图形化,帮助理解)

机器学习

首先建立学习数据,通过随机函数产生200组数据,其结构是X1i,X2i,分别对应着Yi(0或者1),如图表示为红点和蓝点。

通过调用数据扩展包,进行Logistic回归建模。可以看到,机器通过200组数据的自我学习和校验,形成了一条分界线(既Logistic回归模型),除去画图语句,整个模型学习建立真的只需要“两句代码”--代码的头两句,且第一句还是一个为了简化而做的赋值语句。是不是超级容易!

结合图形,可以看出来,分界线可以帮助我们来做预测,如:给出任意新的X1和X2的值,我们根据分界线就能判断对应的Y是0还是1。但是也可以看到,针对原始200组学习数据,该分界线还是有一定误差,部分蓝色的点在分界线以上,部分红点在分界线以下。毕竟Logistic回归也是广义的线性回归,所以分界线只能做到直线,那该如何提升预测精准度,既降低误差呢?这个则需要深度神经网络算法的闪亮登场了。

深度学习

通过建立一个三层的神经网络(一个输入层,一个隐藏层,一个输出层),基于第一组学习数据中的X11和X21,根据初始赋值(每个神经元链接之间的权重)通过前向传播进行一次对Y的结果计算,然后通过反向传播,既根据正向计算的Y值和实际Y值的误差,反向传回并依此误差修正初始赋值的链接权重,经过200组数的不停迭代,最终会获得一套比较精准的权重分配,从而实现精准的预测。(代码太长,太复杂,只放上结果图片)

通过图片可以看到,经过神经网络的自我迭代学习,原来的分界线已经发生了变化,同时突破了线性的限制,变成了曲线。原始的200组数据被划分得更精确。用这个模型去做未来的预测,精度明显要高于上面介绍的机器学习的模型。

就我理解,机器学习中的Logistic回归属于一次性回归,即便有一定的验证方法提升精度,但只是一次性的计算回归模型,除非更改原始学习数据,否则很难再去优化回归模型。而神经网络的深度学习则通过不停的迭代来实现误差最小化的逼近(学术用语:梯度下降),既利用原始200组学习数据,它对回归模型进行了199次优化,所以学习数据样本越大,模型被优化的程度就越高,未来做预测也就越精确。当然如果神经网络参数设置不好,可能会出现过拟合现象,这是个技术问题,需要根据实际情况采用正则化的方式来做限制,比较复杂就不在此展开了。

不论是机器学习还是深度学习的神经网络,针对二维的输入变量处理起来都简单易行。其实几十维、上百维的数据的处理起来也是信手拈来。针对在产品质量预测上的应用,可以将产品划分几个阶段,如:研发阶段,量产阶段,市场使用阶段。对历史产品,每个阶都去收集到必要的数据,如:研发阶段的规格定义,测试数据;生产阶段的过程测试数据;市场使用阶段的环境参数数据等,那就能得到大量的几十维的X来对产品进行描述,结合市场维修信息,能得到对应几十维X的Y,配合搭建好的神经网络,完全能建立一个高纬度的预测模型。当新设计产品,生产产品,客户使用产品时,只要数据能被及时收集回来放入模型,模型就能对产品的质量状态做出合理预测,甚至能协助重新定义新的产品。所以,人工智能在质量管理中的应用并不难,只需我们能对人工智能有一定的了解以及我们能脑洞大开,应用的场景比比皆是。

以上既为最近学习的心得分享。案例是教材中二分类的一个例子,本人也还在人工智能知识的海洋中慢慢摸索和学习。这次的分享就到这里,我们下次再见!

(本篇完)

本文来自企鹅号 - 昊睿咨询媒体

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Duncan's Blog

社交网络中抽取有代表性的用户

将用户以各个属性构建向量,以向量之间的距离来定义人物之间的代表性. 以Twitter社交拓扑为例,当A用户关注了B用户,将会有A指向B的一条有向边,

1072
来自专栏AI研习社

Arxiv Insights | 克服稀疏奖励的束缚,让智能体在学习中成长

在强化学习的设置中,为了执行一个我们想学习的任务,智能体会应用一些特征提取方案来从原始数据中提取有用信息,然后会有一个策略网络用于提取特征。

1121
来自专栏人工智能头条

《程序员》:增强学习在无人驾驶中的应用

2424
来自专栏AI科技评论

开发 | 聊聊数据挖掘竞赛中的套路与深度学习的局限

AI 科技评论按:本文原作者兔子老大,原载于其知乎专栏——MLの玄学姿势。转载已获得授权。 前言 刚好在暑假通过参加 kaggle 的 Zillow Prize...

3635
来自专栏PPV课数据科学社区

【陆勤笔记】《深入浅出统计学》5离散概率分布的运用:善用期望

点击上方 “蓝色字” 可关注我们! ? 作者:王陆勤 意外从天而降,未来如何演变? 利用概率预测长期结果,利用期望度量结果的确定性。 随机变量 随机变量是一个可...

2839
来自专栏量子位

详述车道检测的艰难探索:从透视变换到深度图像分割(附代码)

王小新 编译自 Medium 量子位 出品 | 公众号 QbitAI 找到马路上的车道线,对于人类来说非常容易,但对计算机来说,一点阴影、反光、道路颜色的微小变...

3976
来自专栏AI研习社

数据挖掘竞赛的套路就在这里了,看完本文全明白!

刚好在暑假通过参加 Kaggle 的 Zillow Prize 比赛来让我在数据挖掘和机器学习中完成了菜逼到 Level 1 的转变,借这个平台总结一下比赛的...

4136
来自专栏AI科技大本营的专栏

学习这么多算法到底在解决哪些问题?深度学习之外,我们要选择谁?

人工智能会影响多个领域,甚至是那些非常传统的商业领域。而机器学习(这里指的是广义的机器学习)是人工智能的一个重要组成部分,它指的是对大数据集上的算法进行训练,以...

573
来自专栏null的专栏

论文阅读——YouTube的视频推荐系统

《The YouTube video recommendation system》是一篇详细介绍YouTube视频推荐的论文,在整个系统中没有复杂的算法,使用了...

3054
来自专栏PPV课数据科学社区

关于机器学习,你需要知道的三件事!

关键词:MATLAB、机器学习、机器学习算法、 正文如下: 导读:MATLAB开发运营团队深度解析何为机器学习,什么时候使用机器学习,如何选择机器学习算法,MA...

3435

扫码关注云+社区