Part.13_Cost_Function-Logistic_Regression(ML_Andrew.Ng.)
Last updated
Aug 19, 2021
Edit Source
# Cost Function - Logistic Regression
2021-08-19
Tags: #CostFunction #LogisticRegression #MachineLearning
# Representation
如果我们采用
线性回归的损失函数:
均方误差
Mean_Squared_Error_均方误差
Mean Squared Error
2021-07-31
Tags: #MachineLearning #CostFunction
Mean Square Error: 平均平方误差, 简称均方差, MSE, 又称 Mean Squared Deviation (MSD)
均方差的形式很简单, 但是也有许多问题值得思考
为什么采用平方, 而不是绝对值, 三次方等等
StackExchange上面一个很好的解释
Whydocostfunctionsusethesquare_error/为什么损失函数要使用均方误差
为什么MSE是合理的
均方误差有非常好的几何意义, 它对应了常用的欧几里得距离或简称"欧氏距离"...
11/19/2023
, 那么因为Logistic 回归的h(x)里面有形式很复杂的Logistic函数, 损失函数将不再是
凸函数
凸优化与线性回归问题
Gradient Descent & Convex Optimization / 凸优化
2021-08-02
Tags: #MachineLearning #ConvexOptimization #Math
在这里(和下面的引用里面).md), 我们特殊的线性规划的损失函数一定是一个凸函数, 那么在其他情况下, 线性规划还是凸函数吗, 线性规划问题会陷入局部最优的问题中去吗?
Note that, while gradient descent...
11/19/2023
, 将会很难最小化, 所以我们需要考虑另外的损失函数形式:
我们采用这样的对数形式
Update: 这其实是
Cross_Entropy-交叉熵
Cross_Entropy-交叉熵
Cross Entropy - 交叉熵
2022-02-11
Tags: #InformationTheory #DeepLearning
Intuition
熵是编码一个事件所需要的最短平均长度
H(p)=∑xip(xi)logp(xi)1=−x∑p(x)logp(x)
而交叉熵则是一种特殊情况下编码的平均最短长度: 事件真实的概率分布是 p(x), 但是我们以为事件的分布是 q(x) ....
11/19/2023
$$
\begin{array}{ll}
J(\theta)=\frac{1}{m}
\sum_{i=1}^{m} \operatorname{Cost}\left(h_{\theta}\left(x^{(i)}\right), y^{(i)}\right) & \\ \\ \operatorname{Cost}\left(h_{\theta}(x), y\right)=-\log \left(h_{\theta}(x)\right) & \text { if } \mathrm{y}=1 \
\operatorname{Cost}\left(h_{\theta}(x), y\right)=-\log \left(1-h_{\theta}(x)\right) & \text { if } \mathrm{y}=0
\end{array}$$
# Intuition
在y=1时: 我们的损失函数在接近0的时候(错误的一端)趋向于无穷大, 在等于1的时候(正确的一端)达到最小值0.
Cost(hθ(x),y)=−log(hθ(x))

在y=0时: 我们的损失函数在接近1的时候(错误的一端)趋向于无穷大, 在等于0的时候(正确的一端)达到最小值0.
Cost(hθ(x),y)=−log(1−hθ(x))

这样, 总体上, 在预测值与真实值越接近的时候损失函数越接近于0.
Cost(hθ(x),y)=0 if hθ(x)=yCost(hθ(x),y)→∞ if y=0 and hθ(x)→1Cost(hθ(x),y)→∞ if y=1 and hθ(x)→0
这样的损失函数形式确保了logistic regression的 J(θ) 是凸函数.
# 证明
证明Logistic回归的损失函数是凸函数
证明Logistic回归的损失函数是凸函数
证明Logistic回归的损失函数是凸函数
2021-09-11
Tags: #MachineLearning #LogisticRegression #ConvexOptimization #CostFunction
证明
原函数
Part.13CostFunction-LogisticRegression(MLAndrew.Ng.).md)
hJ(θ)=g(Xθ)=−m1⋅[yTlog(h)+(1−y)Tlog(1−h)]
一阶导数
在梯度下降里面我们已经求出了一阶导数了:
.md#推导)
二阶导数
h(x)=g(θTx)
$$\begin{aligned}
\frac{\partial}{\partial \theta_{j}} h(x)&=
\frac{\partial}{\partial \theta_{j}} g\left(\theta^Tx\right)\\
&=g\left(\theta^Tx\right)\left(1-g\left(\theta^Tx\right)\right) \frac{\partial}{\partial...
11/19/2023
# 更简洁的形式
我们可以把两种情况写成一个式子:
Cost(hθ(x),y)=−ylog(hθ(x))−(1−y)log(1−hθ(x))
(观察上面的式子: 在y=1的时候, 1−y=0, 在y=0的时候, 1−y=1)
# Cost Function
所以损失函数可以表示为:
J(θ)=m1i=1∑mCost(hθ(x(i)),y(i))=−m1i=1∑m[y(i)log(hθ(x(i)))+(1−y(i))log(1−hθ(x(i)))]
(注意提出来的负号)
向量化
Part.10_Octave_Tutorial(ML_Andrew.Ng.)
Octave Tutorial
2021-08-18
Tags: #Octave #MachineLearning
还是要在实践中学习Octave
为什么吴恩达说Octave比Python好呢?
或许这里涉及到编程与建模的区别?
建模的目的是快速实现一个模型, 像 Matlab Octave Labview之类的软件的目标就是快速建模, 而编程语言像是Python之类的, 他们的目的偏向于 建立一个模型的可靠的应用实例, 不仅要实现, 还需要可靠, 性能需要优化
但是像IPython Console,...
11/19/2023
的表示为:
hJ(θ)=g(Xθ)=−m1⋅[yTlog(h)+(1−y)Tlog(1−h)]