1:)什么是机器学习?
举个例子,情人眼里出西施,每个人都有自己喜爱的外貌类型(我指的是第一眼印象),给出任何一张陌生人照片给你看,你都可以给出 a:)哇!好看 b:)平淡 c:)丑 d:)讨厌 的四种情绪。那机器可不可以根据对你的分析,来判断你对某张照片的态度呢?当然是可以的,机器一般需要这样做:
首先提取决定你第一眼印象的所有特征,比如:
发型 | 脸型 |肤色 | 眼睛 | 鼻子 | 嘴巴
然后,给出20张照片,让你说出自己的感受,并得到以下结果
发型 | 脸型 | 肤色 | 眼睛 |鼻子 | 嘴巴 | 你的反应
长 | 方 | 黑 | 细长 | 塌 | 大 | 平淡
短 | 方 | 黑 | 细 | 挺 | 小 | 帅
。。。。。
。。。。。
这20张照片我们就把它叫做 “训练集”,而训练集中的每一条记录叫做“实例”; 每条记录里的数据,我们把它叫做“特征向量” ; 而每条记录的结果“你的反应”, 也有个专业名词,叫做“标记”, 当然了,这些专业术语,如果你不是做开发的,就无需去管它。
有了这20条记录构成的训练集,可以构建一个初步的算法对应,比如“决策树”,等,当然这些都不重要,早在1970年开始,这些算法就非常成熟了,现在直接可以拿来用了。
然后,当有一张新的照片出现时,根据训练集里的数据总结出的算法,就可以推论你的态度,这就是整个机器学习的过程。
对开发人员来说,特别是对苹果开发人员来说,可真是福气大了,可以说完全不需要了解任何相关算法,只需要知道几本的术语,就完全可以借助官方API开发强大的AI 应用了,这点,我在后续的教程中会有详细的案例阐述。