这一周主要是围绕两个主题来展开,一个是机器学习的基本概念和KNN算法的基本逻辑。我们先来谈谈机器学习方面。
机器学习的概念与用途及分类。
1.概念,主要区分两个对比,主要参考两个图,但是这个两个概念之间没有明显的界限,有时候会互相影响。
à机器学习V.S.人工智能V.S. 深度学习
à机器学习V.S. 数据挖掘V.S.大数据
2. 机器学习的用途,分为三个方面。
à优化评价指标
à发现规律
à用于预测
3. 分类
à监督式学习(分类,回归)
à非监督式学习(聚类)
其实这两者的区别在于重要的两点,其一是是否有明显的标签用于测试的数据中,其二是否涉及一个分类。
打一个栗子,监督试学习:人脸识别,车牌号识别,语音识别等等;而非监督试学习:数据分析,图像处理等等。
KNN算法的介绍
1. 核心思想
à在一定范围内,找出目标最符合的类别然后进行划分,这个判断方法可以是算两点之间的距离,也可以是在一定K的维度内进行投票,最后划分到投票多的范围内。
2. KNN算法需要注意的点
à物体的特征需要用向量表示否则计算机语言无法识别(此过程叫做Feature Engineering,特征工程)
à需要有一个具体的标签进行分类
à确定方法去算出相似度(e.g.两点之间的距离)
à选择合适的k
3. 重要的概念
à决策边界涉及到如何寻找合适的k,
à这个过程也叫做调参(cross validation),但是在KNN当中参数不属于模型参数,是在模型外一个人工设定的开关。
à有时为了减少数据的误差,会使用特征缩放将数据与数据之间的差异范围缩小,主要是是min-max-normalization以及z-score normalization
总结:
机器学习的概念较容易掌握,但是第一次接触算法还是需要时间去消化,尤其是没有具体的用KNN算法去应用一些场景的application。
Python的库的应用太广泛了,有些时候可能还是需要熟能生巧