【1】Python机器学习之基础概念

1、什么是机器学习

最早的机器学习应用------垃圾邮件分辨

传统的计算机解决问题思路:

  • 编写规则,定义"垃圾邮件",让计算机执行
  • 对于很多问题,规则很难定义
  • 规则不断变化

机器学习在图像识别领域的重要应用:

人脸识别:

机器学习算法:

深入理解算法基本原理

实际使用算法解决真实场景的问题

对不同算法进行对比试验

对同一算法的不同参数进行对比试验

对部分算法底层编写

介绍如何使用算法

  • 如何评价算法的好坏
  • 如何解决过拟合和欠拟合
  • 如何调节算法的参数
  • 如何验证算法的正确性

Python机器学习技术栈

语言:Python3

框架:Scikit-learn

其他:numpy、matplotlib,...

IDE:Jupyter Notebook、Pycharm

1、数据

莺尾花数据集

https://en.wikipedia.org/wiki/Iris_flower_data_set

关于特征信息的描述定义:

2.1、数据集、样本、特征、label

行数即代表样本个数,列数即代表每个样本的特征数

最后一列 label 用表示小写 y 表示

  • 数据整体叫做数据集(data set)
  • 每一行数据称为一个样本(sample)
  • 除了最后一列, 每一列表达样本的一个特征(feature)
  • 最后一列,称为标记(label)
  • 通常大写字母表示矩阵,小写字母表示向量,如上X、y

通常大写字母表示矩阵,小写字母表示向量,如上X、y

  • 特征空间(feature space)
  • 分类任务本质就是在特征空间切分
  • 在高纬空间同理

特征

特征可以很具体,也可以很抽象

  • 图像,每个像素点都是特征
  • 28 * 28 的图像有 28 * 28 = 784 个特征
  • 如果是彩色图像特征更多

机器学习的基本任务

机器学习(监督学习)分为两类任务:

  1. 分类
  2. 回归

分类任务

二分类(猫、狗)

  • 判断邮件是垃圾邮件、不是垃圾邮件 ;
  • 判断发放给客户信用卡有风险、没有风险 ;
  • 判断病患良性肿瘤、恶性肿瘤 ;
  • 判断某支股票涨、跌

多分类(手写数字识别)

  • 数字识别
  • 图像识别
  • 数字识别
  • 判断发给客户信用卡的风险等级评估
  • **数字识别(MNIST数据集):

多标签分类

综合图片中有女人、网球拍、运动短裤等等推测出这是一个女网球运动员。

二分类 VS 多分类

  • 一些算法只支持完成二分类的任务
  • 但是多分类的任务可以转换成二分类的任务
  • 有一些算天然可以完成多分类任务

回归任务

回归任务定义

对于上图表数据中,有四个特征,但是最后一列的标签列不是一个类别,是一个连续的数字,这类任务叫回归任务。

回归任务:结果是一个连续数字的值,而非一个类别

  1. 房屋价格
  2. 市场分析
  3. 学生成绩

分类任务 VS 回归任务

  • 有一些算法只能解决回归问题
  • 有一些算法只能解决分类问题
  • 有一些算法的思路既可以解决回归问题,又可以解决分类问题
  • 一些情况下,回归任务可以简化为分类任务

机器学习方法的分类(算法角度)

  • 监督学习
  • 非监督学习
  • 半监督学习
  • 增强学习

监督学习

给机器的训练数据拥有"标记"、"答案"

如猫狗分类、MNIST手写数字识别

  • 图像已经拥有了标定的信息
  • 银行已经积累了一定的客户信息和他们信用卡的信用情况
  • 市场积累了房屋的基本信息和最终成交的金额
  • ...
    监督学习算法主要包括以下:

非监督学习


半监督学习

增强学习





相关推荐
云栖梦泽1 小时前
鸿蒙应用签名与上架全流程:从开发完成到用户手中
开发语言·鸿蒙系统
哥本哈士奇(aspnetx)2 小时前
Streamlit + LangChain 1.0 简单实现智能问答前后端
python·大模型
爱上妖精的尾巴2 小时前
6-4 WPS JS宏 不重复随机取值应用
开发语言·前端·javascript
我一定会有钱2 小时前
斐波纳契数列、end关键字
python
小鸡吃米…3 小时前
Python 列表
开发语言·python
kaikaile19953 小时前
基于C#实现一维码和二维码打印程序
开发语言·c#
我不是程序猿儿4 小时前
【C#】画图控件的FormsPlot中的Refresh功能调用消耗时间不一致缘由
开发语言·c#
rit84324994 小时前
C# Socket 聊天室(含文件传输)
服务器·开发语言·c#
星依网络4 小时前
yolov5实现游戏图像识别与后续辅助功能
python·开源·游戏程序·骨骼绑定
嘉琪0014 小时前
Vue3+JS 高级前端面试题
开发语言·前端·javascript