We are currently solving the following issue within our repository. Here is the issue text:
--- BEGIN ISSUE ---
LightGBMTunerCV not working for regression objective
The script https://github.com/optuna/optuna/blob/master/examples/lightgbm_tuner_cv.py runs just fine as it is. However, I get a `KeyError: 'mse-mean'` if I change the `objective` to `regression` and `metric` to `mse`. Similar erro happens to other metrics as well when the `objective` is set to `regression`.

## Environment

- Optuna version: 2.0.0
- Python version: 3.7
- OS: MacOS Catalina

## Error messages, stack traces, or logs

```
---------------------------------------------------------------------------
KeyError                                  Traceback (most recent call last)
<ipython-input-11-7753103b8251> in <module>
     15 )
     16 
---> 17 tuner.run()
     18 
     19 print("Best score:", tuner.best_score)

/usr/local/lib/python3.7/site-packages/optuna/integration/_lightgbm_tuner/optimize.py in run(self)
    461         self.sample_train_set()
    462 
--> 463         self.tune_feature_fraction()
    464         self.tune_num_leaves()
    465         self.tune_bagging()

/usr/local/lib/python3.7/site-packages/optuna/integration/_lightgbm_tuner/optimize.py in tune_feature_fraction(self, n_trials)
    486 
    487         sampler = optuna.samplers.GridSampler({param_name: param_values})
--> 488         self._tune_params([param_name], len(param_values), sampler, "feature_fraction")
    489 
    490     def tune_num_leaves(self, n_trials: int = 20) -> None:

/usr/local/lib/python3.7/site-packages/optuna/integration/_lightgbm_tuner/optimize.py in _tune_params(self, target_param_names, n_trials, sampler, step_name)
    567                 timeout=_timeout,
    568                 catch=(),
--> 569                 callbacks=self._optuna_callbacks,
    570             )
    571 

/usr/local/lib/python3.7/site-packages/optuna/study.py in optimize(self, func, n_trials, timeout, n_jobs, catch, callbacks, gc_after_trial, show_progress_bar)
    290             if n_jobs == 1:
    291                 self._optimize_sequential(
--> 292                     func, n_trials, timeout, catch, callbacks, gc_after_trial, None
    293                 )
    294             else:

/usr/local/lib/python3.7/site-packages/optuna/study.py in _optimize_sequential(self, func, n_trials, timeout, catch, callbacks, gc_after_trial, time_start)
    652                     break
    653 
--> 654             self._run_trial_and_callbacks(func, catch, callbacks, gc_after_trial)
    655 
    656             self._progress_bar.update((datetime.datetime.now() - time_start).total_seconds())

/usr/local/lib/python3.7/site-packages/optuna/study.py in _run_trial_and_callbacks(self, func, catch, callbacks, gc_after_trial)
    683         # type: (...) -> None
    684 
--> 685         trial = self._run_trial(func, catch, gc_after_trial)
    686         if callbacks is not None:
    687             frozen_trial = copy.deepcopy(self._storage.get_trial(trial._trial_id))

/usr/local/lib/python3.7/site-packages/optuna/study.py in _run_trial(self, func, catch, gc_after_trial)
    707 
    708         try:
--> 709             result = func(trial)
    710         except exceptions.TrialPruned as e:
    711             message = "Trial {} pruned. {}".format(trial_number, str(e))

/usr/local/lib/python3.7/site-packages/optuna/integration/_lightgbm_tuner/optimize.py in __call__(self, trial)
    302         cv_results = lgb.cv(self.lgbm_params, self.train_set, **self.lgbm_kwargs)
    303 
--> 304         val_scores = self._get_cv_scores(cv_results)
    305         val_score = val_scores[-1]
    306         elapsed_secs = time.time() - start_time

/usr/local/lib/python3.7/site-packages/optuna/integration/_lightgbm_tuner/optimize.py in _get_cv_scores(self, cv_results)
    292 
    293         metric = self._get_metric_for_objective()
--> 294         val_scores = cv_results["{}-mean".format(metric)]
    295         return val_scores
    296 

KeyError: 'mse-mean'
```

## Steps to reproduce

