python机器学习书中的分类:
监督式学习:K-近邻算法、线性回归、逻辑回归、支持向量、决策树和随机森林、神经网络。
无监督式学习:聚类算法(K均值聚类、分层聚类、最大期望聚类)、降维(主成分分析、核主成分分析、局部线性嵌入、t-分布随机近邻嵌入)、关联规则。
——scikit-learn包
深度学习和神经网络:pytorch包。
R机器学习书中的分类方法:
监督式学习:回归、分类、混合。
回归就是线性回归,分类就是逻辑回归,监督聚类学习,混合就包括了决策树和随机森林,神经网络,支持向量。——caret包
无监督学习:无监督聚类学习。
其他的方法:朴素贝叶斯分类。
上面两本书的内容其实差不多,但是我觉得python书上写的更详细点,所以我抛弃了R投向了python的怀抱。
由于笔者是医学核磁领域,在临床上病例很难达到上千例,目前我的核磁病人例数也只有近100,所以暂时不学习深度学习和神经网络,现阶段主要把机器学习的算法熟练。另外对于公式和原理这里不提,因为是医学生,会用以及知道算法的应用范围就行。
如果数据量很大,算法的选择就不重要;如果数据量很小,典型数据和算法就很重要。
基础术语
效用函数(适应度函数):衡量模型有多好。
成本函数:衡量模型有多差。
特征选择:从现有的特征中选择最有用的特征进行训练。
特征提取:将现有特征进行整合,产生更有用的特征。
过度拟合:在训练数据上表现良好,而泛化时很差(鲁棒性差)。
解决方法:简化模型—收集更多训练数据—减少训练数据噪音
正则化:约束模型,使模型简化,从而降低过拟合。
拟合不足:在训练数据上表现差。
解决方法:换更多参数的模型—选择更好的特征集—减少正则化。
测试与验证:将数据分割为测试集和验证集,然后用训练集训练模型,用验证集测试模型。有时会将训练集又划出验证集(交叉验证),再用测试集测量泛化误差。
模型性能指标
回归问题的典型性能指标是均方根误差(RMSE),又名标准误差,Root Mean Squared Error。
回归问题的另一个典型性能指标是平均绝对误差(MAE),也称平均绝对偏差,Mean Absolute Deviation。
两者区别:RMSE应用的是欧几里得距离,而MAE应用的是曼哈顿距离。(自行百度两者距离算法区别)。RMSE对异常值敏感,所以只有当异常值稀少的时候就用RMSE。