马士兵机器学习入门-可能是最易懂的机器学习课程

学习机器学习之前你应该了解概率,编程的基础知识,掌握java c++ c python 任意一个,还要有一定的数学基础。

基本概念

1、MachineLearning
什么是机器学习:ML(machine learning)

是一个交叉学科,涉及到计算机(软件、硬件)、概率论、统计学、线代、高数、逼近论、凸分析、机械。

通过机器学习,机器不再是通过规则行动,而是通过归纳、统计来进行结果改进

机器不再需要外部明确的指示,而是通过经验和数据自动进行结果改进

学习经验,针对任务,执行结果,经验越多,结果越好,则计算机有学习能力。

机器学习是AI的核心。AlphaGo实现的方法不是通过穷举法,而是通过归纳和统计,通过学习过去人类下的棋局中得到的经验,然后来确定自己的下一个棋下在什么地方。所以机器学习出现后人工智能进步了一大步。

机器学习的应用

机器学习的应用很广泛,可以用来做语音识别、自动驾驶、人脸识别、自然语言处理、推荐系统等等。

2、DeepLeaning
深度学习:DL (deep learning)

深度学习是机器学习的一个分支,以神经网络为代表的一类机器学习。比传统的机器学习效果要好很多。它模拟人脑神经的构造,利用神经元通过各种传输算法,使一个输入能产生一个比较准确的输出。

深度学习的发展是伴随大数据产生的,因为深度学习需要大量的数据进行训练,所以进行机器学习的第一步是,必须要有大量的已经存在的数据。

深度学习的基本概念
  • 训练集(TraningSamples) :训练机器去学习的数据
  • 测试集(TestSamples) :测试模型的稳定性
  • 特征值(FeatureVector) :通过向量代表的特征
  • 目标概念(Lable) :通过特征值的出来的结果
  • 分类 :目标概念为已知类别
  • 回归 :目标概念为连续值
  • 监督学习 :样本有类别标记
  • 无监督学习 :样本无类别标记
常用算法

机器学习的算法有很多很多,想全部掌握有点难。下面是几个比较常用的算法。

监督学习:

  • 分类 :KNN (K个nearest neighbors)、DT(Decision Tree)决策树、SVM(surpport vector machine) 、NN(nerual network) 神经网络、NB(naive bayes)贝叶斯
  • 回归 :LR(Linear Regression)、NLR (Non-Regression)

非监督学习:

​ 非监督学习算法:K-Means

机器学习的基本步骤

1、获取数据

包括数据获取、清洗、存储

2、数据拆分训练集和测试集。

3、用特征向量训练算法

4、在测试集上评估算法

5、算法迭代与改进

6、实际应用

7、获取更多数据,进行机器学习。

KNN算法

KNN是用未知和已知进行比对。假如我们有一堆的已经分好类的数据,就像一堆分好颜色的豆子。如果我们找到某颗豆子,要知道这颗豆子是什么颜色,当然人眼一看就知道,要让计算机来算的话,最简单的算法就是KNN。
KNN是把离他最近的邻居找出来,比如把离他最近的5个点找出来,然后看这5个点大多数 属于哪一类,就把它归于那个类里。

KNN算法举例

举一个简单的例子:给出一组花的数据,判断它属于哪种花。

样本 :

网上有很多可以用的数据库,这里用的:wiki/lris_flower_data_set

特征值:萼片长度、萼片宽度、花瓣长度、花瓣宽度

label:setosa versicolor virginica (花的种类)

#首先安装类库science hit learning机器学习类库
from sklearn import neighbors
from sklearn import datasots

#取得KNN分类算法
knn = neightbors.KNeighborsClassifier()

#加载数据
iris = datasets.load_iris()

#打印数据
#print(iris)

#用KNN进行数据集的学习
knn.fit(iris.data,iris.target)

#预测输入数据集属于哪一类
predicteLabel = knn.predict([[0.1,0.2,0.3,0.4]])

#打印预测结果
print(predicteLabel)

欢迎访问我们的官方网站与我们交流添加链接描述
海量资源 站内自取

猜你喜欢

转载自blog.csdn.net/yxxylucy/article/details/91875147