day1 :

  1. 机器学习概述


1.1、什么是机器学习
1.2、为什么需要机器学习
1.3、机器学习的应用场景

  1. 数据的特征工程


定义:特征工程是将原始数据转换为更好地代表预测模型的潜在问题的特征的过程,从而提高了对未知数据的模型准确性
意义:•直接影响模型的预测结果
数据来源与类型
2.1、数据来源
2.2、数据类型
数据类型:

  • 离散型数据:又称计数数据,所有这些数据全部都是整数,而且不能再细分,也不能进一步提高他们的精确度。
  • 连续性数据:•变量可以在某个范围内取任一数,即变量的取值可以是连续的,如,长度、时间、质量值等,这类整数通常是非整数,含有小数部分。
  • 离散型是区间内不可分,连续型是区间内可分

scikit-learn库

  1. 特征抽取


•特征抽取针对非连续型数据
•特征抽取对文本等进行特征值化

    • sklearn特征抽取API:
      1. sklearn.feature_extraction
  1. sklearn.feature_extraction.****DictVectorizer**
    • DictVectorizer语法:

流程**注意返回格式**

    • one-hot编码
    • 文本特征抽取
  1. 类:sklearn.feature_extraction.text.CountVectorizer

流程

注意返回格式,利用toarray()进行sparse矩阵转换array数组

CountVectorizer``fit_transform

  1. 文本中文特征化的解决


jieba分词

  1. 类:sklearn.feature_extraction.text.TfidfVectorizer


TF-IDF作用:用以评估一字词对于一个文件集或一个语料库中的其中一份文件的重要程度。
TF-IDF的主要思想是:如果某个词或短语在一篇文章中出现的概率高,
并且在其他文章中很少出现,则认为此词或者短语具有很好的类别区分
能力,适合用来分类。

  1. TfidfVectorizer语法
  2. TfidfVectorizer(stop_words=None,…)
  3. •返回词的权重矩阵
  4. TfidfVectorizer.fit_transform(X,y)
  5. X:文本或者包含文本字符串的可迭代对象
  6. •返回值:返回sparse矩阵
  7. TfidfVectorizer.inverse_transform(X)
  8. X:array数组或者sparse矩阵
  9. 返回值:转换之前数据格式
  10. TfidfVectorizer.get_feature_names()
  11. •返回值:单词列表


分类机器学习算法的的重要依据

  1. 数据的特征预处理


5.1、特征处理的方法
特征处理:通过特定的统计方法(数学方法)将数据转换成算法要求的数据
数值型数据:标准缩放:

  1. 1、归一化


2、标准化

  1. 3、缺失值


类别型数据:one-hot编码
时间类型:时间的切分
5.2、sklearn特征处理API
•sklearn. preprocessing
特点:通过对原始数据进行变换把数据映射到(默认为[0,1])之间

sklearn归一化API:

  1. sklearn.preprocessing.MinMaxScaler



归一化步骤:
1、实例化MinMaxScalar
2、通过fit_transform转换

  1. 特征选择
  1. 降维
  1. 机器学习基础

吴恩达机器学习

无监督学习:

聚类算法

eg:goole dna基因 鸡尾酒聚会

编程环境:octave 还有matlab

音频分离:

模型描述:

房价预测为例:

x 作为输入变量, h为假设函数,y为输出变量

线性回归(监督学习) 监督学习中数据被称为训练集

h 假设函数 (不要纠结为什么是h)

m:训练样本的数量

x:输入变量/特征

y:输出变量/目标变量

(x,y)表示一个训练样本

代价函数:

代价函数,也称为平方误差函数或者平方误差函数。 对于大多数问题 特别是解决回归 是一个合理的选择

假设有训练样本(x, y),模型为h,参数为θ。h(θ) = θTx(θT表示θ的转置)。

(1)概况来讲,任何能够衡量模型预测出来的值h(θ)与真实值y之间的差异的函数都可以叫做代价函数C(θ),如果有多个样本,则可以将所有代价函数的取值求均值,记做J(θ)。因此很容易就可以得出以下关于代价函数的性质:

  • 对于每种算法来说,代价函数不是唯一的;
  • 代价函数是参数θ的函数;
  • 总的代价函数J(θ)可以用来评价模型的好坏,代价函数越小说明模型和参数越符合训练样本(x, y);
  • J(θ)是一个标量;

(2)当我们确定了模型h,后面做的所有事情就是训练模型的参数θ。那么什么时候模型的训练才能结束呢?这时候也涉及到代价函数,由于代价函数是用来衡量模型好坏的,我们的目标当然是得到最好的模型(也就是最符合训练样本(x, y)的模型)。因此训练参数的过程就是不断改变θ,从而得到更小的J(θ)的过程。理想情况下,当我们取到代价函数J的最小值时,就得到了最优的参数θ,记为:

例如,J(θ) = 0,表示我们的模型完美的拟合了观察的数据,没有任何误差。

(3)在优化参数θ的过程中,最常用的方法是梯度下降,这里的梯度就是代价函数J(θ)对θ1, θ2, …, θn的偏导数。由于需要求偏导,我们可以得到另一个关于代价函数的性质:

  • 选择代价函数时,最好挑选对参数θ可微的函数(全微分存在,偏导数一定存在)

梯度下降

线性回归算法

batch梯度下降算法

矩阵和向量

通常用大写字母表示矩阵,小写字母表示向量

矩阵运算

相同维度的矩阵可以进行加减法

矩阵和标量相乘除 每一个元素与之相乘除