没有免费的午餐定理
任意两个算法,他们的期望性能是相同的。具体到某个特定问题,有些算法可能更好。但没有一种算法,绝对比另一种算法好。 =》 脱离具体问题,谈哪个算法好是没有意义的。在面对一个具体问题的时候,尝试使用多种算法进行对比试验,是必要的。
数据
数据驱动
使用机器学习处理的大多数任务都是数据驱动型(高度依赖数据本身的质量)。
方向
收集更多的数据
提高数据质量
提高数据的代表性
研究更重要的特征
鸢尾花数据集
https://en.wikipedia.org/wiki/Lris_lower_data_set
包含150个数据信息
对于每一个数据信息有4个方面的信息:sepal length\sepal width\petal length\petal width
种类:lris setosa\Iris versicolor\Iris verginica 用数字表示不同种类:0\1\2
数据集 data set
数据整体叫数据集
样本 sample
每一行数据称为一个样本
特征 feature
除最后一列,每一列表达样本的一个特征(即为“属性”)
对于每一个样本,都是由不同特征描述的。
特征不一定拥有语义。
标记 label
最后一列,称为标记。
特征向量 X(i) X ( i )
特征空间 feature space
每一个样本就是一些特征所组成的空间中的一个点。
机器学习算法分类
监督学习 supervised learning
给机器的训练数据集拥有“标记 label”或“答案”。(图像拥有了标定信息。)
MNIST数据集:对于每一个图片信息,附上一个标记信息 0~9。既有数据特征,又有数据对应的标记。人类对给机器的数据进行了正确答案的划分,作为监督的信息。
例
银行已经积累了一定的客户信息和他们信用卡的信用情况。对一个没有信用卡信用情况的用户预测信用情况。
医院已经积累了一定的病人信息和他们最终确诊是否患病的情况。对于没有最终确认结果的病人,预测最终患病情况。
市场积累了房屋的基本信息和最终成交的金额。
基本任务
分类classification
回归regression
算法
K近邻
线性回归和多项式回归
逻辑回归
SVM
决策树和随机森林
非监督学习
给机器的训练数据没有任何“标记”或者“答案”。
任务
- 对没有“标记”的数据进行分类——聚类分析。
- 对数据进行降维处理:①特征提取:剔除无关特征; ②特征压缩:尽量少的损失信息的情况下,将高维特征向量压缩成低维的特征向量。PCA算法。
意义:①数据可视化,对数据理解。②异常检测
例
电商网站根据留下的足迹,为客户群体分类。
半监督学习
一部分数据有“标记”或“答案”,另一部分数据没有
各种原因产生的标记缺失。通常都先使用无监督学习手段对数据做处理,之后使用监督学习手段做模型的训练和预测(回归等)。
增强学习
根据周围环境的情况,采取行动,根据反馈(reward机制),学习行动方式(改进行为模式)。
其他分类
在线学习和批量学习(离线学习)
批量学习 Batch Learning \ 离线学习
投入到生产环境后,不考虑通过新数据优化模型。
优点:简单
问题:如何适应环境变化?学习的内容随着时间的变化有可能是在不断变化的(如:垃圾邮件处理,新的种类的垃圾邮件层出不穷)
解决方案:定时重新批量学习。缺点:每次重新批量学习,运算量巨大。
在线学习 Online Learning
如股市价格。
将新的正确结果、预测结果和正确结果差异等信息迭代进机器学习算法,来训练并改进模型。
优点:及时反映新的环境变化。也适用于数据量巨大,无法进行离线学习的环境,按小批进行学习。
问题:新的数据带来不好的变化?非正常数据等,降低模型正确率。解决方案:加强对数据监控(非监督学习:异常数据检测)。
参数学习和非参数学习
参数学习
二维特征空间中,基于数据点,假设关系(如:线性关系 f(x)=a*x+b),寻找合适的a\b参数。
一旦学到了参数,就不再需要原有的数据集。
非参数学习
不对模型进行统计上的假设
非参数不等于没参数。
classification
分类任务(“种类”划分)本质:就是在特征空间切分
在二维空间的方法可以无缝推广到高维空间。
图像
每一个像素点都是特征feature
- 保存为三个矩阵值(对应于 red \ green \ blue 三颜色通道),若输入图片为28px*28px,矩阵保存三颜色像素的亮度,每个矩阵大小28*28。
- 提取像素值,放入特征向量X(特征向量X表示这张图片),维度为 nx=3∗28∗28 n x = 3 ∗ 28 ∗ 28 。
- 多个图像时,转化为矩阵,由列向量堆叠,矩阵大小 m∗nx m ∗ n x 。标签 Y=[y(1),y(2),…,y(m)],y∈[0,1] Y = [ y ( 1 ) , y ( 2 ) , … , y ( m ) ] , y ∈ [ 0 , 1 ] ,大小1*m。
- 用 (x(m),y(m)) ( x ( m ) , y ( m ) ) 表示一个单独的样本的输入和输出。训练集: {(x(1),y(1)),(x(2),y(2)),…,(x(m),y(m))} { ( x ( 1 ) , y ( 1 ) ) , ( x ( 2 ) , y ( 2 ) ) , … , ( x ( m ) , y ( m ) ) }
- 预测值 y^=P(y=1|x) y ^ = P ( y = 1 | x )
MNIST数据集
样本:每一个手写数字图像就是一个样本。
拥有28*28=784个特征(像素点),值对应每一个像素点灰度值深浅。
任务
二分类 binary classification
图像识别
多分类
数字识别、多类别图像识别、风险评级、复杂问题转换(2048、围棋、自动驾驶)
多分类转换成二分类
一些算法只支持完成二分类任务
多标签分类
regression
结果为连续数字的值,而非类别,如:预测“价格”。