👏 Hi! 我是 Yumuing,一个技术的敲钟人
👨💻 每天分享技术文章,永远做技术的朝拜者
📚 欢迎关注我的博客:Yumuing's blog
本文将介绍关于机器学习的基本认识与相关展望,达到基本了解机器学习相关的知识体系。并且了解机器学习相关的几大领域:数据挖掘、人工智能的异同点。
注:学习自林轩田机器学习基石(国语)
1.1 机器学习的目的
把资料(巨大数据)进行处理(使用某些技巧),从而获得某些方面的提升(提升表现的程度、投资收益)
1.2 机器学习的应用
1.2.1 理解机器学习怎么解决问题
如果一个人类来辨识一颗树,也是通过大量的关于树的数据进行训练,即使是无意识的训练(正常来说,三岁小孩子就可以做到)。而如果要通过一个处理程序来实现一个辨认图像主体是不是一颗树的话,(不采用机器学习)往往需要通过数百行代码量以及明确的图像主体特征定义才可能实现,但效果也不一定尽如人意。更何况,世界并不是一定能够由一个个程序,一个个特征去完美定义的,也就是说,有时候确实想不到怎么使用一个无关机器学习的程序去完成某些处理程序。
机器人上火星,情况众多,无法完全定义每一条规则去涵盖所有情况,于是,传统方法是可能无法实现的。可能就需要机器通过学习的方式进行情况辨别。
声音的辨别也是为难计算机界很久的一大问题,因为,怎样去定义声音,怎么样去理解声音,乃至理解语言。
某些人类所无法预测的现象或者短时间判断,人类本身就无法去完成、思考,根本无法使用规则去覆盖。
机器学习就像一条鱼,你每天都去教它怎么去游泳,并且,告诉它游得怎么样,从而慢慢让它完成真正想要做的事情。
1.2.2 机器学习在生活中的实际应用
通过推特上的视频进行学习,从而发现顾客去一个餐厅存在食物中毒(卫生状况)的可能性。
通过调查符合预期的顾客喜欢怎么搭配衣服,以及对一些穿搭的图像的打分数据,推荐顾客怎样搭配衣服才符合大众审美要求。
通过已经完成判断能耗情况的建筑的特征数据,预测建筑能源消耗情况,进而达到节能减碳的作用。
通过真实道路上的交通标志图像以及表达的意味的综合数据,来提高无人驾驶汽车辨认交通标识的准确。
通过一个学生答题系统收集学生对于问题的理解、解决的情况,从而调整问题,从而提高学生的答题效率以及正确率。
机器学习解决学习系统的问题可能可以采用,通过提供三千个学生对九百万的答题数据给与机器学习程序,让机器学习程序进行(逆向工程)判断这些数据中学生的学习情况究竟怎么样,并且给出问题的难度程度。
通过对于大众对于大量电影的喜好程度(电影打分),系统推荐使用者某些电影(可能是使用者还没看过的电影,但包含某些他可能喜好的元素,所以被推荐),并且这些电影是符合使用者的喜好的。
基本上机器学习的推荐系统都是通过学习我们对于某些事物的喜好,而人类的喜好可能可以概括为事物的吸引人的特征(目标函数f),可能采用的机器学习模型就是将人类的特征打分数据与电影的特征数据(训练数据D)进行内积,结果越高,越有可能被推荐。利用这些收集的推荐数据(假说公式g),反推某个个体(输入数据)可能的喜好数据,从而进行个体上的推荐(输出结果)。
补充一下:
- 推荐过程可以说是大众与事物特征的关系过渡到个体与事物特征的关系的一个过程
- 向量的内积(也叫点积) - 小小喽啰 - 博客园 (cnblogs.com)
1.3 什么时候使用机器学习
1.3.1 某些目标
机器学习程序在进行的过程中,必须存在一个合理化,可定义的目标或者规则,这样,机器才能够朝着某个实际问题的解决方向去靠近。
辨认问题
分析风险
预测问题
优化问题
······
1.3.2 无法描述、定义的规则以及足量的数据规模
机器学习对于某些无法描述的,无法去给去优化方案但能够确定优化目标的一些问题,往往会有意想不到的奇效,比我们死板的去设计程序,定义错综复杂的处理规则,要来的方便且有效。
但可惜的是,机器学习解决问题也需要足量且尽可能涵盖问题可能涉及的数据来进行相关的训练,毕竟机器学习也不是万能的。
1.3.3 相关小练习
以下问题,哪些能够较好适用于机器学习?
- 判断婴儿未来啼哭是在奇数时间段,还是在偶数时间段
- 判断一个抽象图像内是否存在一个圆圈
- 作为一个银行主体根据某些风险,判断是否给与某些客户一张信用卡
- 预测使用核能是否会导致未来地球会毁灭。
解释:建议问题三进行机器学习预测
- 存在目标,却没有具体的规则条件去确定发生的环境(时间、地点、人物等等,如果是预测上述问题与某个具体环境条件影响下,导致啼哭在奇数或偶数时间段,还可采用机器学习来训练,数据来源婴儿生活视频)
- 可以轻易的采用程序去完成该问题,无需采用机器学习的方法去进行
- 采用其他程序,可能需要面对庞大的数据以及无法定义的数据跟解决问题的相关关联规则,采用机器学习的话,既存在给与信用卡与否的学习目标,并且银行存储有过去十年信用卡客户使用情况数据,可以很好地充当解决该问题的合理足量数据。
- 没有足够的数据来推论未来十年地球是否会毁灭,比方说,足量的由于核能导致的地球灾变,以及导致地球灾变的原因,或者说地球灾变的具体表现形式,进而说明可能导致地球毁灭。
机器学习在财经(预测股票涨跌,还在发展,效果不佳)、医药(预测药物)、法律(生成文书摘要)等等领域都一直在大放光彩
1.4 机器学习的符号表达
1.4.1 结合信用卡案例理解机器学习的通用符号表达
如果要解决以上问题,我们要怎样开始机器学习呢?程序是一个逻辑世界,需要把现实问题抽象化表达,而这也就涉及到机器学习领域一些通用的符号表达方式,结合案例进行说明。
符号 | 解释 |
---|---|
X | 输入数据(客户申请数据,也就是需要进行判断的数据) |
Y | 输出数据(发卡结果,将输入结果转换为最终答案) |
f | 目标函数表示 X -> Y(目标函数,无法简单描述的规则,中间过程) |
D | 训练资料(往年信用卡客户数据资料) |
g | 假说公式,用来衡量客户发卡的具体凭据,g 和 f 越像越好 |
注:机器学习解决问题,需要一个完美表达的目标函数,即 f ,由于正是 f 无法被完美表达,但我们可以使用 g 来接近,通过足量的数据与演算算法的改进,尽可能使得 g 越接近 f。
结合信用卡案例说明,可能机器学习可能在如下几个假说公式挑选或者组合:
$$g \in H = {h_k}$$
$$ h_1:个人年收入\geq180000 (十八万)人民币$$
$$h_2:负债 \geq 200000(20万)人民币$$
$$h_3:工作年份\leq2年$$
······
最后,机器演算法如何给出具体的假说公式,得由具体数据与条件决定,这里仅仅只是说明一下,方便理解。
机器学习就是从数据 D 出发,计算出一个接近目标函数 f 的假说公式 g,从而预测新输入数据 X 对应的输出数据 Y。
1.4.2 相关小练习
分别判断 X、Y、D、g、f
从 $s_3$ 和题目的描述,很简单看出这是目标函数 f,并且这是一道关于歌曲推荐与歌曲因素的关系,而参照其它几个公式,可以看出歌曲因素与用户 ID、歌曲 ID 以及歌曲评价有关。$s_2$ 的表达为可能的用户 ID 和歌曲 ID ,不难推测它可能是输入数据或者训练数据,与 $s_4$ 对比,百万个用户 ID 和 歌曲ID集合与歌曲评价的结果集合,进一步验证了,$s_2$ 为输入数据,而非训练数据(单个数据量不够训练,找出假说公式),$s_4$ 为训练数据,故而,$s_1$ 为歌曲推荐指数,使用 0 到 100 的分数区间来打分,即为输出结果。综上,得出问题结论。
1.5 机器学习与其他领域的异同点
1.5.1 机器学习与数据挖掘
机器学习与数据挖掘有时是同为一体的关系,有时是互为辅助的关系。他们非常相像,又密不可分。如果数据挖掘的目的是为了找出某些事物的关系等等一些在特定应用场景下的有趣或者有用的方面的话,机器学习可能是实现数据挖掘的绝佳工具,此时,它们就是同为一体的。(KDDCup 比赛既是数据挖掘比赛,有时又是机器学习比赛)如果,数据挖掘的目的是为了进一步地探讨数据之间的各种特质之下,我们能够去更好地分析,此时,机器学习就是数据挖掘的辅助者,是完成数据挖掘的强大工具。当然,也不是说,数据挖掘与机器学习完全分不开,数据挖掘有时候更为注重于在庞大的数据中寻找更优秀的处理数据以及计算的方法,此时,机器学习可能就不是一个美好的方向了。(目前,精通数据挖掘的往往在机器学习领域也颇有造诣)
1.5.2 机器学习与人工智能
人工智能,通俗讲就是利用计算机完成某些智能化(蕴含智慧的)的行为,并且这些行为并不是重复式的,是能够根据某些条件做出某些修正的。而机器学习也是当下认可的实现人工智能的极佳方法。怎么实现的呢?比方说下棋这一行为,可能的做法就是通过让机器在大量已有的棋局之下不断地尝试破局,并且设计更好的演算法,让机器不断训练,摸索棋局优胜或者失败的结果,避免导致棋局失败的情况,最后,将训练结果,与真正的下棋高手进行对弈,尝试优化训练结果。(当然,这是理解思路,实际训练思路会更为复杂)
1.5.3 相关小练习
数据挖掘绝对与机器学习不是一模一样的学科,它们存在一些方向的差异。