谈谈数据挖掘和机器学习

谈谈数据挖掘和机器学习

又是好长时间没有写博客了,最近周末事情太多,明天劳动节终于可以让我们劳动人民休息一天了。首先声明的是本人并非数据挖掘和机器学习的高手,只是作为业余兴趣刚刚开始研究,据我所知好多朋友也和我一样对这方面的东西感兴趣,个人认为机器人技术是未来发展的方向。虽然我的专业是软件开发,基于Windows的,基于linux的,但是我认为未来的软件开发可能面对的硬件将会是多元化的,适当的了解一下未来的趋势也不为过。

本来想从机器学习开始,但是通过对业内人士的咨询,朋友建议我从数据挖掘开始,通过近一个月的学习,对数据挖掘的基本思想有了些粗浅的认识,分享出来,希望和大家共同快乐,共同进步。在这样的信息爆炸的时代,我希望对每个重要的知识点用一句话通俗的表达出来,既然是入门篇,让大家看明白了最重要。

 

分类和决策树

分类技术要解决的问题是从一批已知的完整记录中学习到一颗决策树或者一个模型,然后应用这个模型对未知的数据属性进行预测或分类。有时候对于一些现实的问题,我们无法通过纯数学的解析式表打自变量和因变量的关系时,我们就可能降低要求,从精确的解析式到模型足够好,可以解释大部分的现象,解决大部分的问题,通过分类技术和决策树就可以解决一部分问题。

 

下面是一个简单的决策树归纳算法实现

 

 1 TreeGrowth(E,F)  
 2   if stopping_cond(E,F)=true then  
 3     leaf=createNode()  
 4     leaf.label=Classify(E)  
 5     return leaf  
 6   else   
 7     root=createNode()  
 8     root.test_cond=find_best_split(E,F)  
 9     令V={v|v是root.test_cond的一个可能的输出}  
10     for 每个v属于V do  
11     Ev={e|root.test_cond(e)=v 并且e属于E}  
12     child=TreeGrowth(Ev,F)  
13     将child作为root的派生结点添加到树中,并将边(root->child)标记为v  
14   end for  
15 end if  
16 return root 

 

 

 

关联分析 

关联分析要解决的问题是通过算法找出隐含在数据中的关联,比如买尿布的人大部分也买啤酒,买啤酒的人大部分也买花生米,有了关联就可以做针对性的广告或者商业分析。

 

聚类分析 

聚类分析要解决的问题是将数据分成内部高内聚,外部低耦合的集合,这样对相似的事物进行分析就会更有针对性。

 

异常检测 

一批数据中总有些数据记录的性质和其他大部分的数据差别很大,对有些分析我们需要找出这些数据并排除其对整体的影响,当然在某些极端的情况下对异常数据的深入研究也是有必要的。

 

入门书籍推荐

 

在咨询了专业的人士之后我得到的推荐是如下这本数据挖掘导论,同时由于数据挖掘在过国内的发展时间不长,好多英文术语没有精确的中文对照,所以对于入门而言,专业人士推荐我中英文对照着看,这样既有效率,又会尽量不脱离原文,估计这本书都看懂了,就应该算对数据挖掘有一点点基本的了解了。学并快乐着,不要梦想一下子成为高手。每天进步一点点,慢慢的你就是高手了。

谈谈数据挖掘和机器学习