机器学习初解 朴素贝叶斯分类 12 2.逻辑回归 12 3.聚类算法 13 三,编程题

机器学习 初解
一 简答题
•主要是以概念的记忆和理解为主
·范围:

·机器学习中的各类算法,例如:

1.逻辑回归的原理
逻辑回归实属广义线性模型,线性回归预测函数可简单表示为y=X\theta,而逻辑回归预测函数需要做一个函数转换y=g(z),其中z=X\theta,即通过g将线性回归原本的值域R映射到[0,1]区间内,当取值大于临界值时为一类,小于临界值时为另一类,从而达到0-1分类的目的。这里g一般使用sigmoid函数
逻辑回归输出离散值(0 1),比如邮件判断,Logistic 回归算法输入,判断它是否是垃圾邮件(1)或者是正常邮件(0)

2.朴素贝叶斯公式

在这里插入图片描述

3.信息熵和ID3信息增益和C4.5算法信息增益率的原理
ID3:在我们的ID3算法中,我们采取信息增益这个量来作为纯度的度量。
信息熵是代表随机变量的复杂度(不确定度)通俗理解信息熵 - 知乎专栏,条件熵代表在某一个条件下,随机变量的复杂度(不确定度)通俗理解条件熵 - 知乎专栏。而我们的信息增益恰好是:信息熵-条件熵。
信息熵和信息增益的计算:https://blog.csdn.net/w820896059/article/details/82454891?locationNum=8&fps=1
C4.5:是机器学习算法中的另一个分类决策树算法,它是决策树(决策树也就是做决策的节点间的组织方式像一棵树,其实是一个倒树)核心算法,也是ID3的改进算法,所以基本上了解了一半决策树构造方法就能构造它。
信息增益率计算:https://blog.csdn.net/weixin_44451032/article/details/100049585
区别:
1)C4.5用信息增益率来选择属性,克服了用信息增益选择属性时偏向选择取值多的属性的不足;
2) 在树构造过程中进行剪枝;
3) 能够完成对连续属性的离散化处理;
4) 能够对不完整数据进行处理。

4.梯度下降法的原理
梯度下降的目的,为了最小化损失函数。原理详情:https://www.zhihu.com/tardis/sogou/art/68468520

5.神经网络的原理
正向计算得到误差函数,反向求导梯度下降。
https://mp.weixin.qq.com/s?src=11&timestamp=1622258714&ver=3097&signature=Zmrm8cy7t8yfQoY323c1c7MjjFDiRVFBom1h5Oho4uTt4hVUvJfhkQaqIWAfMzSEHSCqkthGZfoNkqY3Hf5GW2oF7WS9aTQFaWKspuWq8YhkGHKpB7kUzt8keTVnjs&new=1
实例:

在这里插入图片描述

算法中的一些重要概念:例如:

5.激活函数的作用
激活函数是用来加入非线性因素的,提高神经网络对模型的表达能力,解决线性模型所不能解决的问题。https://mp.weixin.qq.com/s?src=11&timestamp=1622256476&ver=3097&signature=rJH3bXGXhJL0yCL5ivj8sFS3YAgh0WhZGDbu0ATZ8JGKNL5KD9sZ1YoH3bpceaWaBw7144nr0UrLP1qxlhgl46dEjobopHoGWGaTVAYIAleU33pvSr43FIl9zmRFPv&new=1

6.归一化的原理
把数据变成[0,1]或者[-1,1]之间的小数。归一化将有量纲表达式变成无量纲表达式。
https://www.zhihu.com/tardis/sogou/art/61816599

7.正则化的原理

   正如在房价预测的例子中看到的那样,我们可以有很多特征变量,其中每一个变量都是有用的,因此我们不希望把它们删掉,这就导致了正则化概念的发生

正则化的作用:防止过拟合

8.精确率和召回率是什么

https://www.zhihu.com/tardis/sogou/art/93586831具体解释

