python机器学习简单介绍

机器学习

概论

  1. 基本分类:监督学习(分类,回归),无监督学习(聚类,降维),半监督学习(部分标注数据和大量未标注的数据),强化(增强)学习,深度学习(基于神经网络的分类和回归),迁移学习(在缺少数据的情况下,将其他领域知识迁移到另一个领域),结构化学习(输出的是对象,除了回归和分类以外的问题,如信息检索,对象匹配)

  2. Sickit-learn常用函数分类

    | | 应用 | 算法 |

    | --------------------------- | -------------------- | --------------- |

    | 分类(Classification) | 异常检测,图像识别等 | KNN,SVM |

    | 聚类(Clustering) | 图像分割,群体划分等 | K-means,谱聚类 |

    | 回归(Regression) | 价格预测,趋势预测等 | 线性回归,SVR |

    | 降维(Dimension Reduction) | 可视化 | PCA,NMF |

  3. 相关书籍和课程:机器学习周志华,PRML-Bishop 在线课程:吴恩达,Stanford cs231n,Reinforcement learning David silver

  4. 分类任务(Classification):模型的输出是 一个向量(Vector)

    回归函数封装的模块:sklearn.linear_model(线性函数为主)和sklearn.preprocessing(非线性函数为主)

    分类算法的应用:

    金融:贷款是否批准进行评估

    医疗诊断:判断一个肿瘤是恶性还是良性

    欺诈检测

    网页分析:判断网页的类别

    | 分类模型 | 加载模块 | 使用方式 |

    | ---------- | ---------------------------- | --------------------------------------------------------- |

    | 最近邻算法 | neighbors.NearestNeighbord | fit()利用数据进行训练,predict函数 |

    | 支持向量机 | svm.SVC | |

    | 朴素贝叶斯 | naive_bayes.GaussianNB | |

    | 决策树 | tree.DecisionTreeClassifier | cross_val_score使用10则验证交叉,利用fit和predict进行验证 |

    | 集成方法 | ensemble.BaggingClassifier | |

    | 神经网络 | neural_network.MLPClassifier | |

  5. 回归任务(Regression):主要以linear_model模块,模型输出的是一个数值(scalar)

    | 回归模型 | 加载模块 |

    | ---------- | ------------------------------------------------------------ |

    | 岭回归 | linear_model.Ridge |

    | lasso回归 | linear_model.Lasso |

    | 弹性网络 | linear_model.ElasticNet |

    | 最小角回归 | linear_model.Lars |

    | 贝叶斯回归 | linear_model.BayesianRidege(高斯朴素贝叶斯分类,多项式模型的朴素贝叶斯,多元伯努利朴素贝叶斯) |

    | 逻辑回归 | linear_model.LogisticRegression |

    | 多项式回归 | prprocessing.PolynomialFeatures |

  6. 聚类任务:主要以cluster模块为主,欧式距离,曼哈顿距离,马氏距离,余弦相似度

    | 聚类方法 | 加载模块 |

    | -------- | ------------------------------- |

    | K-means | cluster.KMeans |

    | AP聚类 | cluster.AffinityPropagation |

    | 均值漂移 | cluster.MeanShift |

    | 层次聚类 | cluster.AgglomerativeClustering |

    | DBSCAN | cluster.DBSCAN |

    | BIRCH | cluster.Birth |

    | 谱聚类 | cluster.SpectralClustering |

    sklearn.cluster

    | 算法名称 | 参数 | 可扩展性 | 相似性度量 |

    | ---------------- | ------------------------ | ------------------------------ | ---------------- |

    | K-means | 聚类个数 | 大规模数据 | 点间距 |

    | DBSCAN | 邻域大小 | 大规模数据 | 点间距 |

    | Gaussian Mixture | 聚类个数及其他参数 | 复杂度高,不适合处理大规模数据 | 马氏距离 |

    | Birch | 分支因子,阀值等其他超参 | 大规模数据 | 两点间的欧式距离 |

  7. 降维任务:主要以decomposition模块为主,数据的可视化和精简数据

    | 降维任务 | 加载模块 |

    | ------------ | --------------------------------------- |

    | 主成分分析 | decomposition.PCA |

    | 截断SVD和LSA | decomposition.TruncatedSVD |

    | 字典学习 | decomposition.SparseCoder |

    | 因子分析 | decomposition.FactorAnalsis |

    | 独立成分分析 | decomposition.FastICA |

    | 非负矩阵分解 | decomposition.NMF |

    | LDA | decomposition.LatentDirichletAllocation |

    | 算法名称 | 参数 | 可扩展性 | 适用任务 |

    | -------- | -------------------- | ------------ | ------------------ |

    | PCA | 所降维度以及其他超参 | 大规模数据 | 信号处理等 |

    | FastICA | 所降维度以及其他超参 | 超大规模数据 | 图形图像特征提取 |

    | NMF | 所降维度以及其他超参 | 大规模数据 | 图形图像特征提取 |

    | LDA | 所降维度以及其他超参 | 大规模数据 | 文本数据,主题挖掘 |

  8. 训练数据和测试数据

    a. 训练集(training set):构成监督学习经验的案例集合;

    b. 测试集(test set):评估程序效果的案例集合;

    c. 验证集(validation set):调整超参数变量的案例集合;超参数变量控制模型如何学习;

    d. 监督学习的观测值分成三部分:训练集(50%),测试集(50%),验证集(25%);

    e. 过度拟合(over-fitting)vs欠拟合:过度拟合是指能够在训练集上获得较好地拟合的假设,在训练集之外的案例集合却不能很好的拟合数据;原因是存在噪音或者训练数据太少;正则化(regularization)可以减轻过度拟合程度;

    f. “放入的是垃圾,出来的也是垃圾”:监督学习需要用有代表性、标签正确的数据集进行训练;多而不好的数据,训练效果不一定比少而好的数据好。

    g. 交叉验证:用相同的数据对算法进行多次训练和检验;适用于训练集不够的时候;数据训练集分成N块,算法用N-1块进行训练,再用最后一块进行测试

  9. 效果评估-偏差和方差

    a. 监督学习中,两个基本指标评估预测误差:偏差(bias)和方差(variance);高方差是过度拟合了训练集数据,高偏差则是拟合不够的表现;

    b. 偏差-方差均衡:现在中二者具有背反特征,降低一个指标,另一个指标会增加;

    c. 无监督学习:没有预测误差,评估数据结构的一些属性;评估方法针对于具体的任务;

    d. 无监督评估举例-恶性肿瘤预测(真阳性TP(true positive)+真阴性TN(true negative)+假阳性FP(false positive )+假阴性FN(false negative)):

    准确度评估accuracy=(TP+TN)/(TP+TN+FP+FN);真阴性和真阳性即是预测都在先前的分类中

    恶性肿瘤精确度precision=TP/(TP+FP)

    召回率recall=TP/(TP+FN)

    召回率比其他指标更满足实际要求;

  10. 岭回归:解决单纯线性回归中稀疏矩阵X^t X得到的值的失真问题

    优化目标:

    $$

    argmin||Xtw-y||2 + a||w||^2

    $$

    对应的矩阵求解方法:

    $$

    w=(XTX+ai)-1X^TY

    $$

  11. 强化学习就是程序或智能体(agent)通过与环境不断的进行交互学习,学习的目标就是使累计回报最大化;强化学习是一种试错学习,因其在各种状态(环境)下需要尽量尝试所有可以选择的动作,通过环境给出的反馈来判断动作的优劣,最终获得环境和最优动作的映射关系(即策略)

  12. 马尔可夫决策过程(MDP)

    MDP基本元素

    $$

    \s\epsilon S:有限状态state集合,s表示某个特定的状态

    a\epsilon A::有限动作action集合,a表示某个特定的动作

    T(S,a,S")~Pr(s’|s,a):状态转移模型,根据当前状态s和动作a预测下一个状态s,这里的P表示从s采取行动a转移到s‘的概率。

    $$

  13. 机器学习大量数据的工具:LibLinear和spark Mylib

发布了14 篇原创文章 · 获赞 13 · 访问量 8703

猜你喜欢

转载自blog.csdn.net/sinat_20744625/article/details/95387086