什么是机器学习

  • 世界充满了大量的数据 2020年 世界的数据量44ZB(1ZB=2^10EB=2^20PB=2^30TB),中国将达到8060EB(占比18%)图片、视频,文字,音乐

  • 人们也有大量的需求

预测:预测天气、股票、商品价格、企业发展、风险控制

懂我”:推荐和“我”相关的item(商品、新闻、电影、音乐、用户、路径)

分类识别:某一领域的分类识别能力,图像识别、语音识别、自然语言处理

什么是人工智能?

The theory and development of computer systems able to perform tasks normally requiring human intelligence. --Oxford Dictionary

Using data to solve problems:数据 -> 机器学习模型 -> 需求

机器学习的本质

机器学习就是利用数据,解决问题。

  • 训练阶段:通过对数据的训练,创建一个预测模型并对其进行微调。

  • 模型生成:预测模型可以从这些数据背后找出答案来,帮我们解决某个问题。

  • 预测阶段:通过测试集完成模型评估,从而了解模型在测试集中的有效性。

过程中,预测模型会被不断改进和使用。

机器学习的步骤

机器学习包含7个步骤:收集数据 -> 准备数据(数据预处理) -> 选择模型 ->训练 ->评估 -> 超参数调整-> 预测

机器学习10大经典模型

  1. 分类算法:C4.5,朴素贝叶斯(Naive Bayes),SVM,KNN,Adaboost,CART
  2. 聚类算法:K-Means,EM
  3. 关联分析:Apriori
  4. 连接分析:PageRank

机器学习工具

有很多机器学习工具可供选择,课程主要使用Python,已经是数据分析的首选语言。 Python中的工具:Numpy、Pandas和Sklearn。

算法工具包调用

算法 工具
决策树 from sklearn.tree import DecisionTreeClassifier
朴素贝叶斯 from sklearn.naive_bayes import MultinomialNB
SVM from sklearn.svm import SVC
KNN from sklearn.neighbors import KNeighborsClassifier
Adaboost from sklearn.ensemble import AdaBoostClassifier
K-Means from sklearn.cluster import KMeans
EM from sklearn.mixture import GMM
Apriori from efficient_apriori import apriori
PageRank import networkx as nx

超参数调整

除了模型本身参数,同时我们还可以对模型之外的参数进行调整,比如epoch的次数,学习率等,这些参数通常被称为超参数。调整超参数的过程比起科学更像是艺术。这是实验性的过程,并很大程度上取决于具体的数据集、模型和训练过程。

例子:LogisticRegression对MNIST手写数字进行识别

什么是深度学习

深度学习和神经网络区别

相同点:

  1. 神经网络不是一个新的概念

  2. 端到端的黑盒

  3. 可解释性较差,自适应完成特征提取

不同点:

  1. 深度学习强调了模型的深度(GoogleNet网络为22层,ResNet可以达到50,101,152层)

深度学习的经典网络模型

  1. 卷积神经网络(CNN)
  2. LeNet-5、AlexNet、VGG、GoogleNet、ResNet、DenseNet
  3. 循环神经网络(RNN)
  4. 应用领域:机器翻译、情感分析等NLP领域
  5. 深度信念网络(DBN,Deep Belief Network)
  6. 2006年由Geoffreg Hinton(机器学习泰斗)提出,是一种生成模型,由多个受限玻尔兹曼机组成。
  7. 生成对抗网络(GAN)
    • 对抗的双方分别为:判别模型和生成模型
  8. 深度强化学习(DRL)
  9. 四个基本组件组成:环境、代理、动作、反馈

深度学习框架:

  • Tensorflow, Keras, PyTorch, Paddle Tensorflow 2.0, 2019年发布,相比于1.0更加简洁
  • Pytorch,Facebook开发,Python + Torch 科学计算库,代替 Numpy,利用 GPUs 动态图设计,可以高效地进行神经网络的构造,学术界用的多

例子:使用keras完成MNIST的识别

原创文章,转载请注明出处:http://michaelblog.cn/article/2/