10.过拟合和欠拟合的判断依据及改善方法
过拟合:过拟合是一个很常见的问题。过拟合指的是只能拟合训练数据,但不能很好地拟合不包含在训练数据中的其他数据的状态(测试数据)。
发生过拟合的原因,主要有以下两个。
1、模型拥有大量参数、表现力强。
过拟合改善:
权值衰减是一直以来经常被使用的一种抑制过拟合的方法。
降维:减少特征数量,把模型多项式阶数降低,这样高阶项就少了,模型曲线就不会那么复杂
正则化:不直接减少特征,而是增大代价函数中特征参数的系数

    欠拟合:欠拟合是指不能很好的从训练数据中,学习到有用的数据模式,从而针对训练数据和待预测的数据,均不能获得很好的预测效果。如果使用的训练样本过少,较容易获得欠拟合的训练模型。

欠拟合改善:
1、增加新特征,可以考虑加入进特征组合、高次特征,来增大假设空间;
2、尝试非线性模型,比如核SVM 、决策树、DNN等模型;
详情:https://www.zhihu.com/tardis/sogou/art/29707029

归一化:统一量纲
正则化:解决过拟合,矫正参数
过拟合:在训练集效果好,测试集效果差。
欠拟合:在训练集效果差,测试集效果差。(改进1.人为构造一些新特征2.线性换成非线性。3.调节学习率和训练轮次)

线性回归核心:线性变换
梯度下降:是我们训练权重的一种方法,训练代价函数以找到最小的代价函数
逻辑回归的原理:在线性回归的基础上加上了非线性转换(sigmod,relu等)
贝叶斯公式:p(x|y)=p(xy)/p(y)=p(y|x)*p(x)/p(y)
朴素贝叶斯:p(y|x1x2x3)=(p(x1x2x3|y)*p(y))/p(x1x2x3)(假设x1,x2,x3互不干扰可得出后式)=(p(x1|y)p(x2|y)p(x3|y)p(y))/p(x1x2x3)
Id3和id4.5需要会计算信息墒和信息增益(id3找最大的信息增益为划分依据,循环该过程,当每个子集只有一类),要会表述计算方法,id4.5 使用信息增益率为分隔依据,且能对连续量(例如序号,id3会按序号进行划分)的处理进行了改善
神经网络:要求掌握正向传播,反向不要求。原理:前向传播和反向传播循环进行最终使误差符合要求
激活函数的作用:对数据进行非线性的处理。
归一化的原理:为避免因为量纲不同对结果产生的影响
正则化原理:解决过拟合(泛化性差,在训练集上效果好,在测试集上效果差,欠拟合(在训练集和测试集上效果斗差,改善方法:可增加模型的复杂度,改学习率,增加训练轮次等)),修正参数

再解
一,课外题:
1.掌握一些机器学习中的常用算法的概念和适用场景,例如,强化学习,对抗网络的概念和应用场景:
都是深度学习比较前沿的部分。

   强化学习要做的主要有两步,第一就是将奖励(正奖励信号鼓励特定的行动顺序持续进行负奖励信号因执行任务而受到惩罚,并促使其纠正算法以停止惩罚。)、损失定义好。第二就是以主体较低成本不断尝试,总结不同状态下,奖励大的工作方式。在智能交通,强化学习就是开发一种自我维持的系统,该系统在连续的尝试和失败序列中,基于标记数据的组合和与传入数据的交互来改进自身。
  对抗网络是通过模拟一种数据概率分布的生成器,使得概率分布与观测数据的概率统计分布一致或者尽可能接近。主要在对抗学习中生成对抗网络。过程涉及纳什均衡中的博弈机制,具体包括在训练中,判别模型尽可能提取特征正确率增加的模型,生成模型尽可能“伪造”让判别模型以为是真的结果。其他,还有相对更前沿的,包括条件生成对抗网络(CGAN)、深度卷积对抗网络(DCGAN)等等。

二,开放题:
使用我们学习过的算法去解决实际中遇到的问题,生活中,学习上都可以,不用编码
1.朴素贝叶斯分类
概率分类器,它基于把贝叶斯定理运用在特征之间关系的强独立性假设上。下图是贝叶斯公式——P(A|B)表示后验概率,P(B|A)表示似然度,P(A)表示类别的先验概率(class prior probability),P(B)表示做出预测的先验概率(predictor prior probability)。
一篇文章应该分到科技、政治,还是体育类
一段文字表达的是积极的情绪还是消极的情绪?

