什么是数据?什么是数据?这几乎成了我们视而不见的问题。很多朋友的脑海里可能都有一个“数字”这个词——“数字就是数据”,相信有的朋友会这么坚定的告诉我。有些朋友想一想就会回答,“数字和字符,字母,这些都是数据”。不知道你是纠结于哪个答案更正确,还是第二个答案更合理,暂且搁置。先看下面这组例子:这里有6个0,是数据吗?我们再看这个例子:这里有4个1和2个a,那是数据吗?也许你会摇头,“这到底是什么意思?”是的,这是理解数据过程中非常致命的一个问题,差点在我们出发的时候挡住了我们的去路。如果我们回过头来想一想刚才的问题,我们可能会得到对自己和他人更有说服力的答案。“携带信息的东西”是数据。也就是说,不管是刻在石头上的画,还是孩子歪在沙滩上写的字迹,亦或是嬉皮士在墙上的涂鸦,只要表达了某种确定的意思,那么这种符号就可以认为是数据.没有信息的符号不是数据。这个观点似乎比我们之前的回答要理性和科学得多,但是这个观点真的需要补充吗?我们假设这两个例子有一些特殊的场景,假设第一组出现的6个零实际上是小时、分钟和秒的简写。000000表示00:00:00,写成112349则表示11:23:49。也是数据吗?假设第二组出现5个1和2as其实是一组密码,5个1代表约定的地方,aa代表约定的事件,那么这组数字和字母的意思就已经被解读出来了,那么是不是也是呢关于数据?不难看出,一些符号要想被识别为数据,就必须携带一定的信息。这些信息很可能是由场景和解释者的认知决定的,所以一些符号是否可以被视为数据取决于解释者的主观视角。我不知道你是否同意这个观点,但这很重要。什么是信息说到这里,我的同事娟娟很严肃、一本正经地告诉我:“我认为数字、字母、图像都是数据,与信息与否无关。“看她和我认真的争论,我觉得挺好的,至少在理解数据的过程中积极思考是好的。信息这个词其实有很多没有学术背景的解释,比如广播里的声音,互联网上的信息,通信系统中传输和处理的语音对象,甚至社区和校园中的留言板,也就是人类社会中交流的一切。1948年,数学家克劳德·艾尔伍德·香农发表了一篇题为《通讯的数学理论》的论文论文指出:“信息是用来消除随机不确定性的东西。”如果我们举个例子来解释这句话,我们大概可以想象这样的场景。我说了两句话:“我今年33岁。’‘我明年就34岁了。”那如果第一句话是给不认识我的人介绍我的年龄,可以算作信息的话,第二句就不算信息了,至少你会觉得,第一句之后,后一句简直就是……废话,因为从第一句话就可以推断出来。再比如,有一天巴西队和中国队打了一场比赛,结果第二天张三跟我说,“巴西队昨天赢了。”然后李斯告诉我,“中国队昨天输了。”然后王舞告诉我,“昨天的比赛不是平局。”前提是,只要他们说的都是实话,那么对我来说,只有张三说的。我可以算作信息,李斯和王舞说的话不能算信息。就连张三说的“巴西队昨天赢了”这句话到底能不能算作信息,我们都存疑,因为它也有一点“废话”的意思——但稍微懂点足球的人几乎可以确定,就算你不说我昨天赢了巴西队,我也能猜的很接近十,因为可能性太大太大,几乎可以肯定,几乎是不容置疑的。国足球迷请放下你的臭手鸡蛋和烂番茄,我把这个例子说完。现在是不是更清楚什么是信息了?我们可以粗略地认为,信息就是那些描述我们所不知道的事情,而我们已经知道或知道的允许我们再次“知道”,被告知的内容不再是信息。这个概念很有用,后面讲信息论的时候会做定量的解释。现在只做定性的理解。数据和信息是泉我们在数据挖掘和机器学习领域每天都在打交道,也是我们研究的主要对象。因此,对数据和信息的更一致的理解,对我们后面讨论问题是非常有益的。什么是算法算法?这个名字大家应该都不陌生。如果你是信息类专业的本科生,至少在本科一年级或者二年级的时候就已经接触过很多算法了。只需打开一个人力资源网站并搜索“算法工程师”即可。一个好的算法工程师的年薪,动辄三五百万甚至上百万。什么是算法?算法可以理解为“计算方法和技术”。计算机中的算法,大部分是指一个或几个程序,告诉计算机用什么逻辑和步骤来处理数据和计算,然后得到处理的结果。信息类专业出身的朋友看到??这里会更加亲切。经典的算法有很多,比如“冒泡排序”算法,这几乎是《数据结构》初学者基于高级语言的必学;又如“八皇后问题”算法,这几乎是我们讲穷举计算时的一个经典保留算法案例(就是把八个皇后放在棋盘上可以无限前进,让它们互相不能到达.攻击,看有多少解);我们听说过的算法有很多,比如MD5算法、ZIP2压缩算法等算法不胜枚举。下图是八皇后问题的一组解法。经过穷举,我们可以找到所有92组解决方案。应该说算法是数据处理的灵魂。如果说数据和信息是原始食材,数据分析的结论是菜肴,那么算法就是烹饪过程;如果说数据是玉石,数据中蕴含的知识是无价之宝,那么算法就是玉石的研磨加工机床和工序。经过高级语言多年的发展,算法更多地封装成独立的函数或独立的类,开放接口供人们调用。但是,不管算法封装得多么好,也不能不假思索地使用。事情,你知道的,这些包裹只是在一定程度上阻止了我们重新发明轮子。不要认为算法都是算法工程师的工作,与普通程序员或分析师无关。算法最终是理解处理逻辑的问题。《孙子兵法·作战篇》有句话叫“不知用兵之害,不知用兵之利”,也就是说,不充分了解用兵打仗的好处,也是不可能的。了解用兵打仗的利弊。知道。算法的应用是一个辩证的过程,不仅因为不同算法的比较和搭配存在辩证关系,而且在同一个算法中,不同的参数和阈值设置也会带来截然不同的结果,甚至影响科学性数据解释的性质。请注意这一点。Statistics,probabilityanddataminingStatistics,probability,datamining,这几个词经常一起出现,尤其是statistics和probability这两个概念,几乎就像自然界中的关联矿一样密不可分。很多出版社都出了一本书,叫做《概率统计》books。我们这本书本身并不打算从学术的角度对统计学和概率进行严格的区分。我们在日常工作中使用的大多数统计数据都是计数函数。比如我们在使用EXCEL的时候也会用到COUNT、SUM、AVERAGE等。这些统计功能;如果做软件开发的朋友用SQL语言对数据库的某些字段进行计数(count)、求和(sum)、平均(avg)等函数。概率的大部分应用,都是根据样本的数量和比例,得到“可能性”、“分布比例”等描述性数值。当然,概率的用处远不止于此,数据挖掘中也使用了大量与概率相关的算法。数据挖掘这个词经常和机器学习一起出现,现在网上人们对这两个词的关系也没有达成共识。有人说数据挖掘包括机器学习,也有人说机器学习是数据挖掘发展的更高阶段。在我看来,数据挖掘、机器学习等词的命名应该是信息科学的自然演化和衍生,带有一定的约定俗成色彩,人们有不同的看法也是情理之中的。我的观点是这样的。首先,我认为没有必要在这两个术语之间划清界限,或者对它们进行严格的概念区分,因为区分的标准迄今为止还没有科学的、没有争议的定义,也不是可以区分一个算法是属于数据挖掘还是机器学习的范畴,对算法本身的使用没有影响。如果你想听听这两个词的解释,从字面上理解就可以了。数据挖掘——首先要有一定数量的数据作为研究对象,挖掘——顾名思义就是表明有一些东西表面上看不明白,需要进行深入研究、比较、筛选等规律或知识,“挖掘”二字表现得淋漓尽致。机器学习——我们首先想一想人类学习的目的是什么?就是掌握知识,掌握能力,掌握技能,最终能够胜任更复杂或要求更高的工作。然后类比机器,我们让机器去学习,不管它学什么,最终目的是让它独立或者至少半独立的完成相对复杂或者要求高的工作。我们这里说的机器学习,更多的是让机器帮助人类做一些大规模的数据识别、整理、规则总结,这些都是人类需要时间去做的。但是请注意,与数据挖掘一起出现的机器学习的概念,离我们所说的“人工智能”还差得很远,因为这里对“智能”的重视程度太低了。什么是商业智能另外一个经常和大数据一起出现的词汇就是商业智能,也就是我们通常所说的BI(BusinessIntelligence)简称。商业智能——业界比较认可的说法是Gartner集团于1996年首先提出的商业概念,通过应用基于事实的支持系统来辅助商业决策。商业智能技术提供了使企业能够快速分析数据的技术和方法,包括收集、管理和分析数据,并将这些数据转化为有用的信息。如果这个书本式的概念还是难以理解,那就听个形象比喻吧。公司在日常经营过程中需要做出很多决策,这些决策无时无刻不存在于公司的方方面面,而最终的决策可能会受到很多因素的影响,无论是在股东大会上的讨论股东或公司领导直接下达的行政命令。共同影响结果,无论是主观的还是客观的。如何做出这些决定?领导者可以直接根据经验做出决策;他们可以集思广益并召开会议做出决定;他们可以咨询很多行业专家;显然,我们都期待,无论这些决策和命令最终如何做出,都应该更加理性、科学、正确。但如何帮助他们做出更理性、更科学、更正确的决策呢?商业智能作为一个整体是一个研究课题。迄今为止,业界普遍接受的方法是基于大量数据进行定期分析。因此,市场上大多数成熟的商业智能软件都是基于数据仓库进行数据建模和分析,以及数据挖掘和报告。可以说,商业智能是一个具体而庞大的应用领域,也是数据挖掘和机器学习应用自然而亲切的场景。而且,商业智能的问题解决理念不仅可以应用于商业,还可以应用于国防军事、交通优化、环境治理、舆情分析、天气预报等领域。
