对比人类学习,给出机器学习的框架即:机器通过送给它的数据,利用学习算法,能够解决某个问题,或者改善某种预测。
使用ML的条件:
1.数据内部存在某种可以学习的模式
2.传统方法很难定义的问题
3.一定有输入数据(data)
机器学习的基本概念(以申请信用卡为例):
其实机器学习最终就是得到与f最接近的g,而更直观一点的图如下所示:
其中的Hypothesis set 就是g的取值域。
二元分类器
定义问题(还是申请信用卡)
x代表用户的特征,比如:年龄、收入、工作年限、负债等。
w代表各个特征所占的权重。
threshold代表发放信用卡的最低得分门限。
h即每一组x对应是否发放信用卡,其中得分为0,忽略掉,可以认为输出只有+1,-1
经过推导可以变换为向量形式:
当x是二维向量时,h(x)的形式可以认为是一条直线,直线上的点大于零,直线下的点小于零,Hypothesis set 就代表平面上任意直线。
g对应h,这个问题本质上就是寻找一条直线,可以恰当分割输入数据。
假如输入数据线性可分,可以使用PLA(Perceptron Learning Algorithm)算法,,PLA本质上就是“知错能改”,每次
迭代中使用不符合条件的点更新直线,直到最后找到一条直线,可以将所有data正确分类。
机器学习分类
按照输出空间不同:二元分类,多元分类,回归分析(输出一般是实数空间R),结构学习(比如语义分析)
按照样本data是否给出输入输出的关系:监督学习(给出所有data的x~y的对应关系),半监督学习(给出部分x~y对应关系),非监督学习(不给出data的关系),强化学习(存在辅助的标记,比如线上广告系统)
按照学习的策略:batch learning(批次学习,被动),online learning(在线学习,被动),active learning(主动学习,主动询问的交互方式)
按照样本data的特征:concrete features(具体特性),raw feature(计算机不能直接使用的特征但能够处理,比如,图像像素,音频信号),abstract feature(抽象特征,需要人为抽取出具体特征,才能交给机器)