1. Run [this script](https://github.com/optuna/optuna/blob/master/examples/lightgbm_tuner_cv.py) with objective = regression and metric = mse. 


--- END ISSUE ---

Below are some code segments, each from a relevant file. One or more of these files may contain bugs.
--- BEGIN FILES ---
Path: `optuna/integration/_lightgbm_tuner/alias.py`
Content:
```
1 from typing import Any
2 from typing import Dict
3 from typing import List  # NOQA
4 
5 
6 _ALIAS_GROUP_LIST = [
7     {"param_name": "bagging_fraction", "alias_names": ["sub_row", "subsample", "bagging"]},
8     {"param_name": "learning_rate", "alias_names": ["shrinkage_rate", "eta"]},
9     {
10         "param_name": "min_data_in_leaf",
11         "alias_names": ["min_data_per_leaf", "min_data", "min_child_samples"],
12     },
13     {
14         "param_name": "min_sum_hessian_in_leaf",
15         "alias_names": [
16             "min_sum_hessian_per_leaf",
17             "min_sum_hessian",
18             "min_hessian",
19             "min_child_weight",
20         ],
21     },
22     {"param_name": "bagging_freq", "alias_names": ["subsample_freq"]},
23     {"param_name": "feature_fraction", "alias_names": ["sub_feature", "colsample_bytree"]},
24     {"param_name": "lambda_l1", "alias_names": ["reg_alpha"]},
25     {"param_name": "lambda_l2", "alias_names": ["reg_lambda", "lambda"]},
26     {"param_name": "min_gain_to_split", "alias_names": ["min_split_gain"]},
27 ]  # type: List[Dict[str, Any]]
28 
29 
30 def _handling_alias_parameters(lgbm_params: Dict[str, Any]) -> None:
31     """Handling alias parameters."""
32 
33     for alias_group in _ALIAS_GROUP_LIST:
34         param_name = alias_group["param_name"]
35         alias_names = alias_group["alias_names"]
36 
37         for alias_name in alias_names:
38             if alias_name in lgbm_params:
39                 lgbm_params[param_name] = lgbm_params[alias_name]
40                 del lgbm_params[alias_name]
41 
42 
43 _ALIAS_METRIC_LIST = [
44     {
45         "metric_name": "ndcg",
46         "alias_names": [
47             "lambdarank",
48             "rank_xendcg",
49             "xendcg",
50             "xe_ndcg",
51             "xe_ndcg_mart",
52             "xendcg_mart",
53         ],
54     },
55     {"metric_name": "map", "alias_names": ["mean_average_precision"]},
56 ]  # type: List[Dict[str, Any]]
57 
58 
59 def _handling_alias_metrics(lgbm_params: Dict[str, Any]) -> None:
60     """Handling alias metrics."""
61 
62     if "metric" not in lgbm_params.keys():
63         return
64 
65     for metric in _ALIAS_METRIC_LIST:
66         metric_name = metric["metric_name"]
67         alias_names = metric["alias_names"]
68 
69         for alias_name in alias_names:
70             if lgbm_params["metric"] == alias_name:
71                 lgbm_params["metric"] = metric_name
72                 break
73
```
--- END FILES ---

Please first localize the bug based on the issue statement, and then generate a patch according to the `git diff` format fenced by three backticks.

Here is an example:

```diff
diff --git a/examples/server_async.py b/examples/server_async.py
--- a/examples/server_async.py
+++ b/examples/server_async.py
@@ -313,4 +313,4 @@
 
 
 if __name__ == "__main__":
-    asyncio.run(run_async_server("."), debug=True)
+    asyncio.run(run_async_server(), debug=True)
diff --git a/examples/server_sync.py b/examples/server_sync.py
--- a/examples/server_sync.py
+++ b/examples/server_sync.py
@@ -313,5 +313,5 @@
 
 
 if __name__ == "__main__":
-    server = run_sync_server(".")
+    server = run_sync_server()
     server.shutdown()

```

diff --git a/optuna/integration/_lightgbm_tuner/alias.py b/optuna/integration/_lightgbm_tuner/alias.py
--- a/optuna/integration/_lightgbm_tuner/alias.py
+++ b/optuna/integration/_lightgbm_tuner/alias.py
@@ -53,6 +53,10 @@
         ],
     },
     {"metric_name": "map", "alias_names": ["mean_average_precision"]},
