这个标题不是多打了重复的字,而是我近期确实在学习一个叫机器学习的玩意,以下是一点随记。
一个比喻
如果用比喻来解释机器学习,大致等于庖丁解牛。《庄子·养生主》中,庖丁非常漂亮地宰了一头牛后,对下巴掉在地上的文惠君说,"臣之所好者,道也;进乎技矣。始臣之解牛之时,所见无非牛者;三年之后,未尝见全牛也。"
普通宰牛人一个月换一把刀,高级宰牛人一年换一把刀,庖丁十九年没换过刀。
庖丁一开始看到的牛跟我们普通人看到的牛没什么区别。但屠宰一万头牛之后,庖丁看到的牛已经是骨骼、肌肉、筋脉以清晰明确的分界线组合在一起,所以每一刀下去,都是在精准地分开牛身体的不同部分,刀子并没有真正切割什么东西,而是游走在本来就存在的分界线上。
给机器学习的模型(有很多种)投喂数据,就是让庖丁大量宰牛。数据越多,牛的分解就越清晰容易,庖丁换刀的间隔也就越久。
近期笔记
"I have also learned not to take glory in the difficulty of a proof:difficulty means we have not understood. The idea is to be able to paint a landscape in which the proof is obvious." --Pierre Deligne
(以上引用是我偷的,实在眼红好书都有章节前的引用。以下笔记没能把想表达的内容用人话说清楚,不是内容太难,而是学习者理解程度不够)
笔记内容如下:
机器学习的基础是回归分析,基于大量的已知数据,识别数据与数据之间的关系和规律,用来分析预测后续收集到的数据。
机器学习主要分为导向型学习和非导向型学习,前者是指事先已经明确通过分析要得到的目标结果有清晰定义,后者在分析完成前并不知道具体会有什么结果。
目前阶段的学习的主要是导向型机器学习,主要操作步骤如下:
1、读取已知的数据
2、了解已知数据包含哪些息维度、各维度信息的性质
3、剔除非数值类信息,用剔除或内插的方法处理信息不完整的数据条目
4、将处理后的数据切分成两部分,一部分用来“投喂”我们选择的机器分析的模型,另一部分用来验证“投喂”后得到的模型
5、建立验证需要达到的标准,投喂,验证
6、用通过验证的模型,预测其他数据样本的结果
需要提升
对pd.DataFrame的各种搓圆捏扁的操作目前仍过目就忘,处于能看懂、不能随时拿出来用的程度。
对DecisionTreeRegressor等常规模型的原理了解得太少,仅处于拿来能用的阶段。
对于非数值类信息的分析仍需进一步了解学习。
多说一句
有时候有人问我到底是干什么的,其实我是个搞地图测绘的。在这么个复杂而广阔的世界上,我在愚公移山式地为一个人探索这世界上知识的种类和边界,画出我能看到但可能(很可能)不能去到的高峰和峡谷。毕竟苏轼曾经曰过的,书到今生读已迟。
让我读你上辈子该读的书吧。