Python机器学习笔记(一):概述

 

大一暑假学习热情颇高却又贪多求快,囫囵吞枣地花了几天刷了一遍Python机器学习入门课程,很快就什么都不记得了。之后一年半多,也没有什么需要用到机器学习的地方,加上断断续续学了C++,连Python语法都快忘光了。

时隔近两年,这个blog要重新更新了。这次会在三周内更新完Python机器学习的内容,再花三个月左右的时间另起blog,更新吴恩达机器学习课程笔记和深度学习基础部分。希望Flag不倒!

注:本blog经过整理、简化,以便我自己复习和查找。下面两篇Blog课程笔记copy的比较全,可供听课时参考(以节约笔记时间)。

https://blog.csdn.net/linzch3/article/details/72884130

https://blog.csdn.net/linzch3/article/details/76098501

下载 & 安装:

如果安装了anaconda,可以直接从命令行进入环境,conda install scikit-learn,即可下载sklearn库及相关库。不需要按照顺序一个个安装。anaconda安装教程推荐:https://www.zhihu.com/question/58033789

sklearn库的基本功能:

sklearn库的共分为6大部分,分别用于完成分类任务、回归任务、聚类任务、降维任务、 模型选择、数据的预处理。

课程主要介绍:分类任务、回归任务、聚类任务、降维任务。

课程组成

  • 无监督学习 (Unsupervised Learning)
  • 监督学习 (Supervised Learning)
  • 强化学习(Reinforcement Learning,增强学习)

 

1. 无监督学习典型任务:聚类、降维

聚类:根据数据“相似性”将数据分类,通常通过计算样本之间的“距离”来评估“相似性”。最常用的是欧式距离,此外还有马氏距离,曼哈顿距离,余弦距离等。

聚类函数:【sklearn.cluster模块】K-Means,DBSCAN

Python机器学习笔记(一):概述_第1张图片

大多数聚类算法需要指定聚类的数目, DBSCAN是少数不需要指定聚类数目的算法之一。

  • K-means:对簇中心的初始化比较敏感
  • DBSCAN:它可以发现使用K均值不能发现的许多簇,但不适合密度变化太大的数据。因为密度定义比较困难,对高维数据该方法存在问题。

降维:保证数据特征或分布前提下,将高维数据转化为低维数据。

降维函数:【sklearn.decomposition模块】PCA,FastICA,NMF,LDA

Python机器学习笔记(一):概述_第2张图片

降维方法通常用于高维数据集的探索与可视化,降维过的数据可以为其他任务作数据准备。

 

2. 监督学习的典型任务:分类、回归

利用一组带有标签的数据,学习从输入到输出的映射,然后将这种映射关系应用到未知数据上,达到分类或回归的目的。

分类:输出是离散的。分类模型基于一组带有表明这些数据(观察)所署类别的标签的训练数据(也称观察和评估),训练模型参数,学习出一个适合这组数据的分类器,以分类未分类的新数据。

分类函数

  • k近邻(knn)
  • 朴素贝叶斯(naivebayes)
  • 支持向量机(svm)
  • 决策树 (decision tree)
  • 神经网络模型(Neural networks)

PS. 初学者经常会将分类问题和聚类问题混淆,而训练数据有无标签是区别这两个问题的关键。

分类学习-训练集/测试集的划分方法

根据已有标注数据,随机选出一部分数据(70%)数据作为训练数据,余下的作为测试数据,此外还有交叉验证法,自助法用来评估分类模型。

分类学习-评价标准

Python机器学习笔记(一):概述_第3张图片

  • 精确率 = 正例且预测为正 / 预测为正
  • 召回率 = 正例且预测为正 / 正例
  • 准确率 = 预测正确 / 所有样本

回归:输出是连续的。了解两个或多个变数间是否相关,研究其相关方向与强度 。适合对具有时序信息的数据进行预测或者趋势拟合,常用在金融及其他涉及时间序列分析的领域。

回归函数:

【sklearn.linear_model 模块】线性回归函数:普通线性回归函数( LinearRegression)、岭回归(Ridge)、Lasso

【sklearn.preprocessing 模块】非线性回归函数:多项式回归(PolynomialFeatures)

 

3. 强化学习:试错学习

强化学习是程序或智能体(agent)通过与环境不断地进行交互,在各种环境下尽量尝试所有可选动作,通过环境反馈(即奖励)判断动作优劣,从而获得环境和最优动作的映射关系(即使得累计回报最大化的策略)。

传统强化学习模型

  • model-based:
    • 马尔可夫决策过程
  • model-free(不依赖于环境建模):
    • 蒙特卡洛强化学习(多次采样求平均累计奖赏作为期望累计奖赏)
    • Q-learning算法

深度强化学习(DRL)

  • Deep Q Network(DQN)

你可能感兴趣的:(Machine,Learning)