2.逻辑回归
可以把有一个或者多个解释变量的数据,建立为二项式类型的模型,通过用累积逻辑分布的逻辑函数估计概率,测量分类因变量和一个或多个独立变量之间的关系。
信用评估
测量市场营销的成功度
预测某个产品的收益
特定的某天是否会发生地震

3.聚类算法
聚类就是把一组对象分组化的任务,使得在同一组的对象比起其它组的对象,它们彼此更加相似。
k均值算法(K-means),简单,快速,适合常规数据集。可以用在农业病虫害识别。
旅游规划,
1.假定我们要对N个样本观测做聚类,要求聚为K类,首先选择K个点作为初始中心点;
2.接下来,按照距离初始中心点最小的原则,把所有观测分到各中心点所在的类中;
3.每类中有若干个观测,计算K个类中所有样本点的均值,作为第二次迭代的K个中心点;
4.然后根据这个中心重复第2、3步,直到收敛(中心点不再改变或达到指定的迭代次数),聚类过程结束。

三,编程题
1.涉及到numpy,matploblib,pandas的基础使用方法
#numpy
import numpy as np
def np_arr():
arr = np.ones((5,5))
for i in range(5):
for j in range(5):
if i == 4-j:
#if i == 0 or i == 4 or j == 0 or j == 4:
arr[i][j] = 2
print(arr)

#matplotlib
import matplotlib.pyplot as plt
def draw_fruits():
fruits=[‘apple’,‘pear’,‘watermelon’,‘cherry’]
d1 = [100,150,120,200]
d2 = [120,110,150,100]
d3 = [180,250,220,200]

x1 = list(range(len(fruits)))#x1 =[0,1,2,3]
x2 = [i+0.2 for i in x1]
x3 = [i+0.2 for i in x2]

plt.bar(x1,d1,width=0.2,color='blue')
plt.bar(x2,d2,width=0.2,color='red')
plt.bar(x3,d3,width=0.2,color='green')
plt.xticks(x3,fruits)
plt.show()

draw_fruits()

#pandas
import pandas as pd
def char_pd():
words = pd.Series([‘adsf’,‘abdfa’,‘cdfd’,‘adsf’,‘abdafab’])
for w in words:
count = 0
for c in w:
if c in ‘ab’:
count += 1
if count > 2:
print(w)

#math
import math
def draw_sin():
x = [i for i in range(int(4math.pi1000))]
y = [math.sin(i/1000) for i in x]
plt.xticks(x[::1000],[i/1000 for i in x[::1000]])
plt.plot(x,y)
plt.show()
2.、怎样遍历Serials,DataFrame中的数据,例如:从Serial对象中寻找特定的字符串
例如:查找包含a,b字符数超过3的单词
#pandas Series and DataFrame
import pandas as pd
def char_pd():
#Series
words = pd.Series([‘adsf’,‘abdfa’,‘cdfd’,‘adsf’,‘abdafab’])
for w in words:
count = 0
for c in w:
if c in ‘ab’:
count += 1
if count > 2:
print(w)

#DataFrame
df = pd.DataFrame([{'c1':"10", 'c2':100}, {'c1':11, 'c2':110}, {'c1':12, 'c2':123}])
print(df,sep='\n',end='\n')

for i,x in df.iterrows():
    print(i,x[0],x[1])

for i,x in df.iteritems():
    print(i,x[0],x[1],x[2])

for i in range(3):
    for j in range(2):
        print(df.iloc[i,j],sep='',end=' ')
        if str(df.iloc[i,j]) == "123":
            print(end='\n')
            print("yes")
            continue

        if int(df.iloc[i,j]) == 10:
            print(end='*')
            print("no")
            continue

    print(end='\n')

3.掌握信息、信息增益的计算,例如如何根据天气计算是否去打球,西瓜是否熟的计算方法
https://blog.csdn.net/it_beecoder/article/details/79554388

4.应用题
神经网络的前向(正向)推导过程,掌握怎样从输入层结点到输出层结点的计算
掌握基本的神经网络设计,例如给出一个神经网络层次及各层结点的描述,能绘制出网络结构图,并按给定的标注方式标注出结点和权重,并能使用标注的符号进行前向推导计算

http://blog.sina.cn/dpool/blog/s/blog_13ec737150102xyq8.html
在这里插入图片描述

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值