ML启程笔记:<零>开启我的机器学习生涯

机器学习是人工智能的未来

第一次知道机器学习是在一次学科竞赛中,我所在的团队做的项目其中有个最核心需求是根据Android设备的加速度、陀螺仪、地磁等传感器的数据判断携带设备的人是否发生了跌倒。当时对于只写过一般的业务逻辑代码的我来说,实在是一脸懵逼。好在后来指导老师明确告知需要使用机器学习技术。

这是一段痛苦不堪的时期,揪着“跌倒检测”这一关键词换来有用的信息是一大堆的Paper,面对论文中大段大段的数学公式推导,我曾一度以为这是应用数学的领域(事实上也确实可以这么划分),跟编程有几毛钱关系- -。但是项目还是要做,问题还是解决了,当然,用的是非常简单的一个算法:K-近邻算法。

当确定了要使用的算法之后,另一个问题又困扰了我好久,训练数据到哪找?百度无果后我跑去找指导老师,很简单,问她要数据。当然,她肯定也是没有的,最后还是自己写了一个andriod程序用及其不严谨的方式收集了“大量”的数据。为什么打引号呢?因为有6个类别,只有4志愿者(包括我自己 - -),每个人每个类别采集了15个样本,一共360个样本,其中还要分出20%作为测试集。后来真正开始入门学习的时候我才知道一个比较小的入门数据集:MNIST手写数字数据集都有6W个样本。

虽然现在看起来很好笑,但回到当时还是感觉很牛逼的,因为这是我以往所写的那种代码办不到的,这是我对机器学习技术的第一印象:强大!

我是一个对技术有着无限追求的人,喜欢探索的人,因此我决定正式踏入这个领域,开启我的机器学习生涯,这是这一系列博客的开篇,在以后的时间里我会陆续的将自己的学习感想,理解和成果整理成笔记。目的是:

  • 其一,方便日后随时可以查阅、温习;
  • 其二,以完成这一系列笔记为目标与学习过程齐头并进,起到以此督彼的作用;
  • 其三,在自学的过程中对有些知识难免理解偏颇,希望发现的人能够及时指正,避免走了不必要弯路;

以下是我暂定的这一系列笔记的大纲,为笔记整理的大致路线:

ML启程笔记大纲

一、开发环境搭建

Python环境搭建
直接安装
通过miniconda安装和基本命令
常用科学计算库
Numpy安装和常用函函数的使用
Matplotlib安装和常用函数的使用
Sklearn 安装和基本使用
Opencv-python 安装和基本图像处理
Etc.
神经网络框架安装
Tensorflow 安装和常用API参考
Caffe 安装和入门Demo
Etc.
开发工具
Pycharm 安装和配置
Jupyter notebook 安装和使用
Etc.

二、机器学习基础

什么是机器学习 机器学习能做什么(生活中的机器学习) 机器学习怎么做(一般流程) 机器学习与数据挖掘的区别 机器学习相关的术语 机器学习算法的分类及选择算法的一般标准

三、机器学习基本算法

3.1 有监督学习算法
3.1.1 分类
knn算法
K-nn的基本思想
决策树算法
决策树的基本思想
决策树的构造算法
  • ID3算法
  • C4.5算法
  • CART算法
决策树的绘制
朴素贝叶斯算法
贝叶斯准则
基于贝努利模型实现
不考虑词汇出现的次数,所有词汇具有同等权重
基于多项式模型实现
考虑词汇的出现次数,出现次数多的词汇具有较大的权重

Logistic回归分类

最优化算法
梯度下降
随机梯度下降
SVM算法
基于SMO(序列最小化)的SVM实现
基于核函数的SVM扩展
LIBSVM库
3.1.2 回归

3.2 无监督学习算法
3.2.1 聚类算法
K-mean算法
密度估计算法

四、神经网络算法

感知机 单隐层前馈网络 多隐层前馈网络 深度神经网络(DNN) 卷积神经网络(CNN)
LeNet-5
AlxNet
VGGNet-11 - VGGNet-19
Etc.
循环神经网络(RNN)
长短时记忆网络(LSTM)

五、增强学习/迁移学习

Q-Learning 集成学习 基于元学习器 DQN 及其变体 R-CNN及其迭代版本 Etc.

六、大数据与机器学习

Hadoop Spark Etc.

你可能感兴趣的:(ML启程笔记系列,机器学习,人工智能)