文章目录
一、什么是机器学习
机器学习:非显著式编程——利用收益函数使计算机自动学习
机器学习的核心是“使用算法解析数据,从中学习,然后对世界上的某件事情做出决定或预测”。这意味着,与其显式地编写程序来执行某些任务,不如教计算机如何开发一个算法来完成任务。
1.引入:机器学习的四个任务
四个机器学习的任务:(前俩者为同一类,划分标准为经验E)
教计算机下棋:强化学习:让计算机通过与环境的互动逐渐强化自己的行为模式
无人驾驶
垃圾邮件的识别:所有的经验E都是由人工采集并输入计算机的,叫做监督学习
人脸识别
2.机器学习的分类
机器学习算法:监督学习 强化学习
监督学习:
传统的监督学习——每一个训练数据都有对应的标签——支持向量机 人工神经网络 深度神经网络
非监督学习 —— 所有训练数据都没有对应的标签
算法包括:聚类、EM算法、主成分分析
半监督学习 —— 训练数据中一部分有标签,一部分没有标签
监督学习—— 分类 和 回归
分类:标签是离散的数值
回归:标签是连续的数值
3.机器学习算法的过程
1、特征提取和特征选择
2、不同的算法对特征空间(训练结果)维度和标准做不同的划分
3、获得不同的结果 探究不同应用场景下应该采取哪种算法,研究新的机器学习算法以便适应新的场景
4.没有免费午餐定理
这个定理表明没有最完美的算法。所有算法都是建立在先验假设的前提下,才有的优劣之分。
二、支持向量机
1.介绍
线性内核 多项式核 高斯径向基函数核
支持向量机,因其英文名为support vector machine,故一般简称SVM,通俗来讲,它是一种二类分类模型,其基本模型定义为特征空间上的间隔最大的线性分类器,其学习策略便是间隔最大化,最终可转化为一个凸二次规划问题的求解。
2.线性可分与不可分
线性可分:存在一条直线将不同的训练样本分开(二维样本空间)
线性不可分:不存在一条直线将不同的训练样本分开
给定训练样本集 D = ( x 1 , y 1 ) , ( x 2 , y 2 ) , . . . , ( x m , y m ) ) ) , y i ∈ { − 1 , 1 } ,线性分类器基于训练样本D 在二维空间中找到一个超平面来分开二类样本。当然,这样的超平面有很多。
但我们可以直观感受到,这根红色线代表的超平面抗“扰动”性最好。这个超平面离直线两边的数据的间隔最大,对训练集的数据的局限性或噪声有最大的“容忍”能力。
在这里,这个超平面可以用函数 f ( x ) = w T x + b表示。 当 f ( x ) 等于0的时候,x便是位于超平面
上的点,而 f ( x ) 大于0的点对应 y=1 的数据点, f ( x ) 小于0的点对应y=-1的点。
支持向量机寻找的最优分类直线应满足:
1、该直线分开了两类
2、该直线最大化间隔(margin)
3、该直线处于间隔的中间,到所有支持向量距离相等
3.支持向量机算法
1、解决线性可分问题
2、再将线性可分问题中获得的结论推广到线性不可分情况
4.支持向量机算法的优化
优化即对w进行优化
俩个基本事实