学了也用不到系列。
注: 部分笔记来源于左耳听风专栏。
机器学习分类
- Classification 特征识别
- Virus recognition 病毒识别
- Credit evaluation 信用预估
- Junk email detection 垃圾邮件检测
监督式学习/Supervised Learning
需要提供一组学习样本(训练数据/training data),包括相关的特征数据以及相应的标签。
程序可以通过这组样本来学习相关的规律或是模式,然后通过得到的规律或模式来判断没有被打过标签的数据是什么样的数据。
一种比较常见的监督式学习,就是从历史数据中获得数据的走向趋势,来预测未来的走向。
回归是(连续的值),分类是(离散的值)。
非监督式学习/Unsupervised Learning
也称特征点学习,能自动地为数据进行分类,寻找相似事物。
常见算法
监督式学习
-
决策树(Decision Tree)。可用于自动化放贷、风控。
-
朴素贝叶斯分类(Naive Bayesian classification)。可以用于判断垃圾邮件,对新闻的类别进行分类,判断文本表达的感情是积极的还是消极的,以及人脸识别等。
-
最小二乘法(Ordinary Least Squares Regression),算是一种线性回归。
-
逻辑回归(Logisitic Regression)。常用于预测。一种强大的统计学方法,可以用一个或多个变量来表示一个二项式结果。它可以用于信用评分、计算营销活动的成功率、预测某个产品的收入等。
-
支持向量机(Support Vector Machine,SVM)。可以用于基于图像的性别检测,图像分类等。
-
集成方法(Ensemble methods)。通过构建一组分类器,然后根据它们的预测结果进行加权投票来对新的数据点进行分类。原始的集成方法是贝叶斯平均,但是最近的算法包括纠错输出编码、Bagging 和 Boosting。
-
KNN
非监督式学习
- 聚类算法(Clustering Algorithms)。目标是给数据分类
- 种类分组/Species group
- 相似的人或书/similar peple and books
- 主成分分析(Principal Component Analysis,PCA)。PCA 的一些应用包括压缩、简化数据,便于学习和可视化等。
- 奇异值分解(Singular Value Decomposition,SVD)。
- 独立成分分析(Independent Component Analysis,ICA)。ICA 是一种统计技术,主要用于揭示随机变量、测量值或信号集中的隐藏因素。
实际上,PCA 是 SVD 的一个简单应用。在计算机视觉中,第一个人脸识别算法使用 PCA 和 SVD 来将面部表示为“特征面”的线性组合,进行降维,然后通过简单的方法将面部匹配到身份。虽然现代方法更复杂,但很多方面仍然依赖于类似的技术。
深度学习
一些应用领域:计算机视觉、语音识别、翻译、 物联网、 医疗、 聊天机器人等。
学习资源
开源框架/库
- Neural-Net-with-Financial-Time-Series-Data : 股票预测模型, LSTM
其他
- Apache Mahout: Java机器学习库
- kubeflow:
NLP
- TextBlob:Python库,Sentiment analysis, part-of-speech tagging, noun phrase extraction, translation
工具
- 可以用Octave做原型
sudo apt-get install gfortran fort77; sudo apt-get build-dep octave