machine learning基础知识(Leetcode)

机器学习

machine learning是机器通过已知的内容,类似于人类一样进行学习,并对同类型数据进行判断的过程。
例如训练图片模型就是将每个像素点转为0到255之间的值,利用机器发现不同种类的图片之间存在的映射。

有监督与无监督模型

  • 监督学习是F(x)= sum 并且sum已知,可以通过已知的属性进行预测,而且目标函数需要带有“label”。
  • 无监督学习。通过数据的潜在的模式和规则,无需预定义,并且同过“聚类”、“关联”等发现数据中的隐藏的关系。

半监督学习

  • 结合有监督与无监督同时进行学习,其中有少部分数据又“label”,没有label的数据可以进行无监督学习进行分类。

分类与回归(classification and regression)

  • 分类,如下图,以布尔值的形式进行区别不同的类
  • 公式表达为: F(M[H][W])=1∣0,where M[i][j]∈[0,255],0<i<H,0<j<W
    machine learning基础知识(Leetcode)
  • 回归模型: 如下图,横坐标代表房子的面积,纵坐标表示价格。通过一个某事物的一个属性来预测另一个变量的方式叫Regression
  • decision tree可以直接处理非数字特征,但是通常使用one-hot将非数字的数据转换为另一个的方法。
    machine learning基础知识(Leetcode)
    使用Logistic Rgression来输出概率,可以结局分类的问题。

workflow:

  • raw data -> 数据分离,normalization 和 数据清理
  • training
  • test data
  • 超参数调整(Hyperparameter tuning)

将数据分为两组:训练集、测试集(一般比例为7:3,8:2,如果数据量特别大的话,可以分为9:1)

欠拟合与过拟合(underfitting and overfitting)
machine learning基础知识(Leetcode)

  1. 欠拟合:model没有找到规律(与实际情况相差很多)
  2. overfitting: 过渡于适应training data,甚至与noise也都适应了。解决方法:随机drop掉部分模型,和加入regularization的算法。