数据挖掘与机器学习,机器学习与数据挖掘

机器学习是人工智能的子课题,数据挖掘与分析又与机器学习有非常紧密的结合 。数据挖掘使用机器学习等方法 。机器学习机器学习是人工智能最重要的分支 。我的理解是数据挖掘的后端与机器学习的前端重复,机器学习的后端与深度学习的前端重复 。我来谈一下机器学习和数据挖掘的一个方面 。
如何向普通人解释机器学习和数据挖掘?
【数据挖掘与机器学习,机器学习与数据挖掘】

数据挖掘与机器学习,机器学习与数据挖掘


我来谈一下机器学习和数据挖掘的一个方面 。一开始我们先来看一个人为设计的场景 。假设一个房间里神奇地漂浮着无数个小球 。我们想搞清楚这些小球停留的位置是否存在着一种特定的结构 。比方说,小球是不是更易集中在某一特定区域?是不是故意避开某些点位?它们是均匀分布于整个空间吗?但是房间一片漆黑,我们什么也看不见 。于是我们找来了一部带闪光灯的照相机,想把漂浮在整个房间的小球都拍下来 。
照片犹如下图一样:就算小球的位置之间确实存在某种联系,从这张照片上我们也看不出个所以然 。看上去小球就像是均匀分布的一样 。所以我们尝试着换了下位置,从新的角度拍下了第二张照片 。照片上的小球看起来还是随机分布的,没有任何规律 。让我们换个高点的角度试试看 。呃,还是看不出有什么规律来 。那我们最后再换个低点的角度试一次 。
啊哈,这次有点意思了:看起来小球集中分布在靠近屋顶和地面的两个区域,中间这段没有一个小球 。因此,为了发现这个规律,我们在拍照时就必须找到一个“好”的角度 。如果角度不对,那我们永远都不可能找出任何规律 。在上面这个例子中,我们想说的其实是三维数据点 。每个小球的位置都可以由3个数字来表示,每个数字分别代表它在XYZ三条轴上的位置 。
在实际的电脑运算中,数据点的位置会由更多的数字组合来表示 。医院病人的病历可能会包含500组数字,包括他的生日年月日、身高、体重、血压、最近一次的看病记录、胆固醇指标等等 。我们会想要搞清楚不同病人的数据点之间是否存在某种规律,如心脏病人的数据点是否会集中分布?如果数据点确实会集中分布,当我们发现新入院病人的数据点也出现同样的趋势时,我们就可以推断这位病人很可能犯心脏病 。
当然,实际操作起来肯定不会如此简单 。一个人是不可能用肉眼看到这些数据点的 。人怎么可能分得清500个维度呢?就像在上面那个例子中,没有人能看得清“黑屋”中小球,我们也同样看不见500个维度中的那些数据点 。我们可以用二维图片来展示位于三维空间中的数据点,用同样的方法,我们也可以更低维度的“照片”来表现拥有500个维度的数据点 。
有哪些好用的机器学习和数据挖掘工具?
数据挖掘与机器学习,机器学习与数据挖掘


机器学习和数据挖掘的工具有很多,首先需要确定自己选用的编程语言,比如说Python是一种通用语言,具有高质量的机器学习和数据分析库,非常适合快速原型设计;C是用于CUDA并行计算的中级语言,可以开发在实时约束下直接与硬件交互的驱动程序和软件,应用很广泛;还有R语言,适合统计计算和图形,是统计,可视化和数据分析的语言和环境,可以实现快速数据分析和可视化等等 。
用于数据分析和可视化工具的有pandas,用于增强分析和建模的Python数据分析库;matplotlib,用于高质量可视化的Python机器学习库;jupyter notebook,用于交互式计算的免费Web应用程序,可实时创建代码和共享文档,开发和执行代码;还有Tableau,用于数据科学和商业智能的数据可视化工具 。

推荐阅读