一、什么是机器学习?
计算机程序利用经验E(训练数据)学习任务T(要做什么,即目标),性能是P(性能指标),如果针对任务T的性能P随着经验E不断增长,成为机器学习。【这是汤姆米切尔在1997年定义】
大白话:类比于学生学习考试,你先练习一套有一套的模拟卷 (这就相当于训练数据),在这几套模拟卷上能得到差不多的成绩的时候(这个就是在训练数据得到的性能指标P理想),然后去考试(应用到实际生产生活中去)。这就是机器学习的类比。
二、机器学习的好处
传统的编程技术完成的程序会在动态变化的生产环境中难以维护,机器学习容易维护。另一个优点就是机器学习善于处理对于传统方法太复杂或者没有已知算法的问题。可以将机器学习应用到数据挖掘发现数据价值。(知道就好)
三、机器学习分类
- 是否在人类监督下进行训练(其实是是否使用有标签的训练数据进行训练,大白话:学生用的试卷是否带有正确答案)——监督学习、半监督学习、非监督学习、强化学习
- 是否是动态渐进学习——在线学习和批量学习
- 是否建立预测模型——基于实例学习和基于模型学习
1、监督学习
使用带标签的训练数据
重要算法:K邻近算法、线性回归、逻辑回归(其实是分类)、支持向量机(SVM)、决策树和随机森林、神经网络(深度学习是这个的延伸)
2、非监督学习
使用不带标签的训练数据
重要算法:①、聚类:K均值、层次聚类分析(HCA)、期望最大值;②、可视化和降维:主成分分析(PCA)、核主成分分析、局部线性嵌入(LLE)、t-分布邻域嵌入算法(t-SNE);③、关联性规则学习:Apriori算法、Eclat算法
3、半监督学习
使用大量不带标签数据加上小部分带标签数据
大多数是监督和非监督算法的结合——深度信念年网络(deep belief network)是基于受限玻尔兹曼进行非监督训练,在进行监督学习训练。
4、强化学习
和前几种非常不同,更像是一个反馈网络,通过奖励和惩罚完成学习。
无论选择那种学习方法,一个典型的机器学习流程就是:研究数据、选择模型、使用训练数据训练、使用训练出来的模型对新数据进行预测。
四、机器学习挑战
数据质量较差、过拟合和欠拟合。