+    {
+        "metric_name": "l2",
+        "alias_names": ["regression", "regression_l2", "l2", "mean_squared_error", "mse"],
+    },
 ]  # type: List[Dict[str, Any]]

{"golden_diff": "diff --git a/optuna/integration/_lightgbm_tuner/alias.py b/optuna/integration/_lightgbm_tuner/alias.py\n--- a/optuna/integration/_lightgbm_tuner/alias.py\n+++ b/optuna/integration/_lightgbm_tuner/alias.py\n@@ -53,6 +53,10 @@\n         ],\n     },\n     {\"metric_name\": \"map\", \"alias_names\": [\"mean_average_precision\"]},\n+    {\n+        \"metric_name\": \"l2\",\n+        \"alias_names\": [\"regression\", \"regression_l2\", \"l2\", \"mean_squared_error\", \"mse\"],\n+    },\n ]  # type: List[Dict[str, Any]]\n", "issue": "LightGBMTunerCV not working for regression objective\nThe script https://github.com/optuna/optuna/blob/master/examples/lightgbm_tuner_cv.py runs just fine as it is. However, I get a `KeyError: 'mse-mean'` if I change the `objective` to `regression` and `metric` to `mse`. Similar erro happens to other metrics as well when the `objective` is set to `regression`.\r\n\r\n## Environment\r\n\r\n- Optuna version: 2.0.0\r\n- Python version: 3.7\r\n- OS: MacOS Catalina\r\n\r\n## Error messages, stack traces, or logs\r\n\r\n```\r\n---------------------------------------------------------------------------\r\nKeyError                                  Traceback (most recent call last)\r\n<ipython-input-11-7753103b8251> in <module>\r\n     15 )\r\n     16 \r\n---> 17 tuner.run()\r\n     18 \r\n     19 print(\"Best score:\", tuner.best_score)\r\n\r\n/usr/local/lib/python3.7/site-packages/optuna/integration/_lightgbm_tuner/optimize.py in run(self)\r\n    461         self.sample_train_set()\r\n    462 \r\n--> 463         self.tune_feature_fraction()\r\n    464         self.tune_num_leaves()\r\n    465         self.tune_bagging()\r\n\r\n/usr/local/lib/python3.7/site-packages/optuna/integration/_lightgbm_tuner/optimize.py in tune_feature_fraction(self, n_trials)\r\n    486 \r\n    487         sampler = optuna.samplers.GridSampler({param_name: param_values})\r\n--> 488         self._tune_params([param_name], len(param_values), sampler, \"feature_fraction\")\r\n    489 \r\n    490     def tune_num_leaves(self, n_trials: int = 20) -> None:\r\n\r\n/usr/local/lib/python3.7/site-packages/optuna/integration/_lightgbm_tuner/optimize.py in _tune_params(self, target_param_names, n_trials, sampler, step_name)\r\n    567                 timeout=_timeout,\r\n    568                 catch=(),\r\n--> 569                 callbacks=self._optuna_callbacks,\r\n    570             )\r\n    571 \r\n\r\n/usr/local/lib/python3.7/site-packages/optuna/study.py in optimize(self, func, n_trials, timeout, n_jobs, catch, callbacks, gc_after_trial, show_progress_bar)\r\n    290             if n_jobs == 1:\r\n    291                 self._optimize_sequential(\r\n--> 292                     func, n_trials, timeout, catch, callbacks, gc_after_trial, None\r\n    293                 )\r\n    294             else:\r\n\r\n/usr/local/lib/python3.7/site-packages/optuna/study.py in _optimize_sequential(self, func, n_trials, timeout, catch, callbacks, gc_after_trial, time_start)\r\n    652                     break\r\n    653 \r\n--> 654             self._run_trial_and_callbacks(func, catch, callbacks, gc_after_trial)\r\n    655 \r\n    656             self._progress_bar.update((datetime.datetime.now() - time_start).total_seconds())\r\n\r\n/usr/local/lib/python3.7/site-packages/optuna/study.py in _run_trial_and_callbacks(self, func, catch, callbacks, gc_after_trial)\r\n    683         # type: (...) -> None\r\n    684 \r\n--> 685         trial = self._run_trial(func, catch, gc_after_trial)\r\n    686         if callbacks is not None:\r\n    687             frozen_trial = copy.deepcopy(self._storage.get_trial(trial._trial_id))\r\n\r\n/usr/local/lib/python3.7/site-packages/optuna/study.py in _run_trial(self, func, catch, gc_after_trial)\r\n    707 \r\n    708         try:\r\n--> 709             result = func(trial)\r\n    710         except exceptions.TrialPruned as e:\r\n    711             message = \"Trial {} pruned. {}\".format(trial_number, str(e))\r\n\r\n/usr/local/lib/python3.7/site-packages/optuna/integration/_lightgbm_tuner/optimize.py in __call__(self, trial)\r\n    302         cv_results = lgb.cv(self.lgbm_params, self.train_set, **self.lgbm_kwargs)\r\n    303 \r\n--> 304         val_scores = self._get_cv_scores(cv_results)\r\n    305         val_score = val_scores[-1]\r\n    306         elapsed_secs = time.time() - start_time\r\n\r\n/usr/local/lib/python3.7/site-packages/optuna/integration/_lightgbm_tuner/optimize.py in _get_cv_scores(self, cv_results)\r\n    292 \r\n    293         metric = self._get_metric_for_objective()\r\n--> 294         val_scores = cv_results[\"{}-mean\".format(metric)]\r\n    295         return val_scores\r\n    296 \r\n\r\nKeyError: 'mse-mean'\r\n```\r\n\r\n## Steps to reproduce\r\n\r\n1. Run [this script](https://github.com/optuna/optuna/blob/master/examples/lightgbm_tuner_cv.py) with objective = regression and metric = mse. \r\n\n", "before_files": [{"content": "from typing import Any\nfrom typing import Dict\nfrom typing import List  # NOQA\n\n\n_ALIAS_GROUP_LIST = [\n    {\"param_name\": \"bagging_fraction\", \"alias_names\": [\"sub_row\", \"subsample\", \"bagging\"]},\n    {\"param_name\": \"learning_rate\", \"alias_names\": [\"shrinkage_rate\", \"eta\"]},\n    {\n        \"param_name\": \"min_data_in_leaf\",\n        \"alias_names\": [\"min_data_per_leaf\", \"min_data\", \"min_child_samples\"],\n    },\n    {\n        \"param_name\": \"min_sum_hessian_in_leaf\",\n        \"alias_names\": [\n            \"min_sum_hessian_per_leaf\",\n            \"min_sum_hessian\",\n            \"min_hessian\",\n            \"min_child_weight\",\n        ],\n    },\n    {\"param_name\": \"bagging_freq\", \"alias_names\": [\"subsample_freq\"]},\n    {\"param_name\": \"feature_fraction\", \"alias_names\": [\"sub_feature\", \"colsample_bytree\"]},\n    {\"param_name\": \"lambda_l1\", \"alias_names\": [\"reg_alpha\"]},\n    {\"param_name\": \"lambda_l2\", \"alias_names\": [\"reg_lambda\", \"lambda\"]},\n    {\"param_name\": \"min_gain_to_split\", \"alias_names\": [\"min_split_gain\"]},\n]  # type: List[Dict[str, Any]]\n\n\ndef _handling_alias_parameters(lgbm_params: Dict[str, Any]) -> None:\n    \"\"\"Handling alias parameters.\"\"\"\n\n    for alias_group in _ALIAS_GROUP_LIST:\n        param_name = alias_group[\"param_name\"]\n        alias_names = alias_group[\"alias_names\"]\n\n        for alias_name in alias_names:\n            if alias_name in lgbm_params:\n                lgbm_params[param_name] = lgbm_params[alias_name]\n                del lgbm_params[alias_name]\n\n\n_ALIAS_METRIC_LIST = [\n    {\n        \"metric_name\": \"ndcg\",\n        \"alias_names\": [\n            \"lambdarank\",\n            \"rank_xendcg\",\n            \"xendcg\",\n            \"xe_ndcg\",\n            \"xe_ndcg_mart\",\n            \"xendcg_mart\",\n        ],\n    },\n    {\"metric_name\": \"map\", \"alias_names\": [\"mean_average_precision\"]},\n]  # type: List[Dict[str, Any]]\n\n\ndef _handling_alias_metrics(lgbm_params: Dict[str, Any]) -> None:\n    \"\"\"Handling alias metrics.\"\"\"\n\n    if \"metric\" not in lgbm_params.keys():\n        return\n\n    for metric in _ALIAS_METRIC_LIST:\n        metric_name = metric[\"metric_name\"]\n        alias_names = metric[\"alias_names\"]\n\n        for alias_name in alias_names:\n            if lgbm_params[\"metric\"] == alias_name:\n                lgbm_params[\"metric\"] = metric_name\n                break\n", "path": "optuna/integration/_lightgbm_tuner/alias.py"}], "after_files": [{"content": "from typing import Any\nfrom typing import Dict\nfrom typing import List  # NOQA\n\n\n_ALIAS_GROUP_LIST = [\n    {\"param_name\": \"bagging_fraction\", \"alias_names\": [\"sub_row\", \"subsample\", \"bagging\"]},\n    {\"param_name\": \"learning_rate\", \"alias_names\": [\"shrinkage_rate\", \"eta\"]},\n    {\n        \"param_name\": \"min_data_in_leaf\",\n        \"alias_names\": [\"min_data_per_leaf\", \"min_data\", \"min_child_samples\"],\n    },\n    {\n        \"param_name\": \"min_sum_hessian_in_leaf\",\n        \"alias_names\": [\n            \"min_sum_hessian_per_leaf\",\n            \"min_sum_hessian\",\n            \"min_hessian\",\n            \"min_child_weight\",\n        ],\n    },\n    {\"param_name\": \"bagging_freq\", \"alias_names\": [\"subsample_freq\"]},\n    {\"param_name\": \"feature_fraction\", \"alias_names\": [\"sub_feature\", \"colsample_bytree\"]},\n    {\"param_name\": \"lambda_l1\", \"alias_names\": [\"reg_alpha\"]},\n    {\"param_name\": \"lambda_l2\", \"alias_names\": [\"reg_lambda\", \"lambda\"]},\n    {\"param_name\": \"min_gain_to_split\", \"alias_names\": [\"min_split_gain\"]},\n]  # type: List[Dict[str, Any]]\n\n\ndef _handling_alias_parameters(lgbm_params: Dict[str, Any]) -> None:\n    \"\"\"Handling alias parameters.\"\"\"\n\n    for alias_group in _ALIAS_GROUP_LIST:\n        param_name = alias_group[\"param_name\"]\n        alias_names = alias_group[\"alias_names\"]\n\n        for alias_name in alias_names:\n            if alias_name in lgbm_params:\n                lgbm_params[param_name] = lgbm_params[alias_name]\n                del lgbm_params[alias_name]\n\n\n_ALIAS_METRIC_LIST = [\n    {\n        \"metric_name\": \"ndcg\",\n        \"alias_names\": [\n            \"lambdarank\",\n            \"rank_xendcg\",\n            \"xendcg\",\n            \"xe_ndcg\",\n            \"xe_ndcg_mart\",\n            \"xendcg_mart\",\n        ],\n    },\n    {\"metric_name\": \"map\", \"alias_names\": [\"mean_average_precision\"]},\n    {\n        \"metric_name\": \"l2\",\n        \"alias_names\": [\"regression\", \"regression_l2\", \"l2\", \"mean_squared_error\", \"mse\"],\n    },\n]  # type: List[Dict[str, Any]]\n\n\ndef _handling_alias_metrics(lgbm_params: Dict[str, Any]) -> None:\n    \"\"\"Handling alias metrics.\"\"\"\n\n    if \"metric\" not in lgbm_params.keys():\n        return\n\n    for metric in _ALIAS_METRIC_LIST:\n        metric_name = metric[\"metric_name\"]\n        alias_names = metric[\"alias_names\"]\n\n        for alias_name in alias_names:\n            if lgbm_params[\"metric\"] == alias_name:\n                lgbm_params[\"metric\"] = metric_name\n                break\n", "path": "optuna/integration/_lightgbm_tuner/alias.py"}]}